diff options
Diffstat (limited to 'usr/src/lib/libkmf/include')
-rw-r--r-- | usr/src/lib/libkmf/include/kmfapi.h | 3 | ||||
-rw-r--r-- | usr/src/lib/libkmf/include/kmfapiP.h | 23 | ||||
-rw-r--r-- | usr/src/lib/libkmf/include/kmftypes.h | 16 |
3 files changed, 34 insertions, 8 deletions
diff --git a/usr/src/lib/libkmf/include/kmfapi.h b/usr/src/lib/libkmf/include/kmfapi.h index ad732f6ffd..85a54175ca 100644 --- a/usr/src/lib/libkmf/include/kmfapi.h +++ b/usr/src/lib/libkmf/include/kmfapi.h @@ -289,6 +289,9 @@ extern char *kmf_ku_to_string(uint32_t); extern KMF_RETURN kmf_hexstr_to_bytes(unsigned char *, unsigned char **, size_t *); +extern KMF_RETURN kmf_get_plugin_info(KMF_HANDLE_T, char *, + KMF_KEYSTORE_TYPE *, char **); + #define KMF_CompareRDNs kmf_compare_rdns /* diff --git a/usr/src/lib/libkmf/include/kmfapiP.h b/usr/src/lib/libkmf/include/kmfapiP.h index ac89acb565..948f3acfb8 100644 --- a/usr/src/lib/libkmf/include/kmfapiP.h +++ b/usr/src/lib/libkmf/include/kmfapiP.h @@ -330,6 +330,29 @@ typedef enum { #define OCSPREQ_TEMPNAME "/tmp/ocsp.reqXXXXXX" #define OCSPRESP_TEMPNAME "/tmp/ocsp.respXXXXXX" +#define _PATH_KMF_CONF "/etc/crypto/kmf.conf" +#define CONF_MODULEPATH "modulepath=" +#define CONF_OPTION "option=" + +typedef struct { + char *keystore; + char *modulepath; + char *option; + KMF_KEYSTORE_TYPE kstype; +} conf_entry_t; + +typedef struct conf_entrylist { + conf_entry_t *entry; + struct conf_entrylist *next; +} conf_entrylist_t; + + +extern KMF_RETURN get_entrylist(conf_entrylist_t **); +extern void free_entrylist(conf_entrylist_t *); +extern void free_entry(conf_entry_t *); +extern conf_entry_t *dup_entry(conf_entry_t *); +boolean_t is_valid_keystore_type(KMF_KEYSTORE_TYPE); + #ifdef __cplusplus } #endif diff --git a/usr/src/lib/libkmf/include/kmftypes.h b/usr/src/lib/libkmf/include/kmftypes.h index 211525f974..cb970800db 100644 --- a/usr/src/lib/libkmf/include/kmftypes.h +++ b/usr/src/lib/libkmf/include/kmftypes.h @@ -74,14 +74,12 @@ typedef struct KMF_X509_PRIVATE kmf_private; } KMF_X509_DER_CERT; -typedef enum { - KMF_KEYSTORE_NSS = 1, - KMF_KEYSTORE_OPENSSL = 2, - KMF_KEYSTORE_PK11TOKEN = 3, - KMF_KEYSTORE_DEFAULT /* based on configuration */ -} KMF_KEYSTORE_TYPE; +typedef int KMF_KEYSTORE_TYPE; +#define KMF_KEYSTORE_NSS 1 +#define KMF_KEYSTORE_OPENSSL 2 +#define KMF_KEYSTORE_PK11TOKEN 3 -#define VALID_KEYSTORE_TYPE(t) ((t >= KMF_KEYSTORE_NSS) &&\ +#define VALID_DEFAULT_KEYSTORE_TYPE(t) ((t >= KMF_KEYSTORE_NSS) &&\ (t <= KMF_KEYSTORE_PK11TOKEN)) typedef enum { @@ -291,6 +289,7 @@ typedef enum { KMF_ERR_OCSP_RESPONSE_STATUS = 0x2f, KMF_ERR_OCSP_NO_BASIC_RESPONSE = 0x30, KMF_ERR_OCSP_BAD_SIGNER = 0x31, + KMF_ERR_OCSP_RESPONSE_SIGNATURE = 0x32, KMF_ERR_OCSP_UNKNOWN_CERT = 0x33, KMF_ERR_OCSP_STATUS_TIME_INVALID = 0x34, @@ -325,7 +324,8 @@ typedef enum { KMF_ERR_SENSITIVE_KEY = 0x51, KMF_ERR_UNEXTRACTABLE_KEY = 0x52, KMF_ERR_KEY_MISMATCH = 0x53, - KMF_ERR_ATTR_NOT_FOUND = 0x54 + KMF_ERR_ATTR_NOT_FOUND = 0x54, + KMF_ERR_KMF_CONF = 0x55 } KMF_RETURN; /* Data structures for OCSP support */ |