CryptoAuthLib v3.7.6
Microchip CryptoAuthentication Library
 
Loading...
Searching...
No Matches
Attributes (pkcs11_attrib_)

Data Structures

struct  pkcs11_conf_filedata_s
 
struct  pcks11_mech_table_e
 

Macros

#define PKCS11_CONFIG_U8_MAX   0xFFL
 
#define PKCS11_CONFIG_U16_MAX   0xFFFFL
 
#define PKCS11_CONFIG_U32_MAX   0xFFFFFFFFL
 
#define PCKS11_MECH_ECC508_EC_CAPABILITY   (CKF_EC_F_P | CKF_EC_NAMEDCURVE | CKF_EC_UNCOMPRESS)
 
#define TABLE_SIZE(x)   sizeof(x) / sizeof(x[0])
 

Typedefs

typedef struct pkcs11_conf_filedata_s pkcs11_conf_filedata
 
typedef struct pkcs11_conf_filedata_spkcs11_conf_filedata_ptr
 
typedef struct pcks11_mech_table_e pcks11_mech_table_e
 
typedef struct pcks11_mech_table_epcks11_mech_table_ptr
 

Functions

CK_RV pkcs11_attrib_fill (CK_ATTRIBUTE_PTR pAttribute, const void *pData, const CK_ULONG ulSize)
 Perform the nessasary checks and copy data into an attribute structure.
 
CK_RV pkcs11_attrib_value (CK_ATTRIBUTE_PTR pAttribute, const CK_ULONG ulValue, const CK_ULONG ulSize)
 Helper function to write a numerical value to an attribute buffer.
 
CK_RV pkcs11_attrib_false (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_attrib_true (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_attrib_empty (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_cert_load (pkcs11_object_ptr pObject, CK_ATTRIBUTE_PTR pAttribute, ATCADevice device)
 
CK_RV pkcs11_cert_x509_write (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_cert_clear_session_cache (pkcs11_session_ctx_ptr session_ctx)
 
CK_RV pkcs11_cert_clear_object_cache (pkcs11_object_ptr pObject)
 
void pkcs11_config_set_key_size (pkcs11_object_ptr pObject)
 
void pkcs11_config_init_private (pkcs11_object_ptr pObject, const char *label, size_t len)
 
void pkcs11_config_init_public (pkcs11_object_ptr pObject, const char *label, size_t len)
 
void pkcs11_config_init_secret (pkcs11_object_ptr pObject, const char *label, size_t len, size_t keylen)
 
void pkcs11_config_init_cert (pkcs11_object_ptr pObject, const char *label, size_t len)
 
void pkcs11_config_split_string (char *s, char splitter, int *argc, char *argv[])
 
CK_RV pkcs11_config_cert (pkcs11_lib_ctx_ptr pLibCtx, pkcs11_slot_ctx_ptr pSlot, pkcs11_object_ptr pObject, CK_ATTRIBUTE_PTR pLabel)
 
CK_RV pkcs11_config_key (pkcs11_lib_ctx_ptr pLibCtx, pkcs11_slot_ctx_ptr pSlot, pkcs11_object_ptr pObject, CK_ATTRIBUTE_PTR pLabel)
 
CK_RV pkcs11_config_remove_object (pkcs11_lib_ctx_ptr pLibCtx, pkcs11_slot_ctx_ptr pSlot, pkcs11_object_ptr pObject)
 
CK_RV pkcs11_config_load_objects (pkcs11_slot_ctx_ptr slot_ctx)
 
CK_RV pkcs11_config_load (pkcs11_slot_ctx_ptr slot_ctx)
 
CK_RV pkcs11_encrypt_init (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hObject)
 
CK_RV pkcs11_encrypt (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)
 
CK_RV pkcs11_encrypt_update (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)
 
CK_RV pkcs11_encrypt_final (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)
 Finishes a multiple-part encryption operation.
 
CK_RV pkcs11_decrypt_init (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hObject)
 
CK_RV pkcs11_decrypt (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
 
CK_RV pkcs11_decrypt_update (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
 
CK_RV pkcs11_decrypt_final (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
 Finishes a multiple-part decryption operation.
 
CK_RV pkcs11_find_init (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 
CK_RV pkcs11_find_continue (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)
 
CK_RV pkcs11_find_finish (CK_SESSION_HANDLE hSession)
 
CK_RV pkcs11_find_get_attribute (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 
CK_RV pkcs11_get_lib_info (CK_INFO_PTR pInfo)
 Obtains general information about Cryptoki.
 
pkcs11_lib_ctx_ptr pkcs11_get_context (void)
 Retrieve the current library context.
 
CK_RV pkcs11_lock_context (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_unlock_context (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_lock_device (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_unlock_device (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_lock_both (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_unlock_both (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_init_check (pkcs11_lib_ctx_ptr *ppContext, CK_BBOOL lock)
 Check if the library is initialized properly.
 
CK_RV pkcs11_init (CK_C_INITIALIZE_ARGS const *pInitArgs)
 Initializes the PKCS11 API Library for Cryptoauthlib.
 
CK_RV pkcs11_deinit (CK_VOID_PTR pReserved)
 
const pkcs11_key_info_tpkcs11_get_object_key_type (ATCADevice device_ctx, pkcs11_object_ptr obj_ptr)
 
CK_RV pkcs11_ta_get_pubkey (CK_VOID_PTR pObject, cal_buffer *key_buffer, pkcs11_session_ctx_ptr session_ctx)
 
CK_RV pkcs11_key_write (CK_VOID_PTR pSession, CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute)
 
CK_RV pkcs11_key_generate (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey)
 
CK_RV pkcs11_key_generate_pair (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey)
 
CK_RV pkcs11_key_derive (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey)
 
CK_RV pkcs11_key_clear_session_cache (pkcs11_session_ctx_ptr session_ctx)
 
CK_RV pkcs11_key_clear_object_cache (pkcs11_object_ptr pObject)
 
CK_RV C_Initialize (CK_VOID_PTR pInitArgs)
 Initializes Cryptoki library NOTES: If pInitArgs is a non-NULL_PTR is must dereference to a CK_C_INITIALIZE_ARGS structure.
 
CK_RV C_Finalize (CK_VOID_PTR pReserved)
 Clean up miscellaneous Cryptoki-associated resources.
 
CK_RV C_GetInfo (CK_INFO_PTR pInfo)
 Obtains general information about Cryptoki.
 
CK_RV C_GetFunctionList (CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
 Obtains entry points of Cryptoki library functions.
 
CK_RV C_GetSlotList (CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)
 Obtains a list of slots in the system.
 
CK_RV C_GetSlotInfo (CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
 Obtains information about a particular slot.
 
CK_RV C_GetTokenInfo (CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
 Obtains information about a particular token.
 
CK_RV C_GetMechanismList (CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)
 Obtains a list of mechanisms supported by a token (in a slot)
 
CK_RV C_GetMechanismInfo (CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)
 Obtains information about a particular mechanism of a token (in a slot)
 
CK_RV C_InitToken (CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)
 Initializes a token (in a slot)
 
CK_RV C_InitPIN (CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)
 Initializes the normal user's PIN.
 
CK_RV C_SetPIN (CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen)
 Modifies the PIN of the current user.
 
CK_RV C_OpenSession (CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY Notify, CK_SESSION_HANDLE_PTR phSession)
 Opens a connection between an application and a particular token or sets up an application callback for token insertion.
 
CK_RV C_CloseSession (CK_SESSION_HANDLE hSession)
 Close the given session.
 
CK_RV C_CloseAllSessions (CK_SLOT_ID slotID)
 Close all open sessions.
 
CK_RV C_GetSessionInfo (CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo)
 Retrieve information about the specified session.
 
CK_RV C_GetOperationState (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG_PTR pulOperationStateLen)
 Obtains the cryptographic operations state of a session.
 
CK_RV C_SetOperationState (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pOperationState, CK_ULONG ulOperationStateLen, CK_OBJECT_HANDLE hEncryptionKey, CK_OBJECT_HANDLE hAuthenticationKey)
 Sets the cryptographic operations state of a session.
 
CK_RV C_Login (CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)
 Login on the token in the specified session.
 
CK_RV C_Logout (CK_SESSION_HANDLE hSession)
 Log out of the token in the specified session.
 
CK_RV C_CreateObject (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)
 Create a new object on the token in the specified session using the given attribute template.
 
CK_RV C_CopyObject (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phNewObject)
 Create a copy of the object with the specified handle.
 
CK_RV C_DestroyObject (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
 Destroy the specified object.
 
CK_RV C_GetObjectSize (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize)
 Obtains the size of an object in bytes.
 
CK_RV C_GetAttributeValue (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 Obtains an attribute value of an object.
 
CK_RV C_SetAttributeValue (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 Change or set the value of the specified attributes on the specified object.
 
CK_RV C_FindObjectsInit (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 Initializes an object search in the specified session using the specified attribute template as search parameters.
 
CK_RV C_FindObjects (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)
 Continue the search for objects in the specified session.
 
CK_RV C_FindObjectsFinal (CK_SESSION_HANDLE hSession)
 Finishes an object search operation (and cleans up)
 
CK_RV C_EncryptInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initializes an encryption operation using the specified mechanism and session.
 
CK_RV C_Encrypt (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pEncryptedData, CK_ULONG_PTR pulEncryptedDataLen)
 Perform a single operation encryption operation in the specified session.
 
CK_RV C_EncryptUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
 Continues a multiple-part encryption operation.
 
CK_RV C_EncryptFinal (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastEncryptedPart, CK_ULONG_PTR pulLastEncryptedPartLen)
 Finishes a multiple-part encryption operation.
 
CK_RV C_DecryptInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initialize decryption using the specified object.
 
CK_RV C_Decrypt (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedData, CK_ULONG ulEncryptedDataLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
 Perform a single operation decryption in the given session.
 
CK_RV C_DecryptUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
 Continues a multiple-part decryption operation.
 
CK_RV C_DecryptFinal (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pLastPart, CK_ULONG_PTR pulLastPartLen)
 Finishes a multiple-part decryption operation.
 
CK_RV C_DigestInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism)
 Initializes a message-digesting operation using the specified mechanism in the specified session.
 
CK_RV C_Digest (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
 Digest the specified data in a one-pass operation and return the resulting digest.
 
CK_RV C_DigestUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
 Continues a multiple-part digesting operation.
 
CK_RV C_DigestKey (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hKey)
 Update a running digest operation by digesting a secret key with the specified handle.
 
CK_RV C_DigestFinal (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
 Finishes a multiple-part digesting operation.
 
CK_RV C_SignInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initialize a signing operation using the specified key and mechanism.
 
CK_RV C_Sign (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
 Sign the data in a single pass operation.
 
CK_RV C_SignUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
 Continues a multiple-part signature operation.
 
CK_RV C_SignFinal (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
 Finishes a multiple-part signature operation.
 
CK_RV C_SignRecoverInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initializes a signature operation, where the data can be recovered from the signature.
 
CK_RV C_SignRecover (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
 Signs single-part data, where the data can be recovered from the signature.
 
CK_RV C_VerifyInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initializes a verification operation using the specified key and mechanism.
 
CK_RV C_Verify (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
 Verifies a signature on single-part data.
 
CK_RV C_VerifyUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
 Continues a multiple-part verification operation.
 
CK_RV C_VerifyFinal (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
 Finishes a multiple-part verification operation.
 
CK_RV C_VerifyRecoverInit (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initializes a verification operation where the data is recovered from the signature.
 
CK_RV C_VerifyRecover (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen, CK_BYTE_PTR pData, CK_ULONG_PTR pulDataLen)
 Verifies a signature on single-part data, where the data is recovered from the signature.
 
CK_RV C_DigestEncryptUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
 Continues simultaneous multiple-part digesting and encryption operations.
 
CK_RV C_DecryptDigestUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
 Continues simultaneous multiple-part decryption and digesting operations.
 
CK_RV C_SignEncryptUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen, CK_BYTE_PTR pEncryptedPart, CK_ULONG_PTR pulEncryptedPartLen)
 Continues simultaneous multiple-part signature and encryption operations.
 
CK_RV C_DecryptVerifyUpdate (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pEncryptedPart, CK_ULONG ulEncryptedPartLen, CK_BYTE_PTR pPart, CK_ULONG_PTR pulPartLen)
 Continues simultaneous multiple-part decryption and verification operations.
 
CK_RV C_GenerateKey (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phKey)
 Generates a secret key using the specified mechanism.
 
CK_RV C_GenerateKeyPair (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_ATTRIBUTE_PTR pPublicKeyTemplate, CK_ULONG ulPublicKeyAttributeCount, CK_ATTRIBUTE_PTR pPrivateKeyTemplate, CK_ULONG ulPrivateKeyAttributeCount, CK_OBJECT_HANDLE_PTR phPublicKey, CK_OBJECT_HANDLE_PTR phPrivateKey)
 Generates a public-key/private-key pair using the specified mechanism.
 
CK_RV C_WrapKey (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hWrappingKey, CK_OBJECT_HANDLE hKey, CK_BYTE_PTR pWrappedKey, CK_ULONG_PTR pulWrappedKeyLen)
 Wraps (encrypts) the specified key using the specified wrapping key and mechanism.
 
CK_RV C_UnwrapKey (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hUnwrappingKey, CK_BYTE_PTR pWrappedKey, CK_ULONG ulWrappedKeyLen, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)
 Unwraps (decrypts) the specified key using the specified unwrapping key.
 
CK_RV C_DeriveKey (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hBaseKey, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulAttributeCount, CK_OBJECT_HANDLE_PTR phKey)
 Derive a key from the specified base key.
 
CK_RV C_SeedRandom (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed, CK_ULONG ulSeedLen)
 Mixes in additional seed material to the random number generator.
 
CK_RV C_GenerateRandom (CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, CK_ULONG ulRandomLen)
 Generate the specified amount of random data.
 
CK_RV C_GetFunctionStatus (CK_SESSION_HANDLE hSession)
 Legacy function - see PKCS#11 v2.40.
 
CK_RV C_CancelFunction (CK_SESSION_HANDLE hSession)
 Legacy function.
 
CK_RV C_WaitForSlotEvent (CK_FLAGS flags, CK_SLOT_ID_PTR pSlot, CK_VOID_PTR pRserved)
 Wait for a slot event (token insertion, removal, etc) on the specified slot to occur.
 
CK_RV pkcs11_mech_get_list (CK_SLOT_ID slotID, CK_MECHANISM_TYPE_PTR pMechanismList, CK_ULONG_PTR pulCount)
 
CK_RV pkcs_mech_get_info (CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)
 
CK_RV pkcs11_object_alloc (CK_SLOT_ID slotId, pkcs11_object_ptr *ppObject)
 
CK_RV pkcs11_object_free (pkcs11_object_ptr pObject)
 
CK_RV pkcs11_object_check (pkcs11_object_ptr *ppObject, CK_OBJECT_HANDLE hObject)
 
CK_RV pkcs11_object_get_handle (pkcs11_object_ptr pObject, CK_OBJECT_HANDLE_PTR phObject)
 
CK_RV pkcs11_object_get_owner (pkcs11_object_ptr pObject, CK_SLOT_ID_PTR pSlotId)
 
CK_RV pkcs11_object_get_name (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_object_get_class (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_object_get_type (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_object_get_destroyable (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_object_get_size (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ULONG_PTR pulSize)
 
CK_RV pkcs11_object_find (CK_SLOT_ID slotId, pkcs11_object_ptr *ppObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 
CK_RV pkcs11_object_create (CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)
 Create a new object on the token in the specified session using the given attribute template.
 
CK_RV pkcs11_object_destroy (CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
 Destroy the specified object.
 
CK_RV pkcs11_object_deinit (pkcs11_lib_ctx_ptr pContext)
 
ATCA_STATUS pkcs11_object_load_handle_info (ATCADevice device, pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_object_is_private (pkcs11_object_ptr pObject, CK_BBOOL *is_private, pkcs11_session_ctx_ptr pSession)
 Checks the attributes of the underlying cryptographic asset to determine if it is a private key - this changes the way the associated public key is referenced.
 
CK_RV pkcs11_os_create_mutex (CK_VOID_PTR_PTR ppMutex)
 Application callback for creating a mutex object.
 
CK_RV pkcs11_os_destroy_mutex (CK_VOID_PTR pMutex)
 
CK_RV pkcs11_os_lock_mutex (CK_VOID_PTR pMutex)
 
CK_RV pkcs11_os_unlock_mutex (CK_VOID_PTR pMutex)
 
CK_RV pkcs11_os_alloc_shared_ctx (void **ppShared, size_t size)
 
CK_RV pkcs11_os_free_shared_ctx (void *pShared, size_t size)
 
pkcs11_session_ctx_ptr pkcs11_get_session_context (CK_SESSION_HANDLE hSession)
 
CK_RV pkcs11_session_check (pkcs11_session_ctx_ptr *pSession, CK_SESSION_HANDLE hSession)
 Check if the session is initialized properly.
 
CK_RV pkcs11_reserve_resource (pkcs11_lib_ctx_ptr pContext, pkcs11_session_ctx_ptr pSession, uint8_t resource)
 
CK_RV pkcs11_release_resource (pkcs11_lib_ctx_ptr pContext, pkcs11_session_ctx_ptr pSession, uint8_t resource)
 
CK_RV pkcs11_session_open (CK_SLOT_ID slotID, CK_FLAGS flags, CK_VOID_PTR pApplication, CK_NOTIFY notify, CK_SESSION_HANDLE_PTR phSession)
 
CK_RV pkcs11_session_close (CK_SESSION_HANDLE hSession)
 
CK_RV pkcs11_session_closeall (CK_SLOT_ID slotID)
 Close all sessions for a given slot - not actually all open sessions.
 
CK_RV pkcs11_session_get_info (CK_SESSION_HANDLE hSession, CK_SESSION_INFO_PTR pInfo)
 Obtains information about a particular session.
 
CK_RV pkcs11_session_login (CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)
 
CK_RV pkcs11_session_logout (CK_SESSION_HANDLE hSession)
 
CK_RV pkcs11_signature_sign_init (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initialize a signing operation using the specified key and mechanism.
 
CK_RV pkcs11_signature_sign (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
 Sign the data in a single pass operation.
 
CK_RV pkcs11_signature_sign_continue (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
 Continues a multiple-part signature operation.
 
CK_RV pkcs11_signature_sign_finish (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
 Finishes a multiple-part signature operation.
 
CK_RV pkcs11_signature_verify_init (CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
 Initializes a verification operation using the specified key and mechanism.
 
CK_RV pkcs11_signature_verify (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
 Verifies a signature on single-part data.
 
CK_RV pkcs11_signature_verify_continue (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
 Continues a multiple-part verification operation.
 
CK_RV pkcs11_signature_verify_finish (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature, CK_ULONG ulSignatureLen)
 Finishes a multiple-part verification operation.
 
pkcs11_slot_ctx_ptr pkcs11_slot_get_context (pkcs11_lib_ctx_ptr lib_ctx, CK_SLOT_ID slotID)
 Retrieve the current slot context.
 
pkcs11_slot_ctx_ptr pkcs11_slot_get_new_context (pkcs11_lib_ctx_ptr lib_ctx)
 
CK_VOID_PTR pkcs11_slot_initslots (CK_ULONG pulCount)
 
CK_RV pkcs11_slot_deinitslots (pkcs11_lib_ctx_ptr lib_ctx)
 
CK_RV pkcs11_slot_config (CK_SLOT_ID slotID)
 
CK_RV pkcs11_slot_init (CK_SLOT_ID slotID)
 This is an internal function that initializes a pkcs11 slot - it must already have the locks in place before being called.
 
CK_RV pkcs11_slot_get_list (CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)
 
CK_RV pkcs11_slot_get_info (CK_SLOT_ID slotID, CK_SLOT_INFO_PTR pInfo)
 Obtains information about a particular slot.
 
CK_RV pkcs11_token_init (CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)
 
CK_RV pkcs11_token_get_access_type (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_token_get_writable (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_token_get_storage (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_token_get_info (CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
 Obtains information about a particular token.
 
CK_RV pkcs11_token_random (CK_SESSION_HANDLE hSession, CK_BYTE_PTR pRandomData, CK_ULONG ulRandomLen)
 Generate the specified amount of random data.
 
CK_RV pkcs11_token_convert_pin_to_key (const CK_UTF8CHAR_PTR pPin, const CK_ULONG ulPinLen, const CK_UTF8CHAR_PTR pSalt, const CK_ULONG ulSaltLen, CK_BYTE_PTR pKey, CK_ULONG ulKeyLen, pkcs11_slot_ctx_ptr slot_ctx)
 
CK_RV pkcs11_token_set_pin (CK_SESSION_HANDLE hSession, CK_UTF8CHAR_PTR pOldPin, CK_ULONG ulOldLen, CK_UTF8CHAR_PTR pNewPin, CK_ULONG ulNewLen)
 
void pkcs11_util_escape_string (CK_UTF8CHAR_PTR buf, CK_ULONG buf_len)
 
CK_RV pkcs11_util_convert_rv (ATCA_STATUS status)
 
int pkcs11_util_memset (void *dest, size_t destsz, int ch, size_t count)
 

Variables

const pkcs11_attrib_model pkcs11_cert_x509public_attributes []
 
const CK_ULONG pkcs11_cert_x509public_attributes_count = (CK_ULONG)(sizeof( pkcs11_cert_x509public_attributes ) / sizeof( pkcs11_cert_x509public_attributes [0]))
 
const pkcs11_attrib_model pkcs11_cert_wtlspublic_attributes []
 
const CK_ULONG pkcs11_cert_wtlspublic_attributes_count = (CK_ULONG)(sizeof( pkcs11_cert_wtlspublic_attributes ) / sizeof( pkcs11_cert_wtlspublic_attributes [0]))
 
const pkcs11_attrib_model pkcs11_cert_x509_attributes []
 
const CK_ULONG pkcs11_cert_x509_attributes_count = (CK_ULONG)(sizeof( pkcs11_cert_x509_attributes ) / sizeof( pkcs11_cert_x509_attributes [0]))
 
const char pkcs11_lib_manufacturer_id [] = "Microchip Technology Inc"
 
const char pkcs11_lib_description [] = "Cryptoauthlib PKCS11 Interface"
 
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p256 []
 
CK_BYTE pkcs11_x962_asn1_hdr_ec256 []
 
CK_BYTE pkcs11_key_ec_params_p256 [] = { 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07 }
 
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p224 []
 
CK_BYTE pkcs11_x962_asn1_hdr_ec224 []
 
CK_BYTE pkcs11_key_ec_params_p224 [] = { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x21 }
 
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p384 []
 
CK_BYTE pkcs11_key_ec_params_p384 [] = { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x22 }
 
CK_BYTE pkcs11_x962_asn1_hdr_ec384 []
 
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p521 []
 
CK_BYTE pkcs11_x962_asn1_hdr_ec521 []
 
CK_BYTE pkcs11_key_ec_params_p521 [] = { 0x06, 0x05, 0x2B, 0x81, 0x04, 0x00, 0x23 }
 
const pkcs11_ecc_key_info_t ec_key_data_table [4]
 
const pkcs11_rsa_key_info_t rsa_key_data_table [4]
 
const pkcs11_key_info_t key_data_table []
 
const pkcs11_attrib_model pkcs11_key_public_attributes []
 
const CK_ULONG pkcs11_key_public_attributes_count = (CK_ULONG)(sizeof( pkcs11_key_public_attributes ) / sizeof( pkcs11_key_public_attributes [0]))
 
const pkcs11_attrib_model pkcs11_key_private_attributes []
 
const CK_ULONG pkcs11_key_private_attributes_count = (CK_ULONG)(sizeof( pkcs11_key_private_attributes ) / sizeof( pkcs11_key_private_attributes [0]))
 
const pkcs11_attrib_model pkcs11_key_secret_attributes []
 
const CK_ULONG pkcs11_key_secret_attributes_count = (CK_ULONG)(sizeof( pkcs11_key_secret_attributes ) / sizeof( pkcs11_key_secret_attributes [0]))
 
pkcs11_object_cache_t pkcs11_object_cache [PKCS11_MAX_OBJECTS_ALLOWED]
 
const pkcs11_attrib_model pkcs11_object_monotonic_attributes []
 
const CK_ULONG pkcs11_object_monotonic_attributes_count = (CK_ULONG)(sizeof( pkcs11_object_monotonic_attributes ) / sizeof( pkcs11_object_monotonic_attributes [0]))
 

Detailed Description

Function Documentation

◆ pkcs11_attrib_fill()

CK_RV pkcs11_attrib_fill ( CK_ATTRIBUTE_PTR  pAttribute,
const void *  pData,
const CK_ULONG  ulSize 
)

Perform the nessasary checks and copy data into an attribute structure.

The ulValueLen field is modified to hold the exact length of the specified attribute for the object. In the special case of an attribute whose value is an array of attributes, for example CKA_WRAP_TEMPLATE, where it is passed in with pValue not NULL, then if the pValue of elements within the array is NULL_PTR then the ulValueLen of elements within the array will be set to the required length. If the pValue of elements within the array is not NULL_PTR, then the ulValueLen element of attributes within the array MUST reflect the space that the corresponding pValue points to, and pValue is filled in if there is sufficient room.Therefore it is important to initialize the contents of a buffer before calling C_GetAttributeValue to get such an array value. If any ulValueLen within the array isn't large enough, it will be set to CK_UNAVAILABLE_INFORMATION and the function will return CKR_BUFFER_TOO_SMALL, as it does if an attribute in the pTemplate argument has ulValueLen too small Note that any attribute whose value is an array of attributes is identifiable by virtue of the attribute type having the CKF_ARRAY_ATTRIBUTE bit set.

◆ pkcs11_deinit()

CK_RV pkcs11_deinit ( CK_VOID_PTR  pReserved)

◆ pkcs11_init()

CK_RV pkcs11_init ( CK_C_INITIALIZE_ARGS const *  pInitArgs)

Initializes the PKCS11 API Library for Cryptoauthlib.

◆ pkcs11_os_create_mutex()

CK_RV pkcs11_os_create_mutex ( CK_VOID_PTR_PTR  ppMutex)

Application callback for creating a mutex object.

Parameters
[in,out]ppMutexlocation to receive ptr to mutex

◆ pkcs11_session_closeall()

CK_RV pkcs11_session_closeall ( CK_SLOT_ID  slotID)

Close all sessions for a given slot - not actually all open sessions.

for specified slotid close all sessions related with it.

◆ pkcs11_session_login()

CK_RV pkcs11_session_login ( CK_SESSION_HANDLE  hSession,
CK_USER_TYPE  userType,
CK_UTF8CHAR_PTR  pPin,
CK_ULONG  ulPinLen 
)

Reserve the PKCS11_AUTH_OP_0 / PKCS11_AUTH_OP_1 based on availability

Auth operation unavailable return error

◆ pkcs11_token_init()

CK_RV pkcs11_token_init ( CK_SLOT_ID  slotID,
CK_UTF8CHAR_PTR  pPin,
CK_ULONG  ulPinLen,
CK_UTF8CHAR_PTR  pLabel 
)

Write the configuration into the device and generate new keys

Variable Documentation

◆ ec_key_data_table

const pkcs11_ecc_key_info_t ec_key_data_table[4]
Initial value:
= {
{ ATCA_KEY_TYPE_ECCP256, (CK_BYTE)ATCA_ECCP256_OID_SIZE, pkcs11_key_ec_params_p256, pkcs11_ec_pbkey_asn1_hdr_p256,
pkcs11_x962_asn1_hdr_ec256, (uint16_t)ATCA_ECCP256_ASN1_HDR_SIZE, ATCA_ECCP256_PUBKEY_SIZE, ATCA_ECCP256_MSG_SIZE, ATCA_ECCP256_SIG_SIZE }
,{ TA_KEY_TYPE_ECCP224, (CK_BYTE)TA_ECC224_OID_SIZE, pkcs11_key_ec_params_p224, pkcs11_ec_pbkey_asn1_hdr_p224,
pkcs11_x962_asn1_hdr_ec224, (uint16_t)TA_ECC224_ASN1_HDR_SIZE, TA_ECC224_PUB_KEY_SIZE, TA_SIGN_P224_MSG_SIZE, TA_SIGN_P224_SIG_SIZE },
{ TA_KEY_TYPE_ECCP384, (CK_BYTE)TA_ECC384_OID_SIZE, pkcs11_key_ec_params_p384, pkcs11_ec_pbkey_asn1_hdr_p384,
pkcs11_x962_asn1_hdr_ec384, (uint16_t)TA_ECC384_ASN1_HDR_SIZE, TA_ECC384_PUB_KEY_SIZE, TA_SIGN_P384_MSG_SIZE, TA_SIGN_P384_SIG_SIZE },
{ TA_KEY_TYPE_ECCP521, (CK_BYTE)TA_ECC521_OID_SIZE, pkcs11_key_ec_params_p521, pkcs11_ec_pbkey_asn1_hdr_p521,
pkcs11_x962_asn1_hdr_ec521, (uint16_t)TA_ECC521_ASN1_HDR_SIZE, TA_ECC521_PUB_KEY_SIZE, TA_SIGN_P521_MSG_SIZE, TA_SIGN_P521_SIG_SIZE },
}
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p521[]
Definition: pkcs11_key.c:117
CK_BYTE pkcs11_x962_asn1_hdr_ec521[]
Definition: pkcs11_key.c:129
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p224[]
Definition: pkcs11_key.c:80
CK_BYTE pkcs11_x962_asn1_hdr_ec256[]
Definition: pkcs11_key.c:72
CK_BYTE pkcs11_x962_asn1_hdr_ec384[]
Definition: pkcs11_key.c:112
CK_BYTE pkcs11_x962_asn1_hdr_ec224[]
Definition: pkcs11_key.c:91
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p256[]
Definition: pkcs11_key.c:61
CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p384[]
Definition: pkcs11_key.c:98

◆ key_data_table

const pkcs11_key_info_t key_data_table[]
Initial value:
= {
{ &ec_key_data_table[0], NULL },
{ &ec_key_data_table[1], NULL },
{ &ec_key_data_table[2], NULL },
{ &ec_key_data_table[3], NULL },
}

◆ pkcs11_cert_wtlspublic_attributes

const pkcs11_attrib_model pkcs11_cert_wtlspublic_attributes[]

CKO_CERTIFICATE (Type: CKC_WTLS) - WTLS Public Key Certificate Model

◆ pkcs11_cert_x509_attributes

const pkcs11_attrib_model pkcs11_cert_x509_attributes[]

CKO_CERTIFICATE (Type: CKC_X_509_ATTR_CERT) - X509 Attribute Certificate Model

◆ pkcs11_cert_x509public_attributes

const pkcs11_attrib_model pkcs11_cert_x509public_attributes[]

CKO_CERTIFICATE (Type: CKC_X_509) - X509 Public Key Certificate Model

◆ pkcs11_ec_pbkey_asn1_hdr_p224

CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p224[]
Initial value:
= {
0x30, 0x4e,
0x30, 0x10,
0x06, 0x07,
0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
0x06, 0x05, 0x2b, 0x81, 0x04, 0x00, 0x21,
0x03, 0x3a, 0x00,
0x04
}

ASN.1 Header for SECP224R1 public keys

◆ pkcs11_ec_pbkey_asn1_hdr_p256

CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p256[]
Initial value:
= {
0x30, 0x59,
0x30, 0x13,
0x06, 0x07,
0x2A, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07,
0x03, 0x42, 0x00,
0x04
}

ASN.1 Header for SECP256R1 public keys

◆ pkcs11_ec_pbkey_asn1_hdr_p384

CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p384[]
Initial value:
= {
0x30, 0x76,
0x30, 0x10,
0x06, 0x07,
0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
0x06, 0x05,
0x2b, 0x81, 0x04, 0x00, 0x22,
0x03, 0x62, 0x00,
0x04
}

ASN.1 Header for SECP384R1 public keys

◆ pkcs11_ec_pbkey_asn1_hdr_p521

CK_BYTE pkcs11_ec_pbkey_asn1_hdr_p521[]
Initial value:
= {
0x30, 0x81, 0x9b,
0x30, 0x10,
0x06, 0x07,
0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01,
0x06, 0x05,
0x2b, 0x81, 0x04, 0x00, 0x23,
0x03, 0x81, 0x86, 0x00,
0x04
}

ASN.1 Header for SECP521R1 public keys

◆ pkcs11_key_private_attributes

const pkcs11_attrib_model pkcs11_key_private_attributes[]

CKO_PRIVATE_KEY - Private Key Object Base Model

◆ pkcs11_key_public_attributes

const pkcs11_attrib_model pkcs11_key_public_attributes[]

CKO_PUBLIC_KEY - Public Key Object Model

◆ pkcs11_key_secret_attributes

const pkcs11_attrib_model pkcs11_key_secret_attributes[]

CKO_SECRET_KEY - Secret Key Object Base Model

◆ pkcs11_object_monotonic_attributes

const pkcs11_attrib_model pkcs11_object_monotonic_attributes[]
Initial value:
= {
{ 0x00000000UL , pkcs11_object_get_class },
{ 0x00000300UL , pkcs11_object_get_type },
{ 0x00000301UL , pkcs11_attrib_false },
{ 0x00000302UL , pkcs11_attrib_false },
{ 0x00000011UL , 0 },
}

CKA_CLASS == CKO_HW_FEATURE_TYPE CKA_HW_FEATURE_TYPE == CKH_MONOTONIC_COUNTER

◆ pkcs11_x962_asn1_hdr_ec224

CK_BYTE pkcs11_x962_asn1_hdr_ec224[]
Initial value:
= {
0x04, 0x39, 0x04
}

X.962 ASN.1 Header for EC224 public keys

◆ pkcs11_x962_asn1_hdr_ec256

CK_BYTE pkcs11_x962_asn1_hdr_ec256[]
Initial value:
= {
0x04, 0x41, 0x04
}

X.962 ASN.1 Header for EC256 public keys

◆ pkcs11_x962_asn1_hdr_ec384

CK_BYTE pkcs11_x962_asn1_hdr_ec384[]
Initial value:
= {
0x04, 0x61, 0x04
}

X.962 ASN.1 Header for EC384 public keys

◆ pkcs11_x962_asn1_hdr_ec521

CK_BYTE pkcs11_x962_asn1_hdr_ec521[]
Initial value:
= {
0x04, 0x85, 0x04
}

X.962 ASN.1 Header for EC521 public keys

◆ rsa_key_data_table

const pkcs11_rsa_key_info_t rsa_key_data_table[4]
Initial value:
= {
}