corePKCS11
v3.2.0
PKCS #11 Cryptoki Library
|
|
Obtains entry points of Cryptoki library functions.
{
CK_RV xResult = CKR_OK;
static CK_FUNCTION_LIST prvP11FunctionList =
{
{ CRYPTOKI_VERSION_MAJOR, CRYPTOKI_VERSION_MINOR },
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
};
if( NULL == ppFunctionList )
{
xResult = CKR_ARGUMENTS_BAD;
LogError( (
"Failed to return function pointer list. Expected a valid "
"pointer to a CK_FUNCTION_LIST, but the pointer was NULL." ) );
}
else
{
*ppFunctionList = &prvP11FunctionList;
}
return xResult;
}
All other PKCS #11 functions should be invoked using the returned function list.
- Warning
- Do not overwrite the function list.
- Parameters
-
[in] | ppFunctionList | Pointer to the location where pointer to function list will be placed. |
- Returns
- CKR_OK if successful.
CK_RV C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData, CK_ULONG ulDataLen, CK_BYTE_PTR pSignature, CK_ULONG_PTR pulSignatureLen)
Signs single-part data.
Definition: core_pkcs11_mbedtls.c:4262
CK_RV C_Finalize(CK_VOID_PTR pReserved)
Clean up miscellaneous Cryptoki-associated resources.
Definition: core_pkcs11_mbedtls.c:1414
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.
Definition: core_pkcs11_mbedtls.c:4775
CK_RV C_FindObjects(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)
Initializes an object search operation.
Definition: core_pkcs11_mbedtls.c:3397
CK_RV C_DigestFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest, CK_ULONG_PTR pulDigestLen)
Finishes a multiple-part digesting operation.
Definition: core_pkcs11_mbedtls.c:3704
CK_RV C_Initialize(CK_VOID_PTR pInitArgs)
Initializes Cryptoki.
Definition: core_pkcs11_mbedtls.c:1374
CK_RV C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)
Destroys an object.
Definition: core_pkcs11_mbedtls.c:2867
CK_RV C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type, CK_MECHANISM_INFO_PTR pInfo)
Obtains information about a particular mechanism.
Definition: core_pkcs11_mbedtls.c:1666
CK_RV C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo)
Obtains information about a particular token.
Definition: core_pkcs11_mbedtls.c:1641
CK_RV C_FindObjectsInit(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)
Initializes an object search operation.
Definition: core_pkcs11_mbedtls.c:3285
CK_RV C_Login(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen)
Logs into a token. This function is not implemented for this port.
Definition: core_pkcs11_mbedtls.c:1954
CK_RV C_GetFunctionList(CK_FUNCTION_LIST_PTR_PTR ppFunctionList)
Obtains entry points of Cryptoki library functions.
Definition: core_pkcs11_mbedtls.c:1467
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 f...
Definition: core_pkcs11_mbedtls.c:1762
CK_RV C_FindObjectsFinal(CK_SESSION_HANDLE hSession)
Finishes an object search operation.
Definition: core_pkcs11_mbedtls.c:3496
CK_RV C_GetSlotList(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList, CK_ULONG_PTR pulCount)
Obtains a list of slots in the system.
Definition: core_pkcs11_mbedtls.c:1574
CK_RV C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
Initializes a verification operation.
Definition: core_pkcs11_mbedtls.c:4613
CK_RV C_GenerateRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData, CK_ULONG ulRandomLen)
Generates random data.
Definition: core_pkcs11_mbedtls.c:5589
#define CK_DECLARE_FUNCTION(returnType, name)
Macro for defining a PKCS #11 functions.
Definition: core_pkcs11.h:75
CK_RV C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)
Creates an object.
Definition: core_pkcs11_mbedtls.c:2798
CK_RV C_CloseSession(CK_SESSION_HANDLE hSession)
Closes a session.
Definition: core_pkcs11_mbedtls.c:1895
CK_RV C_DigestInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism)
Initializes a message-digesting operation.
Definition: core_pkcs11_mbedtls.c:3545
CK_RV C_InitToken(CK_SLOT_ID slotID, CK_UTF8CHAR_PTR pPin, CK_ULONG ulPinLen, CK_UTF8CHAR_PTR pLabel)
Initializes a token. This function is not implemented for this port.
Definition: core_pkcs11_mbedtls.c:1727
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.
Definition: core_pkcs11_mbedtls.c:5330
CK_RV C_DigestUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart, CK_ULONG ulPartLen)
Continues a multiple-part digesting operation.
Definition: core_pkcs11_mbedtls.c:3625
#define LogError(message)
Macro that is called in the corePKCS11 library for logging "Error" level messages.
Definition: core_pkcs11_config_defaults.h:315
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.
Definition: core_pkcs11_mbedtls.c:2944
CK_RV C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism, CK_OBJECT_HANDLE hKey)
Initializes a signature operation.
Definition: core_pkcs11_mbedtls.c:4083