Feature #2260
Updated by Yingdi Yu almost 11 years ago
We need an expression to indicate a particular KeyChain component (e.g., a instance of Pib or Tpm).
Such an indicator can facilitate KeyChain configuration.
The indicator is defined as a name with following naming convention:
[scheme]:[location] ndn:/localhost/keychain/[component_class]/[component_type]
ndn:/localhost/keychain/[component_class]/[component_type]/[component_location]
Note that this name is just an indicator, i.e., it is not designed to be bound with any data.
* `scheme`: `component_class`: either starts with `tpm-` `SecTpm` or `pib-`, followed by the exact `SecPib`.
* `component_type`: depends on component class. For Tpm, we define two types: `OsxKeyChain` and `File`. For Pib, we define one types: `Sqlite3`. Another Pib type of the implementation, e.g., `tpm-osxkeychain`, `tpm-file`, and `pib-sqlite3`. `LocalService` will be supported later.
* `loaction`: `component_location`: interpreted by specific component implementation. Missing `location` component_location means the default location.
Here are some examples:
tpm-file: ndn:/localhost/keychain/SecTpm/File // a file TPM at the default location (e.g., home dir)
tpm-osxkeychain:ndn ndn:/localhost/keychain/SecTpm/OsxKeyChain/ndn // an osx keychain with name "ndn"
pib-sqlite3:/example/dir ndn:/localhost/keychain/SecPib/Sqlite3/"/example/dir" // a pib at /example/dir