CryptoAuthLib v3.7.6
Microchip CryptoAuthentication Library
 
Loading...
Searching...
No Matches
pkcs11_object.h File Reference

PKCS11 Library Object Handling. More...

#include "cryptoauthlib.h"
#include "cryptoki.h"
#include "pkcs11_config.h"
#include "pkcs11_attrib.h"

Data Structures

struct  pkcs11_object_s
 
struct  pkcs11_object_cache_s
 

Macros

#define PKCS11_OBJECT_FLAG_DESTROYABLE   (0x01U)
 
#define PKCS11_OBJECT_FLAG_MODIFIABLE   (0x02U)
 
#define PKCS11_OBJECT_FLAG_DYNAMIC   (0x04U)
 
#define PKCS11_OBJECT_FLAG_SENSITIVE   (0x08U)
 
#define PKCS11_OBJECT_FLAG_TA_TYPE   (0x10U)
 
#define PKCS11_OBJECT_FLAG_TRUST_TYPE   (0x20U)
 
#define PKCS11_OBJECT_FLAG_CERT_CACHE   (0x40U)
 
#define PKCS11_OBJECT_FLAG_KEY_CACHE   (0x80U)
 
#define PKCS11_OBJECT_FLAG_KEY_CACHE_COMPLEMENT   ~(PKCS11_OBJECT_FLAG_KEY_CACHE & 0xffu)
 
#define PKCS11_OBJECT_FLAG_CERT_CACHE_COMPLEMENT   ~(PKCS11_OBJECT_FLAG_CERT_CACHE & 0xffu)
 

Typedefs

typedef struct pkcs11_object_s pkcs11_object
 
typedef struct pkcs11_object_cache_s pkcs11_object_cache_t
 

Functions

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_find (CK_SLOT_ID slotId, pkcs11_object_ptr *ppObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
 
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_object_deinit (pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_object_get_owner (pkcs11_object_ptr pObject, CK_SLOT_ID_PTR pSlotId)
 
ATCA_STATUS pkcs11_object_load_handle_info (ATCADevice device, pkcs11_lib_ctx_ptr pContext)
 
CK_RV pkcs11_object_get_class (CK_VOID_PTR pObject, CK_ATTRIBUTE_PTR pAttribute, pkcs11_session_ctx_ptr pSession)
 
CK_RV pkcs11_object_get_name (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_get_handle (pkcs11_object_ptr pObject, CK_OBJECT_HANDLE_PTR phObject)
 
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.
 

Variables

pkcs11_object_cache_t pkcs11_object_cache []
 
const pkcs11_attrib_model pkcs11_object_monotonic_attributes []
 
const CK_ULONG pkcs11_object_monotonic_attributes_count
 

Detailed Description

PKCS11 Library Object Handling.