KM_ImportP12File
Import a certificate and private key from a PKCS #12 file.
Synopsis
#include <kmlib.h>
CK_RV KM_ImportP12File ( CK_SESSION_HANDLE hSession, CK_CHAR * pszFileName, CK_ATTRIBUTE * pPrivateKeyTpl, CK_COUNT privateKeyTplSize, CK_ATTRIBUTE * pCertTpl, CK_COUNT certTplSize, CK_OBJECT_HANDLE * phPrivateKey, CK_OBJECT_HANDLE * phCert );
Parameter | Description |
---|---|
hSession | Handle to an open session. |
pszFileName | Fully qualified name of the file to import from. |
pPrivateKeyTpl | The attribute template the private key will have. Must have all boolean attributes that need to be TRUE, as well as the label. No other attributes are required. |
privateKeyTplSize | The number of attributes in pPrivateKeyTpl. |
pCertTpl | The attribute template the certificate will have. Must have all boolean attributes that need to be TRUE, as well as the label. No other attributes are required. |
certTplSize | The number of attributes in pCertTpl. |
phPrivateKey | Location to hold the handle of the resulting private key. |
phCert | Location to store the handle of the resulting certificate. |
Returns
CKR_ARGUMENTS_BAD CKR_ATTRIBUTE_READ_ONLY CKR_ATTRIBUTE_TYPE_INVALID CKR_ATTRIBUTE_VALUE_INVALID CKR_BUFFER_TOO_SMALL CKR_CRYPTOKI_NOT_INITIALIZED CKR_DATA_LEN_RANGE CKR_DEVICE_ERROR CKR_DEVICE_MEMORY CKR_DEVICE_REMOVED CKR_ENCRYPTED_DATA_INVALID CKR_ENCRYPTED_DATA_LEN_RANGE CKR_FUNCTION_CANCELED CKR_FUNCTION_FAILED CKR_GENERAL_ERROR CKR_HOST_MEMORY CKR_KEY_FUNCTION_NOT_PERMITTED CKR_KEY_HANDLE_INVALID CKR_KEY_SIZE_RANGE CKR_KEY_TYPE_INCONSISTENT CKR_MECHANISM_INVALID CKR_MECHANISM_PARAM_INVALID CKR_OBJECT_HANDLE_INVALID CKR_OK CKR_OPERATION_ACTIVE CKR_OPERATION_NOT_INITIALIZED CKR_SESSION_CLOSED CKR_SESSION_HANDLE_INVALID CKR_SESSION_READ_ONLY CKR_SIGNATURE_INVALID CKR_SIGNATURE_LEN_RANGE CKR_TEMPLATE_INCOMPLETE CKR_TEMPLATE_INCONSISTENT CKR_TOKEN_WRITE_PROTECTED CKR_USER_NOT_LOGGED_IN