Use standard PKCS#11 standard error codes instead of custom error codes
* CKR_CRYPTOKI_ALREADY_INITIALIZED: This value can only be returned by `C_Initialize`. It means that the Cryptoki library has already been initialized (by a previous call to `C_Initialize` which did not have a matching `C_Finalize` call). * CKR_FUNCTION_NOT_SUPPORTED: The requested function is not supported by this Cryptoki library. Even unsupported functions in the Cryptoki API should have a “stub” in the library; this stub should simply return the value CKR_FUNCTION_NOT_SUPPORTED. * CKR_LIBRARY_LOAD_FAILED: The Cryptoki library could not load a dependent shared library.
This commit is contained in:
@@ -38,7 +38,7 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) {
|
||||
CK_C_Initialize sym;
|
||||
|
||||
if (hPK11 != NULL)
|
||||
return (CKR_LIBRARY_ALREADY_INITIALIZED);
|
||||
return (CKR_CRYPTOKI_ALREADY_INITIALIZED);
|
||||
|
||||
hPK11 = dlopen(pk11_get_lib_name(), RTLD_NOW);
|
||||
|
||||
@@ -46,11 +46,11 @@ pkcs_C_Initialize(CK_VOID_PTR pReserved) {
|
||||
snprintf(loaderrmsg, sizeof(loaderrmsg),
|
||||
"dlopen(\"%s\") failed: %s\n",
|
||||
pk11_get_lib_name(), dlerror());
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
}
|
||||
sym = (CK_C_Initialize)dlsym(hPK11, "C_Initialize");
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(pReserved);
|
||||
}
|
||||
|
||||
@@ -64,13 +64,13 @@ pkcs_C_Finalize(CK_VOID_PTR pReserved) {
|
||||
CK_RV rv;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
sym = (CK_C_Finalize)dlsym(hPK11, "C_Finalize");
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
rv = (*sym)(pReserved);
|
||||
if ((rv == CKR_OK) && (dlclose(hPK11) != 0))
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
hPK11 = NULL;
|
||||
return (rv);
|
||||
}
|
||||
@@ -83,13 +83,13 @@ pkcs_C_GetSlotList(CK_BBOOL tokenPresent, CK_SLOT_ID_PTR pSlotList,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GetSlotList)dlsym(hPK11, "C_GetSlotList");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(tokenPresent, pSlotList, pulCount);
|
||||
}
|
||||
|
||||
@@ -99,13 +99,13 @@ pkcs_C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo) {
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GetTokenInfo)dlsym(hPK11, "C_GetTokenInfo");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(slotID, pInfo);
|
||||
}
|
||||
|
||||
@@ -117,14 +117,14 @@ pkcs_C_GetMechanismInfo(CK_SLOT_ID slotID, CK_MECHANISM_TYPE type,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GetMechanismInfo)dlsym(hPK11,
|
||||
"C_GetMechanismInfo");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(slotID, type, pInfo);
|
||||
}
|
||||
|
||||
@@ -145,14 +145,14 @@ pkcs_C_OpenSession(CK_SLOT_ID slotID, CK_FLAGS flags,
|
||||
snprintf(loaderrmsg, sizeof(loaderrmsg),
|
||||
"dlopen(\"%s\") failed: %s\n",
|
||||
pk11_get_lib_name(), dlerror());
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
}
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_OpenSession)dlsym(hPK11, "C_OpenSession");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(slotID, flags, pApplication, Notify, phSession);
|
||||
}
|
||||
|
||||
@@ -162,13 +162,13 @@ pkcs_C_CloseSession(CK_SESSION_HANDLE hSession) {
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_CloseSession)dlsym(hPK11, "C_CloseSession");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession);
|
||||
}
|
||||
|
||||
@@ -180,13 +180,13 @@ pkcs_C_Login(CK_SESSION_HANDLE hSession, CK_USER_TYPE userType,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_Login)dlsym(hPK11, "C_Login");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, userType, pPin, usPinLen);
|
||||
}
|
||||
|
||||
@@ -196,13 +196,13 @@ pkcs_C_Logout(CK_SESSION_HANDLE hSession) {
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_Logout)dlsym(hPK11, "C_Logout");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession);
|
||||
}
|
||||
|
||||
@@ -214,13 +214,13 @@ pkcs_C_CreateObject(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_CreateObject)dlsym(hPK11, "C_CreateObject");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pTemplate, usCount, phObject);
|
||||
}
|
||||
|
||||
@@ -230,13 +230,13 @@ pkcs_C_DestroyObject(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject) {
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_DestroyObject)dlsym(hPK11, "C_DestroyObject");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, hObject);
|
||||
}
|
||||
|
||||
@@ -248,14 +248,14 @@ pkcs_C_GetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GetAttributeValue)dlsym(hPK11,
|
||||
"C_GetAttributeValue");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, hObject, pTemplate, usCount);
|
||||
}
|
||||
|
||||
@@ -267,14 +267,14 @@ pkcs_C_SetAttributeValue(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_SetAttributeValue)dlsym(hPK11,
|
||||
"C_SetAttributeValue");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, hObject, pTemplate, usCount);
|
||||
}
|
||||
|
||||
@@ -286,13 +286,13 @@ pkcs_C_FindObjectsInit(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_FindObjectsInit)dlsym(hPK11, "C_FindObjectsInit");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pTemplate, usCount);
|
||||
}
|
||||
|
||||
@@ -304,13 +304,13 @@ pkcs_C_FindObjects(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_FindObjects)dlsym(hPK11, "C_FindObjects");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, phObject, usMaxObjectCount, pusObjectCount);
|
||||
}
|
||||
|
||||
@@ -321,14 +321,14 @@ pkcs_C_FindObjectsFinal(CK_SESSION_HANDLE hSession)
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_FindObjectsFinal)dlsym(hPK11,
|
||||
"C_FindObjectsFinal");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession);
|
||||
}
|
||||
|
||||
@@ -340,13 +340,13 @@ pkcs_C_EncryptInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_EncryptInit)dlsym(hPK11, "C_EncryptInit");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pMechanism, hKey);
|
||||
}
|
||||
|
||||
@@ -359,13 +359,13 @@ pkcs_C_Encrypt(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_Encrypt)dlsym(hPK11, "C_Encrypt");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pData, ulDataLen,
|
||||
pEncryptedData, pulEncryptedDataLen);
|
||||
}
|
||||
@@ -376,13 +376,13 @@ pkcs_C_DigestInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism) {
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_DigestInit)dlsym(hPK11, "C_DigestInit");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pMechanism);
|
||||
}
|
||||
|
||||
@@ -394,13 +394,13 @@ pkcs_C_DigestUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_DigestUpdate)dlsym(hPK11, "C_DigestUpdate");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pPart, ulPartLen);
|
||||
}
|
||||
|
||||
@@ -412,13 +412,13 @@ pkcs_C_DigestFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pDigest,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_DigestFinal)dlsym(hPK11, "C_DigestFinal");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pDigest, pulDigestLen);
|
||||
}
|
||||
|
||||
@@ -430,13 +430,13 @@ pkcs_C_SignInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_SignInit)dlsym(hPK11, "C_SignInit");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pMechanism, hKey);
|
||||
}
|
||||
|
||||
@@ -449,13 +449,13 @@ pkcs_C_Sign(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_Sign)dlsym(hPK11, "C_Sign");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pData, ulDataLen, pSignature, pulSignatureLen);
|
||||
}
|
||||
|
||||
@@ -467,13 +467,13 @@ pkcs_C_SignUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_SignUpdate)dlsym(hPK11, "C_SignUpdate");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pPart, ulPartLen);
|
||||
}
|
||||
|
||||
@@ -485,13 +485,13 @@ pkcs_C_SignFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_SignFinal)dlsym(hPK11, "C_SignFinal");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pSignature, pulSignatureLen);
|
||||
}
|
||||
|
||||
@@ -503,13 +503,13 @@ pkcs_C_VerifyInit(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_VerifyInit)dlsym(hPK11, "C_VerifyInit");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pMechanism, hKey);
|
||||
}
|
||||
|
||||
@@ -522,13 +522,13 @@ pkcs_C_Verify(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pData,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_Verify)dlsym(hPK11, "C_Verify");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pData, ulDataLen, pSignature, ulSignatureLen);
|
||||
}
|
||||
|
||||
@@ -540,13 +540,13 @@ pkcs_C_VerifyUpdate(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pPart,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_VerifyUpdate)dlsym(hPK11, "C_VerifyUpdate");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pPart, ulPartLen);
|
||||
}
|
||||
|
||||
@@ -558,13 +558,13 @@ pkcs_C_VerifyFinal(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSignature,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_VerifyFinal)dlsym(hPK11, "C_VerifyFinal");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pSignature, ulSignatureLen);
|
||||
}
|
||||
|
||||
@@ -577,13 +577,13 @@ pkcs_C_GenerateKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GenerateKey)dlsym(hPK11, "C_GenerateKey");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pMechanism, pTemplate, ulCount, phKey);
|
||||
}
|
||||
|
||||
@@ -601,13 +601,13 @@ pkcs_C_GenerateKeyPair(CK_SESSION_HANDLE hSession,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GenerateKeyPair)dlsym(hPK11, "C_GenerateKeyPair");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession,
|
||||
pMechanism,
|
||||
pPublicKeyTemplate,
|
||||
@@ -627,13 +627,13 @@ pkcs_C_DeriveKey(CK_SESSION_HANDLE hSession, CK_MECHANISM_PTR pMechanism,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_DeriveKey)dlsym(hPK11, "C_DeriveKey");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession,
|
||||
pMechanism,
|
||||
hBaseKey,
|
||||
@@ -650,13 +650,13 @@ pkcs_C_SeedRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR pSeed,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_SeedRandom)dlsym(hPK11, "C_SeedRandom");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, pSeed, ulSeedLen);
|
||||
}
|
||||
|
||||
@@ -668,12 +668,12 @@ pkcs_C_GenerateRandom(CK_SESSION_HANDLE hSession, CK_BYTE_PTR RandomData,
|
||||
static void *pPK11 = NULL;
|
||||
|
||||
if (hPK11 == NULL)
|
||||
return (CKR_LIBRARY_FAILED_TO_LOAD);
|
||||
return (CKR_LIBRARY_LOAD_FAILED);
|
||||
if ((sym == NULL) || (hPK11 != pPK11)) {
|
||||
pPK11 = hPK11;
|
||||
sym = (CK_C_GenerateRandom)dlsym(hPK11, "C_GenerateRandom");
|
||||
}
|
||||
if (sym == NULL)
|
||||
return (CKR_SYMBOL_RESOLUTION_FAILED);
|
||||
return (CKR_FUNCTION_NOT_SUPPORTED);
|
||||
return (*sym)(hSession, RandomData, ulRandomLen);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user