pkc_intro(3sec)Introduction to trust list facilities Description This reference page describes the data types used by the trust list facility. Overview of the Facility Retrieving keys using this API is a three step process. The first step involves creating a pkc structure called a trust list, which reflects the caller's initial trust. A trust list is a list of {name, key} pairs or certificates that are trusted apriori. An empty trust list is created through a call to the routine pkc_init_trustlist(3sec), and entries are inserted into a trust list by a call to pkc_append_to_trustlist(3sec). Once the trust list is complete, the application should next call pkc_init_trustbase(3sec). This routine takes the trust list and processes it to produce a structure called a trust base, which reflects any transitive trust, independent of the name of any desired target. Creation of the trust base (and the prerequisite trust list) is expected to be performed at application startup, although it can be done any time prior to key retrieval. All processing up to this point is independent of the name(s) of principals whose keys are to be retrieved, and the trust base may be used for multiple key retrieval operations. Once a trust base has been obtained, it may be used for key retrieval. Keys are retrieved for a given target principal using the pkc_retrieve_keys(3sec) routine, which takes a trust base and a name and returns an array of keys. Data Structures The following data structures are used by the trust list facilities. · The trust_type_t type consists of an enumeration of the different possible varieties of trust:
- UNTRUSTED
- DIRECT_TRUST
- CERTIFIED_TRUST · The certification_flags_t structure describes the trust that can be placed in a returned key. It contains the following fields:
- trust_type
- missing_crls
- revoked · The cert_t structure contains the following fields:
- version
- cert
- size · The trusted_key_t structure contains the following fields:
- version
- ca
- key
- size
- startDate
- endDate · The trustitem_t structure holds either a key, or a certificate. It has the following fields:
- type - Depending on the value of type, the structure additionally contains a trusted_key_t (if IS_KEY) or a cert_t (if IS_CERT). · The selection_t structure is defined for future enhancements that will enable users to specify usages for the key being retrieved. However, its contents are currently ignored. Related Information
Functions:
|