summaryrefslogtreecommitdiff
path: root/usr/src/lib/libkmf/include
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libkmf/include')
-rw-r--r--usr/src/lib/libkmf/include/kmfapi.h3
-rw-r--r--usr/src/lib/libkmf/include/kmfapiP.h23
-rw-r--r--usr/src/lib/libkmf/include/kmftypes.h16
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 */