Skip to content

Commit 6768e2f

Browse files
committed
Fix build issues and findings
1 parent 99ebafd commit 6768e2f

2 files changed

Lines changed: 44 additions & 46 deletions

File tree

src/crypto.c

Lines changed: 42 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6760,37 +6760,35 @@ CK_RV C_GenerateKey(CK_SESSION_HANDLE hSession,
67606760
ret = WP11_Object_SetSecretKey(pbkdf2Key, secretKeyData, secretKeyLen);
67616761
if (ret == 0) {
67626762
WP11_Object_SetKeyGeneration(pbkdf2Key, pMechanism->mechanism);
6763-
rv = AddObject(session, pbkdf2Key, pTemplate, ulCount, phKey);
6764-
if (rv != CKR_OK) {
6765-
WP11_Object_Free(pbkdf2Key);
6763+
rv = WP11_Object_GetAttr(pbkdf2Key, CKA_SENSITIVE,
6764+
&getVar, &getVarLen);
6765+
if ((rv == CKR_OK) && (getVar == CK_TRUE)) {
6766+
rv = WP11_Object_SetAttr(pbkdf2Key,
6767+
CKA_ALWAYS_SENSITIVE,
6768+
&trueVar, sizeof(CK_BBOOL));
6769+
}
6770+
if (rv == CKR_OK) {
6771+
rv = WP11_Object_GetAttr(pbkdf2Key, CKA_EXTRACTABLE,
6772+
&getVar, &getVarLen);
6773+
if ((rv == CKR_OK) && (getVar == CK_FALSE)) {
6774+
rv = WP11_Object_SetAttr(pbkdf2Key,
6775+
CKA_NEVER_EXTRACTABLE,
6776+
&trueVar,
6777+
sizeof(CK_BBOOL));
6778+
}
67666779
}
6767-
} else {
6780+
}
6781+
if (rv == CKR_OK) {
6782+
rv = AddObject(session, pbkdf2Key, pTemplate, ulCount, phKey);
6783+
}
6784+
if (rv != CKR_OK) {
67686785
WP11_Object_Free(pbkdf2Key);
6769-
rv = CKR_FUNCTION_FAILED;
67706786
}
67716787
}
67726788

67736789
wc_ForceZero(derivedKey, derivedKeyLen);
67746790
XFREE(derivedKey, NULL, DYNAMIC_TYPE_TMP_BUFFER);
67756791

6776-
if (rv == CKR_OK) {
6777-
rv = WP11_Object_GetAttr(pbkdf2Key, CKA_SENSITIVE, &getVar,
6778-
&getVarLen);
6779-
if ((rv == CKR_OK) && (getVar == CK_TRUE)) {
6780-
rv = WP11_Object_SetAttr(pbkdf2Key, CKA_ALWAYS_SENSITIVE,
6781-
&trueVar, sizeof(CK_BBOOL));
6782-
}
6783-
if (rv == CKR_OK) {
6784-
rv = WP11_Object_GetAttr(pbkdf2Key, CKA_EXTRACTABLE,
6785-
&getVar, &getVarLen);
6786-
if ((rv == CKR_OK) && (getVar == CK_FALSE)) {
6787-
rv = WP11_Object_SetAttr(pbkdf2Key,
6788-
CKA_NEVER_EXTRACTABLE,
6789-
&trueVar, sizeof(CK_BBOOL));
6790-
}
6791-
}
6792-
}
6793-
67946792
return rv;
67956793
}
67966794
#ifdef WOLFPKCS11_NSS
@@ -6877,37 +6875,35 @@ CK_RV C_GenerateKey(CK_SESSION_HANDLE hSession,
68776875
ret = WP11_Object_SetSecretKey(pbeKey, secretKeyData, secretKeyLen);
68786876
if (ret == 0) {
68796877
WP11_Object_SetKeyGeneration(pbeKey, pMechanism->mechanism);
6880-
rv = AddObject(session, pbeKey, pTemplate, ulCount, phKey);
6881-
if (rv != CKR_OK) {
6882-
WP11_Object_Free(pbeKey);
6878+
rv = WP11_Object_GetAttr(pbeKey, CKA_SENSITIVE,
6879+
&getVar, &getVarLen);
6880+
if ((rv == CKR_OK) && (getVar == CK_TRUE)) {
6881+
rv = WP11_Object_SetAttr(pbeKey,
6882+
CKA_ALWAYS_SENSITIVE,
6883+
&trueVar, sizeof(CK_BBOOL));
6884+
}
6885+
if (rv == CKR_OK) {
6886+
rv = WP11_Object_GetAttr(pbeKey, CKA_EXTRACTABLE,
6887+
&getVar, &getVarLen);
6888+
if ((rv == CKR_OK) && (getVar == CK_FALSE)) {
6889+
rv = WP11_Object_SetAttr(pbeKey,
6890+
CKA_NEVER_EXTRACTABLE,
6891+
&trueVar,
6892+
sizeof(CK_BBOOL));
6893+
}
68836894
}
6884-
} else {
6895+
}
6896+
if (rv == CKR_OK) {
6897+
rv = AddObject(session, pbeKey, pTemplate, ulCount, phKey);
6898+
}
6899+
if (rv != CKR_OK) {
68856900
WP11_Object_Free(pbeKey);
6886-
rv = CKR_FUNCTION_FAILED;
68876901
}
68886902
}
68896903

68906904
wc_ForceZero(derivedKey, derivedKeyLen);
68916905
XFREE(derivedKey, NULL, DYNAMIC_TYPE_TMP_BUFFER);
68926906

6893-
if (rv == CKR_OK) {
6894-
rv = WP11_Object_GetAttr(pbeKey, CKA_SENSITIVE, &getVar,
6895-
&getVarLen);
6896-
if ((rv == CKR_OK) && (getVar == CK_TRUE)) {
6897-
rv = WP11_Object_SetAttr(pbeKey, CKA_ALWAYS_SENSITIVE,
6898-
&trueVar, sizeof(CK_BBOOL));
6899-
}
6900-
if (rv == CKR_OK) {
6901-
rv = WP11_Object_GetAttr(pbeKey, CKA_EXTRACTABLE,
6902-
&getVar, &getVarLen);
6903-
if ((rv == CKR_OK) && (getVar == CK_FALSE)) {
6904-
rv = WP11_Object_SetAttr(pbeKey,
6905-
CKA_NEVER_EXTRACTABLE,
6906-
&trueVar, sizeof(CK_BBOOL));
6907-
}
6908-
}
6909-
}
6910-
69116907
return rv;
69126908
}
69136909
#endif

tests/pkcs11test.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -697,10 +697,12 @@ static CK_RV test_token(void* args)
697697
ret = funcList->C_InitToken(slot, soPin, soPinLen, NULL);
698698
CHECK_CKR_FAIL(ret, CKR_ARGUMENTS_BAD, "Init Token no label");
699699
}
700+
#if WP11_MIN_PIN_LEN > 3
700701
if (ret == CKR_OK) {
701702
ret = funcList->C_InitToken(slot, soPin, 3, label);
702703
CHECK_CKR_FAIL(ret, CKR_PIN_LEN_RANGE, "Init Token too short PIN");
703704
}
705+
#endif
704706
if (ret == CKR_OK) {
705707
ret = funcList->C_InitToken(slot, soPin, 33, label);
706708
CHECK_CKR_FAIL(ret, CKR_PIN_LEN_RANGE, "Init Token too long PIN");

0 commit comments

Comments
 (0)