blob: 62f42ca2c165dc7e3bdd63152ecae3cf9cb1f830 [file] [log] [blame]
Yingdi Yu4e99f532014-08-25 19:40:57 -07001client.conf
2===========
3
4System configuration of NDN platform is specified in ``client.conf``.
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -07005
6The configuration file ``client.conf`` is looked up in several directories in the following order:
7
Davide Pesavento534b8412018-12-08 19:19:09 -05008- ``$HOME/.ndn``: user-specific settings
9- ``@SYSCONFDIR@/ndn`` (``/usr/local/etc/ndn``, ``/opt/local/etc/ndn``, or other, depending how the
Niv Sardi8ac87542016-12-13 15:38:06 -030010 library is configured): system-wide settings
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070011- ``/etc/ndn``: default system-wide settings
12
Yingdi Yu4e99f532014-08-25 19:40:57 -070013Here is an example of ``client.conf`` for current ndn-cxx package:
14
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070015.. literalinclude:: ../../client.conf.sample
Yingdi Yu4e99f532014-08-25 19:40:57 -070016
Yingdi Yu4e99f532014-08-25 19:40:57 -070017
18NFD
19---
20
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070021transport
Niv Sardi8ac87542016-12-13 15:38:06 -030022 FaceUri for default connection toward local NDN forwarder. Only ``unix`` and ``tcp4`` FaceUris
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070023 can be specified here.
24
25 By default, ``unix:///var/run/nfd.sock`` is used.
Yingdi Yu4e99f532014-08-25 19:40:57 -070026
Davide Pesavento534b8412018-12-08 19:19:09 -050027 .. note::
Niv Sardi8ac87542016-12-13 15:38:06 -030028 This value can be overridden using the ``NDN_CLIENT_TRANSPORT`` environment variable.
Yingdi Yu4e99f532014-08-25 19:40:57 -070029
Davide Pesavento534b8412018-12-08 19:19:09 -050030
Yingdi Yu4e99f532014-08-25 19:40:57 -070031Key Management
32--------------
33
Yingdi Yu4e99f532014-08-25 19:40:57 -070034pib
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070035 The public key information for each private key stored in TPM. The format for this setting is::
Yingdi Yu4e99f532014-08-25 19:40:57 -070036
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070037 pib=[scheme]:[location]
Yingdi Yu4e99f532014-08-25 19:40:57 -070038
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070039 Possible values for ``[scheme]``:
Yingdi Yu4e99f532014-08-25 19:40:57 -070040
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070041 * ``pib-sqlite3``: local PIB implementation with SQLite3 storage engine
42
43 Possible values for ``[location]``:
44
45 * absolute path where SQLite3 database will be stored
46 * relative path (relative to ``config.conf``)
47 * empty: default path ``$HOME/.ndn`` will be used
48
49 When ``[location]`` is empty, trailing ``:`` can be omitted. For example::
50
51 pib=pib-sqlite3
52
Niv Sardi8ac87542016-12-13 15:38:06 -030053 Changing PIB scheme without changing location is **not** allowed. If a change like this is
54 necessary, the whole backend storage must be destroyed. For example, when the default location is
55 used::
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070056
57 rm -rf ~/.ndn/ndnsec-*
58
Davide Pesavento534b8412018-12-08 19:19:09 -050059 It is not recommended to share the same directory between machines, e.g. via NFS.
Junxiao Shi67fba7f2016-09-09 13:40:05 +000060 Simultaneous access from multiple machines may cause errors.
61
Davide Pesavento534b8412018-12-08 19:19:09 -050062 .. note::
Niv Sardi8ac87542016-12-13 15:38:06 -030063 This value can be overridden using the ``NDN_CLIENT_PIB`` environment variable.
Alexander Afanasyev57e00362016-06-23 13:22:54 -070064
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070065tpm
66 Trusted Platform Module (TPM) where the private keys are stored. The format for this setting
67 is::
68
69 tpm=[scheme]:[location]
70
71 Possible values for ``[scheme]``:
72
Davide Pesavento534b8412018-12-08 19:19:09 -050073 * ``tpm-osx-keychain`` (default on macOS): secure storage of private keys in the macOS
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070074 Keychain with OS-provided access restrictions.
75
76 ``[location]`` parameter is ignored.
77
Davide Pesavento534b8412018-12-08 19:19:09 -050078 May not work for daemon applications, as user interaction may be required to access the
79 macOS Keychain.
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070080
Davide Pesavento534b8412018-12-08 19:19:09 -050081 * ``tpm-file`` (default on all other platforms): file-based storage of private keys.
Alexander Afanasyev5208d0e2015-06-03 16:42:09 -070082
83 Possible values for ``[location]``:
84
85 * absolute path to directory that will store private/public key files (unencrypted with
86 ``0700`` permission)
87 * relative path (relative to ``config.conf``)
88 * empty: default path ``$HOME/.ndn/ndnsec-tpm-file`` will be used
89
90 When ``[location]`` is empty, trailing ``:`` can be omitted. For example::
91
92 tpm=tpm-file
93
Davide Pesavento534b8412018-12-08 19:19:09 -050094 **Changing the ``tpm`` setting is only possible together with ``pib`` setting. Otherwise,
95 an error will be generated during PIB/TPM access.**
Alexander Afanasyev57e00362016-06-23 13:22:54 -070096
Davide Pesavento534b8412018-12-08 19:19:09 -050097 It is not recommended to share the same directory between machines, e.g. via NFS.
Junxiao Shi67fba7f2016-09-09 13:40:05 +000098 Simultaneous access from multiple machines may cause errors.
99
Davide Pesavento534b8412018-12-08 19:19:09 -0500100 .. note::
Niv Sardi8ac87542016-12-13 15:38:06 -0300101 This value can be overridden using the ``NDN_CLIENT_TPM`` environment variable.