client.conf¶
Description¶
System configuration of NDN platform is specified in client.conf
.
The configuration file client.conf
is looked up in several directories in the following order:
$HOME/.ndn
: user-specific settingsSYSCONFDIR/ndn
: system-wide settings (whereSYSCONFDIR
can be/usr/local/etc
,/opt/local/etc
, or other, depending on how the library is configured)/etc/ndn
: default system-wide settings
Here is an example of client.conf
for the current ndn-cxx package:
; "transport" specifies Face's default transport connection.
; The value can be a "unix:" or "tcp4:" Face URI.
;
; For example:
; unix:///var/run/nfd.sock
; tcp://192.0.2.1
; tcp4://example.com:6363
;
; The default value of this field is platform-dependent, being unix:///run/nfd.sock on Linux and
; unix:///var/run/nfd.sock on other platforms.
;
;transport=unix:///var/run/nfd.sock
; "pib" determines which Public Info Base (PIB) should used by default in applications.
; If "pib" is not specified, a platform-dependent default will be used.
; If "pib" is specified, it may have a value of:
; pib-sqlite3
;
;pib=pib-sqlite3
; "tpm" determines which Trusted Platform Module (TPM) should used by default in applications.
; If "tpm" is not specified, a platform-dependent default will be used.
; If "tpm" is specified, it may have a value of:
; tpm-osxkeychain (default on macOS)
; tpm-file (default in operating systems other than macOS)
;
;tpm=tpm-file
Forwarder¶
- transport
FaceUri for default connection toward local NDN forwarder. Only
unix
,tcp
,tcp4
, andtcp6
FaceUris can be specified here.By default,
unix:///run/nfd.sock
is used on Linux andunix:///var/run/nfd.sock
is used on other platforms.Note
This value can be overridden using the
NDN_CLIENT_TRANSPORT
environment variable.
Key Management¶
- pib
The public key information for each private key stored in TPM. The format for this setting is:
pib=[scheme]:[location]
Possible values for
[scheme]
are:pib-sqlite3
: local PIB implementation using the SQLite3 storage engine.Possible values for
[location]
:absolute path where the SQLite3 database will be stored
relative path (relative to
client.conf
)empty: the default path
$HOME/.ndn
will be used
When
[location]
is empty, the trailing:
can be omitted. For example:pib=pib-sqlite3
Changing PIB scheme without changing location is not allowed. If a change like this is necessary, the whole backend storage must be destroyed. For example, when the default location is used:
rm -rf ~/.ndn/ndnsec-*
It is not recommended to share the same directory between machines, e.g. via NFS. Simultaneous access from multiple machines may cause errors.
Note
This value can be overridden using the
NDN_CLIENT_PIB
environment variable.- tpm
Trusted Platform Module (TPM) where the private keys are stored. The format for this setting is:
tpm=[scheme]:[location]
Possible values for
[scheme]
are:tpm-osxkeychain
(default on macOS): secure storage of private keys in the macOS Keychain with OS-provided access restrictions.The
[location]
parameter is ignored.May not work for daemon applications, as user interaction may be required to access the macOS Keychain.
tpm-file
(default on all other platforms): file-based storage of private keys.Possible values for
[location]
:absolute path to directory that will store private/public key files (unencrypted with
0700
permission)relative path (relative to
client.conf
)empty: the default path
$HOME/.ndn/ndnsec-tpm-file
will be used
When
[location]
is empty, the trailing:
can be omitted. For example:tpm=tpm-file
Changing the ``tpm`` setting is only possible together with ``pib`` setting. Otherwise, an error will be generated during PIB/TPM access.
It is not recommended to share the same directory between machines, e.g. via NFS. Simultaneous access from multiple machines may cause errors.
Note
This value can be overridden using the
NDN_CLIENT_TPM
environment variable.