diff --git a/.gitignore b/.gitignore index fc0e7624..ad9cb31f 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,9 @@ test/* *.gcda *.gcno +tests/wp11_rsakey_* +tests/wp11_dhkey_* +tests/wp11_ecckey_* +tests/wp11_symmkey_* +tests/wp11_token_* +tests/wp11_obj_* diff --git a/src/crypto.c b/src/crypto.c index f8d31c01..ce8c722b 100644 --- a/src/crypto.c +++ b/src/crypto.c @@ -319,7 +319,7 @@ static CK_RV SetAttributeValue(WP11_Session* session, WP11_Object* obj, for (i = 0; i < cnt; i++) { for (j = 0; j < (int)ulCount; j++) { if (attrs[i] == pTemplate[j].type) { - data[i] = pTemplate[j].pValue; + data[i] = (unsigned char*)pTemplate[j].pValue; if (data[i] == NULL) return CKR_ATTRIBUTE_VALUE_INVALID; len[i] = (int)pTemplate[j].ulValueLen; @@ -364,7 +364,7 @@ static CK_RV SetAttributeValue(WP11_Session* session, WP11_Object* obj, /* Set remaining attributes - key specific attributes ignored. */ for (i = 0; i < (int)ulCount; i++) { attr = &pTemplate[i]; - ret = WP11_Object_SetAttr(obj, attr->type, attr->pValue, + ret = WP11_Object_SetAttr(obj, attr->type, (byte*)attr->pValue, attr->ulValueLen); if (ret == BAD_FUNC_ARG) return CKR_ATTRIBUTE_VALUE_INVALID; @@ -770,7 +770,7 @@ CK_RV C_GetAttributeValue(CK_SESSION_HANDLE hSession, for (i = 0; i < (int)ulCount; i++) { attr = &pTemplate[i]; - ret = WP11_Object_GetAttr(obj, attr->type, attr->pValue, + ret = WP11_Object_GetAttr(obj, attr->type, (byte*)attr->pValue, &attr->ulValueLen); if (ret == BAD_FUNC_ARG) return CKR_ATTRIBUTE_TYPE_INVALID; @@ -789,7 +789,7 @@ CK_RV C_GetAttributeValue(CK_SESSION_HANDLE hSession, * Set the values of the attributes into the object. * * @param hSession [in] Handle of session. - * @param hObject [in] Handle of object to set value agqainst. + * @param hObject [in] Handle of object to set value against. * @param pTemplate [in] Template of attributes set against object. * @param ulCount [in] Number of attribute triplets in template. * @return CKR_CRYPTOKI_NOT_INITIALIZED when library not initialized. @@ -1020,8 +1020,8 @@ CK_RV C_EncryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; ret = WP11_Session_SetOaepParams(session, params->hashAlg, - params->mgf, params->pSourceData, - (int)params->ulSourceDataLen); + params->mgf, (byte*)params->pSourceData, + (int)params->ulSourceDataLen); if (ret != 0) return CKR_MECHANISM_PARAM_INVALID; init = WP11_INIT_RSA_PKCS_OAEP_ENC; @@ -1039,8 +1039,8 @@ CK_RV C_EncryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; if (pMechanism->ulParameterLen != AES_IV_SIZE) return CKR_MECHANISM_PARAM_INVALID; - ret = WP11_Session_SetCbcParams(session, pMechanism->pParameter, 1, - obj); + ret = WP11_Session_SetCbcParams(session, + (unsigned char*)pMechanism->pParameter, 1, obj); if (ret == MEMORY_E) return CKR_DEVICE_MEMORY; if (ret != 0) @@ -1055,8 +1055,8 @@ CK_RV C_EncryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; if (pMechanism->ulParameterLen != AES_IV_SIZE) return CKR_MECHANISM_PARAM_INVALID; - ret = WP11_Session_SetCbcParams(session, pMechanism->pParameter, 1, - obj); + ret = WP11_Session_SetCbcParams(session, + (unsigned char*)pMechanism->pParameter, 1, obj); if (ret == MEMORY_E) return CKR_DEVICE_MEMORY; if (ret != 0) @@ -1593,8 +1593,8 @@ CK_RV C_DecryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; ret = WP11_Session_SetOaepParams(session, params->hashAlg, - params->mgf, params->pSourceData, - (int)params->ulSourceDataLen); + params->mgf, (byte*)params->pSourceData, + (int)params->ulSourceDataLen); if (ret != 0) return CKR_MECHANISM_PARAM_INVALID; init = WP11_INIT_RSA_PKCS_OAEP_DEC; @@ -1611,8 +1611,8 @@ CK_RV C_DecryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; if (pMechanism->ulParameterLen != AES_IV_SIZE) return CKR_MECHANISM_PARAM_INVALID; - ret = WP11_Session_SetCbcParams(session, pMechanism->pParameter, 0, - obj); + ret = WP11_Session_SetCbcParams(session, + (unsigned char*)pMechanism->pParameter, 0, obj); if (ret == MEMORY_E) return CKR_DEVICE_MEMORY; if (ret != 0) @@ -1626,8 +1626,8 @@ CK_RV C_DecryptInit(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; if (pMechanism->ulParameterLen != AES_IV_SIZE) return CKR_MECHANISM_PARAM_INVALID; - ret = WP11_Session_SetCbcParams(session, pMechanism->pParameter, 0, - obj); + ret = WP11_Session_SetCbcParams(session, + (unsigned char*)pMechanism->pParameter, 0, obj); if (ret == MEMORY_E) return CKR_DEVICE_MEMORY; if (ret != 0) @@ -3846,7 +3846,7 @@ CK_RV C_DeriveKey(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; keyLen = (word32)(params->ulPublicDataLen / 2); - derivedKey = XMALLOC(keyLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); + derivedKey = (byte*)XMALLOC(keyLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (derivedKey == NULL) return CKR_DEVICE_MEMORY; @@ -3866,11 +3866,11 @@ CK_RV C_DeriveKey(CK_SESSION_HANDLE hSession, return CKR_MECHANISM_PARAM_INVALID; keyLen = (word32)pMechanism->ulParameterLen; - derivedKey = XMALLOC(keyLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); + derivedKey = (byte*)XMALLOC(keyLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (derivedKey == NULL) return CKR_DEVICE_MEMORY; - ret = WP11_Dh_Derive(pMechanism->pParameter, + ret = WP11_Dh_Derive((unsigned char*)pMechanism->pParameter, (int)pMechanism->ulParameterLen, derivedKey, &keyLen, obj); if (ret != 0) diff --git a/src/internal.c b/src/internal.c index 7d2b4f03..851c8d23 100644 --- a/src/internal.c +++ b/src/internal.c @@ -486,7 +486,7 @@ static int wp11_Session_New(WP11_Slot* slot, CK_OBJECT_HANDLE handle, int ret = 0; WP11_Session* sess; - sess = XMALLOC(sizeof(*sess), NULL, DYNAMIC_TYPE_TMP_BUFFER); + sess = (WP11_Session*)XMALLOC(sizeof(*sess), NULL, DYNAMIC_TYPE_TMP_BUFFER); if (sess == NULL) ret = MEMORY_E; @@ -1171,7 +1171,7 @@ static int wp11_storage_read_alloc_array(void* storage, ret = wp11_storage_read_int(storage, len); if (ret == 0) { /* Allocate buffer to hold data. */ - *buffer = XMALLOC(*len, NULL, DYNAMIC_TYPE_TMP_BUFFER); + *buffer = (unsigned char*)XMALLOC(*len, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (*buffer == NULL) ret = MEMORY_E; } @@ -1231,7 +1231,7 @@ static int wp11_Object_New(WP11_Slot* slot, CK_KEY_TYPE type, int ret = 0; WP11_Object* obj = NULL; - obj = XMALLOC(sizeof(*obj), NULL, DYNAMIC_TYPE_TMP_BUFFER); + obj = (WP11_Object*)XMALLOC(sizeof(*obj), NULL, DYNAMIC_TYPE_TMP_BUFFER); if (obj == NULL) ret = MEMORY_E; @@ -1411,7 +1411,7 @@ static int wp11_Object_Encode_RsaKey(WP11_Object* object) if (ret == 0) { XFREE(object->keyData, NULL, DYNAMIC_TYPE_TMP_BUFFER); /* Allocate buffer to hold encoded key. */ - object->keyData = XMALLOC(object->keyDataLen, NULL, + object->keyData = (unsigned char*)XMALLOC(object->keyDataLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (object->keyData == NULL) ret = MEMORY_E; @@ -1602,7 +1602,7 @@ static int wp11_Object_Encode_EccKey(WP11_Object* object) if (ret == 0) { XFREE(object->keyData, NULL, DYNAMIC_TYPE_TMP_BUFFER); /* Allocate buffer to hold encoded key. */ - object->keyData = XMALLOC(object->keyDataLen, NULL, + object->keyData = (unsigned char*)XMALLOC(object->keyDataLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (object->keyData == NULL) ret = MEMORY_E; @@ -1762,7 +1762,7 @@ static int wp11_Object_Encode_DhKey(WP11_Object* object) object->keyDataLen = object->data.dhKey.len + AES_BLOCK_SIZE; XFREE(object->keyData, NULL, DYNAMIC_TYPE_TMP_BUFFER); /* Allocate buffer to hold encoded key. */ - object->keyData = XMALLOC(object->keyDataLen, NULL, + object->keyData = (unsigned char*)XMALLOC(object->keyDataLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (object->keyData == NULL) ret = MEMORY_E; @@ -2021,7 +2021,7 @@ static int wp11_Object_Store_DhKey(WP11_Object* object, int tokenId, int objId) } if (ret == 0) { /* Allocate buffer to hold encoded key. */ - der = XMALLOC(len, NULL, DYNAMIC_TYPE_TMP_BUFFER); + der = (unsigned char*)XMALLOC(len, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (der == NULL) ret = MEMORY_E; } @@ -2084,7 +2084,7 @@ static int wp11_Object_Encode_SymmKey(WP11_Object* object) object->keyDataLen = object->data.symmKey.len + AES_BLOCK_SIZE; XFREE(object->keyData, NULL, DYNAMIC_TYPE_TMP_BUFFER); /* Allocate buffer to hold encoded key. */ - object->keyData = XMALLOC(object->keyDataLen, NULL, + object->keyData = (unsigned char*)XMALLOC(object->keyDataLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (object->keyData == NULL) ret = MEMORY_E; @@ -3849,7 +3849,7 @@ WP11_Slot* WP11_Session_GetSlot(WP11_Session* session) } /** - * Get the mechansim associated with the session. + * Get the mechanism associated with the session. * * @param session [in] Session object. * @return Mechanism of the session. @@ -3976,7 +3976,7 @@ int WP11_Session_SetOaepParams(WP11_Session* session, CK_MECHANISM_TYPE hashAlg, oaep->labelSz = 0; } if (ret == 0 && label != NULL) { - oaep->label = XMALLOC(labelSz, NULL, DYNAMIC_TYPE_TMP_BUFFER); + oaep->label = (byte*)XMALLOC(labelSz, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (oaep->label == NULL) ret = MEMORY_E; else { @@ -4086,7 +4086,8 @@ int WP11_Session_SetGcmParams(WP11_Session* session, unsigned char* iv, gcm->ivSz = ivSz; gcm->tagBits = tagBits; if (aad != NULL) { - gcm->aad = XMALLOC(aadLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); + gcm->aad = (unsigned char*)XMALLOC(aadLen, NULL, + DYNAMIC_TYPE_TMP_BUFFER); if (gcm->aad == NULL) ret = MEMORY_E; if (ret == 0) { @@ -4356,7 +4357,7 @@ void WP11_Session_Find(WP11_Session* session, int onToken, while ((obj = wp11_Session_FindNext(session, onToken, obj)) != NULL) { for (i = 0; i < (int)ulCount; i++) { attr = &pTemplate[i]; - if (!WP11_Object_MatchAttr(obj, attr->type, attr->pValue, + if (!WP11_Object_MatchAttr(obj, attr->type, (byte*)attr->pValue, attr->ulValueLen)) { break; } @@ -5492,7 +5493,8 @@ static int WP11_Object_SetKeyId(WP11_Object* object, unsigned char* keyId, if (object->keyId != NULL) XFREE(object->keyId, NULL, DYNAMIC_TYPE_TMP_BUFFER); - object->keyId = XMALLOC(keyIdLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); + object->keyId = (unsigned char*)XMALLOC(keyIdLen, NULL, + DYNAMIC_TYPE_TMP_BUFFER); if (object->keyId == NULL) ret = MEMORY_E; if (ret == 0) { @@ -5519,7 +5521,8 @@ static int WP11_Object_SetLabel(WP11_Object* object, unsigned char* label, if (object->label != NULL) XFREE(object->label, NULL, DYNAMIC_TYPE_TMP_BUFFER); - object->label = XMALLOC(labelLen, NULL, DYNAMIC_TYPE_TMP_BUFFER); + object->label = (unsigned char*)XMALLOC(labelLen, NULL, + DYNAMIC_TYPE_TMP_BUFFER); if (object->label == NULL) ret = MEMORY_E; if (ret == 0) { @@ -5786,7 +5789,7 @@ int WP11_Object_MatchAttr(WP11_Object* object, CK_ATTRIBUTE_TYPE type, } else { /* Allocate a buffer to hold data and then compare. */ - ptr = XMALLOC(len, NULL, DYNAMIC_TYPE_TMP_BUFFER); + ptr = (byte*)XMALLOC(len, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (ptr != NULL) { if (WP11_Object_GetAttr(object, type, ptr, &attrLen) == 0) ret = (attrLen == len) && (XMEMCMP(ptr, data, len) == 0); @@ -7534,7 +7537,7 @@ int WP11_AesGcm_DecryptUpdate(unsigned char* enc, word32 encSz, unsigned char* newEnc; WP11_GcmParams* gcm = &session->params.gcm; - newEnc = XREALLOC(gcm->enc, gcm->encSz + encSz, NULL, + newEnc = (unsigned char*)XREALLOC(gcm->enc, gcm->encSz + encSz, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (newEnc == NULL) ret = MEMORY_E; diff --git a/src/slot.c b/src/slot.c index a471953e..6c89a3f8 100644 --- a/src/slot.c +++ b/src/slot.c @@ -105,7 +105,7 @@ static CK_TOKEN_INFO tokenInfoTemplate = { "", "wolfpkcs11", "wolfpkcs11", - "0000000000000000", + "0000000000000000", /* serialNumber */ CKF_RNG | CKF_CLOCK_ON_TOKEN | CKF_LOGIN_REQUIRED, WP11_SESSION_CNT_MAX, /* ulMaxSessionCount */ CK_UNAVAILABLE_INFORMATION, /* ulSessionCount */ diff --git a/tests/pkcs11mtt.c b/tests/pkcs11mtt.c index 736ae163..772754be 100644 --- a/tests/pkcs11mtt.c +++ b/tests/pkcs11mtt.c @@ -647,13 +647,13 @@ static CK_RV test_attribute_types(void* args) { CKA_VALUE, keyData, sizeof(keyData) }, }; CK_ULONG tmplCnt = sizeof(tmpl) / sizeof(*tmpl); - CK_BBOOL private, sensitive, extractable, modifiable, alwaysSensitive; + CK_BBOOL privateBool, sensitive, extractable, modifiable, alwaysSensitive; CK_BBOOL neverExtractable, alwaysAuthenticate, copyable, destroyable, local; CK_BBOOL wrapWithTrusted, trusted; CK_BBOOL encrypt, decrypt, verify, verifyRecover, sign, signRecover; CK_BBOOL wrap, unwrap, derive; CK_ATTRIBUTE boolTmpl[] = { - { CKA_PRIVATE, &private, sizeof(CK_BBOOL) }, + { CKA_PRIVATE, &privateBool, sizeof(CK_BBOOL) }, { CKA_SENSITIVE, &sensitive, sizeof(CK_BBOOL) }, { CKA_EXTRACTABLE, &extractable, sizeof(CK_BBOOL) }, { CKA_MODIFIABLE, &modifiable, sizeof(CK_BBOOL) }, @@ -677,7 +677,7 @@ static CK_RV test_attribute_types(void* args) }; CK_ULONG boolTmplCnt = sizeof(boolTmpl) / sizeof(*boolTmpl); CK_ATTRIBUTE boolSetTmpl[] = { - { CKA_PRIVATE, &private, sizeof(CK_BBOOL) }, + { CKA_PRIVATE, &privateBool, sizeof(CK_BBOOL) }, { CKA_SENSITIVE, &sensitive, sizeof(CK_BBOOL) }, { CKA_EXTRACTABLE, &extractable, sizeof(CK_BBOOL) }, { CKA_MODIFIABLE, &modifiable, sizeof(CK_BBOOL) }, @@ -6437,7 +6437,7 @@ static CK_RV pkcs11_init(const char* library) } if (ret == CKR_OK) { - func = (CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); + func = (void*)(CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); if (func == NULL) { fprintf(stderr, "Failed to get function list function\n"); ret = -1; diff --git a/tests/pkcs11str.c b/tests/pkcs11str.c index 60ec8123..1adeb51c 100644 --- a/tests/pkcs11str.c +++ b/tests/pkcs11str.c @@ -849,7 +849,7 @@ static CK_RV pkcs11_init(const char* library) } if (ret == CKR_OK) { - func = (CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); + func = (void*)(CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); if (func == NULL) { fprintf(stderr, "Failed to get function list function\n"); ret = -1; diff --git a/tests/pkcs11test.c b/tests/pkcs11test.c index 6e5eb462..9d5863a1 100644 --- a/tests/pkcs11test.c +++ b/tests/pkcs11test.c @@ -476,7 +476,7 @@ static CK_RV test_slot(void* args) CHECK_CKR(ret, "Get Slot List count"); } if (ret == CKR_OK) { - slotList = XMALLOC(count * sizeof(CK_SLOT_ID), NULL, + slotList = (CK_SLOT_ID*)XMALLOC(count * sizeof(CK_SLOT_ID), NULL, DYNAMIC_TYPE_TMP_BUFFER); if (slotList == NULL) ret = CKR_DEVICE_MEMORY; @@ -525,8 +525,8 @@ static CK_RV test_slot(void* args) CHECK_CKR(ret, "Get Mechanism List count"); } if (ret == CKR_OK) { - list = XMALLOC(count * sizeof(CK_MECHANISM_TYPE), NULL, - DYNAMIC_TYPE_TMP_BUFFER); + list = (CK_MECHANISM_TYPE*)XMALLOC(count * sizeof(CK_MECHANISM_TYPE), + NULL, DYNAMIC_TYPE_TMP_BUFFER); if (list == NULL) ret = CKR_DEVICE_MEMORY; CHECK_CKR(ret, "Allocate mechanism list memory"); @@ -1489,13 +1489,13 @@ static CK_RV test_attribute_types(void* args) { CKA_VALUE, keyData, sizeof(keyData) }, }; CK_ULONG tmplCnt = sizeof(tmpl) / sizeof(*tmpl); - CK_BBOOL private, sensitive, extractable, modifiable, alwaysSensitive; + CK_BBOOL privateBool, sensitive, extractable, modifiable, alwaysSensitive; CK_BBOOL neverExtractable, alwaysAuthenticate, copyable, destroyable, local; CK_BBOOL wrapWithTrusted, trusted; CK_BBOOL encrypt, decrypt, verify, verifyRecover, sign, signRecover; CK_BBOOL wrap, unwrap, derive; CK_ATTRIBUTE boolTmpl[] = { - { CKA_PRIVATE, &private, sizeof(CK_BBOOL) }, + { CKA_PRIVATE, &privateBool, sizeof(CK_BBOOL) }, { CKA_SENSITIVE, &sensitive, sizeof(CK_BBOOL) }, { CKA_EXTRACTABLE, &extractable, sizeof(CK_BBOOL) }, { CKA_MODIFIABLE, &modifiable, sizeof(CK_BBOOL) }, @@ -1519,7 +1519,7 @@ static CK_RV test_attribute_types(void* args) }; CK_ULONG boolTmplCnt = sizeof(boolTmpl) / sizeof(*boolTmpl); CK_ATTRIBUTE boolSetTmpl[] = { - { CKA_PRIVATE, &private, sizeof(CK_BBOOL) }, + { CKA_PRIVATE, &privateBool, sizeof(CK_BBOOL) }, { CKA_SENSITIVE, &sensitive, sizeof(CK_BBOOL) }, { CKA_EXTRACTABLE, &extractable, sizeof(CK_BBOOL) }, { CKA_MODIFIABLE, &modifiable, sizeof(CK_BBOOL) }, @@ -7854,7 +7854,7 @@ static CK_RV pkcs11_init(const char* library) } if (ret == CKR_OK) { - func = (CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); + func = (void*)(CK_C_GetFunctionList)dlsym(dlib, "C_GetFunctionList"); if (func == NULL) { fprintf(stderr, "Failed to get function list function\n"); ret = -1;