Merged. Thanks! regards, Joy
On Thu, 2015-07-02 at 15:00 +0200, Harald Freudenberger wrote: > Removed securekey option from DES and AES testcases as there is now the > required key import available. Fixed some compile warnings. Unified all > testcases to print out a summary line and not just something like 'looks > ok'. Fixed digest test to have a look onto the required key sizes for the > cca token. > > Signed-off-by: Harald Freudenberger <fre...@linux.vnet.ibm.com> > --- > testcases/common/common.c | 27 +++---- > testcases/crypto/README | 9 --- > testcases/crypto/aes_func.c | 34 ++++----- > testcases/crypto/des3_func.c | 37 ++++------ > testcases/crypto/des_func.c | 36 ++++----- > testcases/crypto/dh_func.c | 6 ++ > testcases/crypto/digest_func.c | 4 +- > testcases/crypto/dsa_func.c | 142 > ++++++++++++++++-------------------- > testcases/crypto/mech_to_str.h | 14 ++++ > testcases/crypto/ssl3_func.c | 3 + > testcases/misc_tests/speed.c | 3 - > testcases/misc_tests/threadmkobj.c | 13 ++-- > testcases/pkcs11/misc_func.c | 6 +- > 13 files changed, 150 insertions(+), 184 deletions(-) > > diff --git a/testcases/common/common.c b/testcases/common/common.c > index 5c4d293..dd23869 100644 > --- a/testcases/common/common.c > +++ b/testcases/common/common.c > @@ -395,7 +395,7 @@ int is_ep11_token(CK_SLOT_ID slot_id) > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > if (rc != CKR_OK) > - return -1; > + return FALSE; > > return strstr((const char *)tokinfo.model, "EP11") != NULL; > } > @@ -421,9 +421,8 @@ int is_icsf_token(CK_SLOT_ID slot_id) > CK_TOKEN_INFO tokinfo; > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > - if (rc != CKR_OK) { > - return -1; > - } > + if (rc != CKR_OK) > + return FALSE; > > if ((strstr((const char *)tokinfo.model, "ICA") == NULL) && > (strstr((const char *)tokinfo.model, "EP11") == NULL) && > @@ -449,9 +448,8 @@ int is_ica_token(CK_SLOT_ID slot_id) > CK_TOKEN_INFO tokinfo; > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > - if (rc != CKR_OK) { > - return -1; > - } > + if (rc != CKR_OK) > + return FALSE; > > return strstr((const char *)tokinfo.model, "ICA") != NULL; > > @@ -464,9 +462,8 @@ int is_cca_token(CK_SLOT_ID slot_id) > CK_TOKEN_INFO tokinfo; > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > - if (rc != CKR_OK) { > - return -1; > - } > + if (rc != CKR_OK) > + return FALSE; > > return strstr((const char *)tokinfo.model, "CCA") != NULL; > } > @@ -478,9 +475,8 @@ int is_soft_token(CK_SLOT_ID slot_id) > CK_TOKEN_INFO tokinfo; > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > - if (rc != CKR_OK) { > - return -1; > - } > + if (rc != CKR_OK) > + return FALSE; > > return strstr((const char *)tokinfo.model, "SoftTok") != NULL; > } > @@ -492,9 +488,8 @@ int is_tpm_token(CK_SLOT_ID slot_id) > CK_TOKEN_INFO tokinfo; > > rc = funcs->C_GetTokenInfo(slot_id, &tokinfo); > - if (rc != CKR_OK) { > - return -1; > - } > + if (rc != CKR_OK) > + return FALSE; > > return strstr((const char *)tokinfo.model, "TPM") != NULL; > } > diff --git a/testcases/crypto/README b/testcases/crypto/README > index 5ea4abe..b57bc8a 100644 > --- a/testcases/crypto/README > +++ b/testcases/crypto/README > @@ -7,9 +7,6 @@ aes_tests > ICSF token - secret keys cannot wrap secret keys. > These testcase will fail in ICSF token. > > - CCA token - uses secure key, the "-securekey" flag should be > - used to ensure appropriate testcases are run. > - > des_tests > Tests des ecb/cbc modes using published test vectors and generated > test data. > @@ -17,9 +14,6 @@ des_tests > ICSF token - secret keys cannot wrap secret keys. > These testcase will fail in ICSF token. > > - CCA token - uses secure key, the "-securekey" flag should be > - used to ensure appropriate testcases are run. > - > des3_tests > Tests des3 ecb/cbc modes using published test vectors and generated > test data. > @@ -28,9 +22,6 @@ des3_tests > ICSF token - secret keys cannot wrap secret keys. > These testcase will fail in ICSF token. > > - CCA token - uses secure key, the "-securekey" flag should be > - used to ensure appropriate testcases are run. > - > dh_tests > Tests key generation and key derivation. > > diff --git a/testcases/crypto/aes_func.c b/testcases/crypto/aes_func.c > index dcfd1a0..f5942a9 100644 > --- a/testcases/crypto/aes_func.c > +++ b/testcases/crypto/aes_func.c > @@ -1750,31 +1750,25 @@ testcase_cleanup: > } > > CK_RV aes_funcs() { > - int i, generate_key; > + int i; > CK_RV rv = CKR_OK; > > - generate_key = securekey; // true if mech requires secure key > - // generate keys and skip published tests > - > for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) { > - if (!generate_key) { > - rv = do_EncryptAES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_DecryptAES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > + rv = do_EncryptAES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > > - rv = do_EncryptUpdateAES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > + rv = do_DecryptAES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > > - rv = do_DecryptUpdateAES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - } > + rv = do_EncryptUpdateAES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > > + rv = do_DecryptUpdateAES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > } > > for (i = 0; i < NUM_OF_GENERATED_TESTSUITES; i++) { > @@ -1793,7 +1787,6 @@ CK_RV aes_funcs() { > rv = do_WrapUnwrapRSA(&generated_test_suites[i]); > if (rv != CKR_OK && (!no_stop)) > break; > - > } > > /***** Error scenarios *****/ > @@ -1822,7 +1815,6 @@ int main (int argc, char **argv) { > > printf("Using slot #%lu...\n\n", SLOT_ID ); > printf("With option: nostop: %d\n", no_stop); > - printf("With option: securekey: %d\n", securekey); > > rc = do_GetFunctionList(); > if (!rc) { > diff --git a/testcases/crypto/des3_func.c b/testcases/crypto/des3_func.c > index 26aaceb..274e210 100644 > --- a/testcases/crypto/des3_func.c > +++ b/testcases/crypto/des3_func.c > @@ -1151,31 +1151,26 @@ testcase_cleanup: > } > > CK_RV des3_funcs() { > - int i, generate_key; > + int i; > CK_RV rv; > > - generate_key = securekey; // true if slot requires generated > - // (secure) keys > - > /** published (known answer) tests **/ > for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) { > - if (!generate_key) { > - rv = do_EncryptDES3(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_DecryptDES3(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_EncryptUpdateDES3(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_DecryptUpdateDES3(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - } > + rv = do_EncryptDES3(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_DecryptDES3(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_EncryptUpdateDES3(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_DecryptUpdateDES3(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > } > > /** generated key tests **/ > diff --git a/testcases/crypto/des_func.c b/testcases/crypto/des_func.c > index b887d1e..fb41c30 100644 > --- a/testcases/crypto/des_func.c > +++ b/testcases/crypto/des_func.c > @@ -1142,30 +1142,26 @@ testcase_cleanup: > } > > CK_RV des_funcs() { > - int i, generate_key; > + int i; > CK_RV rv; > > - generate_key = securekey; > - > /** published (known answer) tests **/ > for (i = 0; i < NUM_OF_PUBLISHED_TESTSUITES; i++) { > - if (!generate_key) { > - rv = do_EncryptDES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_DecryptDES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_EncryptUpdateDES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - > - rv = do_DecryptUpdateDES(&published_test_suites[i]); > - if (rv != CKR_OK && (!no_stop)) > - break; > - } > + rv = do_EncryptDES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_DecryptDES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_EncryptUpdateDES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > + > + rv = do_DecryptUpdateDES(&published_test_suites[i]); > + if (rv != CKR_OK && (!no_stop)) > + break; > } > > /** generated tests **/ > diff --git a/testcases/crypto/dh_func.c b/testcases/crypto/dh_func.c > index d120feb..1b9e3c3 100644 > --- a/testcases/crypto/dh_func.c > +++ b/testcases/crypto/dh_func.c > @@ -307,6 +307,7 @@ > > #include "pkcs11types.h" > #include "regress.h" > +#include "common.c" > > > // These values were obtained from IPsec second oakley group. > @@ -730,7 +731,12 @@ int main(int argc, char **argv) > > } > > + testcase_setup(0); > + > rv = dh_functions(); > + > + testcase_print_result(); > + > /* make sure we return non-zero if rv is non-zero */ > return ((rv==0) || (rv % 256) ? rv : -1); > } > diff --git a/testcases/crypto/digest_func.c b/testcases/crypto/digest_func.c > index 93938c9..123d00a 100644 > --- a/testcases/crypto/digest_func.c > +++ b/testcases/crypto/digest_func.c > @@ -303,7 +303,7 @@ CK_RV do_SignVerify_HMAC(struct HMAC_TEST_SUITE_INFO > *tsuite){ > /* for ep11, check if key len is supported */ > key_len = tsuite->tv[i].key_len; > > - if ((is_ep11_token(SLOT_ID)) && > + if ((is_ep11_token(SLOT_ID) || is_cca_token(SLOT_ID)) && > (! check_supp_keysize(SLOT_ID, mech.mechanism, key_len))){ > testcase_skip("keysize %d is not supported in slot %ld", > (unsigned int)key_len, slot_id); > @@ -461,7 +461,7 @@ CK_RV do_SignVerify_HMAC_Update(struct > HMAC_TEST_SUITE_INFO *tsuite) > /* for ep11, check if key len is supported */ > key_len = tsuite->tv[i].key_len; > > - if ((is_ep11_token(SLOT_ID)) && > + if ((is_ep11_token(SLOT_ID) || is_cca_token(SLOT_ID)) && > (! check_supp_keysize(SLOT_ID, mech.mechanism, key_len))){ > testcase_skip("keysize %d is not supported in slot %ld", > (unsigned int)key_len, slot_id); > diff --git a/testcases/crypto/dsa_func.c b/testcases/crypto/dsa_func.c > index 6e2b7f3..356f9b0 100644 > --- a/testcases/crypto/dsa_func.c > +++ b/testcases/crypto/dsa_func.c > @@ -48,14 +48,14 @@ CK_BYTE DSA_PUBL_BASE[128] = > // > CK_RV do_GenerateDSAKeyPair( void ) > { > - CK_SLOT_ID slot_id; > + CK_SLOT_ID slot_id = SLOT_ID; > CK_SESSION_HANDLE session; > CK_MECHANISM mech; > CK_OBJECT_HANDLE publ_key, priv_key; > CK_FLAGS flags; > CK_BYTE user_pin[PKCS11_MAX_PIN_LEN]; > CK_ULONG user_pin_len; > - CK_RV rc, loc_rc; > + CK_RV rc; > > CK_ATTRIBUTE publ_tmpl[] = > { > @@ -64,50 +64,35 @@ CK_RV do_GenerateDSAKeyPair( void ) > {CKA_BASE, DSA_PUBL_BASE, sizeof(DSA_PUBL_BASE) } > }; > > - > - printf("do_GenerateDSAKeyPair...\n"); > - > - slot_id = SLOT_ID; > - > - if (get_user_pin(user_pin)) > - return CKR_FUNCTION_FAILED; > - user_pin_len = (CK_ULONG)strlen((char *)user_pin); > - > mech.mechanism = CKM_DSA_KEY_PAIR_GEN; > mech.ulParameterLen = 0; > mech.pParameter = NULL; > > + testcase_begin("GenerateDSAKeyPair"); > + testcase_rw_session(); > + testcase_user_login(); > > - flags = CKF_SERIAL_SESSION; > - rc = funcs->C_OpenSession( slot_id, flags, NULL, NULL, &session ); > - if (rc != CKR_OK) { > - show_error(" C_OpenSession #3", rc ); > - return rc; > - } > - > - rc = funcs->C_Login( session, CKU_USER, user_pin, user_pin_len ); > - if (rc != CKR_OK) { > - show_error(" C_Login #1", rc ); > - return rc; > - } > + testcase_new_assertion(); > > - rc = funcs->C_GenerateKeyPair( session, &mech, > + rc = funcs->C_GenerateKeyPair( session, &mech, > publ_tmpl, 3, > NULL, 0, > &publ_key, &priv_key ); > if (rc != CKR_OK) { > - show_error(" C_GenerateKeyPair #1", rc ); > - goto session_close; > + testcase_error("C_GenerateKeyPair rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > - printf("Looks okay...\n"); > + testcase_pass("GenerateDSAKeyPair #1"); > > -session_close: > +testcase_cleanup: > + testcase_user_logout(); > + rc = funcs->C_CloseAllSessions(slot_id); > + if (rc != CKR_OK) { > + testcase_error("C_CloseAllSessions rc=%s", p11_get_ckr(rc)); > + } > > - /* Close the session */ > - if( (loc_rc = funcs->C_CloseSession(session)) != CKR_OK ) > - show_error("C_CloseSession", loc_rc); > - > return rc; > } > > @@ -119,7 +104,7 @@ CK_RV do_SignDSA( void ) > { > CK_BYTE data1[20]; > CK_BYTE signature[256]; > - CK_SLOT_ID slot_id; > + CK_SLOT_ID slot_id = SLOT_ID; > CK_SESSION_HANDLE session; > CK_MECHANISM mech; > CK_OBJECT_HANDLE publ_key, priv_key; > @@ -128,7 +113,7 @@ CK_RV do_SignDSA( void ) > CK_ULONG user_pin_len; > CK_ULONG i; > CK_ULONG len1, sig_len; > - CK_RV rc, loc_rc; > + CK_RV rc; > > CK_ATTRIBUTE publ_tmpl[] = > { > @@ -137,41 +122,27 @@ CK_RV do_SignDSA( void ) > {CKA_BASE, DSA_PUBL_BASE, sizeof(DSA_PUBL_BASE) } > }; > > - printf("do_SignDSA...\n"); > - > - slot_id = SLOT_ID; > - flags = CKF_SERIAL_SESSION | CKF_RW_SESSION; > - rc = funcs->C_OpenSession( slot_id, flags, NULL, NULL, &session ); > - if (rc != CKR_OK) { > - show_error(" C_OpenSession #1", rc ); > - goto session_close; > - } > - > - > - if (get_user_pin(user_pin)) > - return CKR_FUNCTION_FAILED; > - user_pin_len = (CK_ULONG)strlen((char *)user_pin); > - > - rc = funcs->C_Login( session, CKU_USER, user_pin, user_pin_len ); > - if (rc != CKR_OK) { > - show_error(" C_Login #1", rc ); > - goto session_close; > - } > - > mech.mechanism = CKM_DSA_KEY_PAIR_GEN; > mech.ulParameterLen = 0; > mech.pParameter = NULL; > > - rc = funcs->C_GenerateKeyPair( session, &mech, > + testcase_begin("DSA Sign/Verify"); > + testcase_rw_session(); > + testcase_user_login(); > + > + testcase_new_assertion(); > + > + rc = funcs->C_GenerateKeyPair( session, &mech, > publ_tmpl, 3, > NULL, 0, > &publ_key, &priv_key ); > if (rc != CKR_OK) { > - show_error(" C_GenerateKeyPair #1", rc ); > - goto session_close; > + testcase_error("C_GenerateKeyPair rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > - // now, encrypt some data > + // now, sign some data > // > len1 = sizeof(data1); > sig_len = sizeof(signature); > @@ -185,28 +156,32 @@ CK_RV do_SignDSA( void ) > > rc = funcs->C_SignInit( session, &mech, priv_key ); > if (rc != CKR_OK) { > - show_error(" C_SignInit #1", rc ); > - goto session_close; > + testcase_error("C_SignInit rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > rc = funcs->C_Sign( session, data1, len1, signature, &sig_len ); > if (rc != CKR_OK) { > - show_error(" C_Sign #1", rc ); > - goto session_close; > + testcase_error("C_Sign rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > // now, verify the signature > // > rc = funcs->C_VerifyInit( session, &mech, publ_key ); > if (rc != CKR_OK) { > - show_error(" C_VerifyInit #1", rc ); > - goto session_close; > + testcase_error("C_VerifyInit rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > rc = funcs->C_Verify( session, data1, len1, signature, sig_len ); > if (rc != CKR_OK) { > - show_error(" C_Verify #1", rc ); > - goto session_close; > + testcase_error("C_Verify rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > // now, corrupt the signature and try to re-verify. > @@ -215,26 +190,26 @@ CK_RV do_SignDSA( void ) > > rc = funcs->C_VerifyInit( session, &mech, publ_key ); > if (rc != CKR_OK) { > - show_error(" C_VerifyInit #2", rc ); > - goto session_close; > + testcase_error("C_VerifyInit rc=%s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > } > > rc = funcs->C_Verify( session, data1, len1, signature, sig_len ); > if (rc != CKR_SIGNATURE_INVALID) { > - show_error(" C_Verify #2", rc ); > - PRINT_ERR(" Expected CKR_SIGNATURE_INVALID\n"); > - goto session_close; > - } else > - rc = CKR_OK; > - > - printf("Looks okay...\n"); > + testcase_fail("Verify expected CKR_SIGNATURE_INVALID, got %s", > + p11_get_ckr(rc)); > + goto testcase_cleanup; > + } > > -session_close: > +testcase_cleanup: > + testcase_user_logout(); > + rc = funcs->C_CloseAllSessions(slot_id); > + if (rc != CKR_OK) { > + testcase_error("C_CloseAllSessions, rc=%s", > + p11_get_ckr(rc)); > + } > > - /* Close the session */ > - if( (loc_rc = funcs->C_CloseSession(session)) != CKR_OK ) > - show_error("C_CloseSession", loc_rc); > - > return rc; > } > > @@ -313,7 +288,12 @@ int main(int argc, char **argv) > > } > > + testcase_setup(0); > + > rv = dsa_functions(); > + > + testcase_print_result(); > + > /* make sure we return non-zero if rv is non-zero */ > return ((rv == 0) || (rv % 256) ? rv : -1); > } > diff --git a/testcases/crypto/mech_to_str.h b/testcases/crypto/mech_to_str.h > index 40b086a..3a3b509 100644 > --- a/testcases/crypto/mech_to_str.h > +++ b/testcases/crypto/mech_to_str.h > @@ -120,6 +120,12 @@ mech_to_str(CK_ULONG mech) > return "CKM_CDMF_MAC_GENERAL"; > if (mech == CKM_CDMF_CBC_PAD) > return "CKM_CDMF_CBC_PAD"; > + if (mech == CKM_DES_OFB64) > + return "CKM_DES_OFB64"; > + if (mech == CKM_DES_CFB64) > + return "CKM_DES_CFB64"; > + if (mech == CKM_DES_CFB8) > + return "CKM_DES_CFB8"; > if (mech == CKM_MD2) > return "CKM_MD2"; > if (mech == CKM_MD2_HMAC) > @@ -406,6 +412,14 @@ mech_to_str(CK_ULONG mech) > return "CKM_DH_PKCS_PARAMETER_GEN"; > if (mech == CKM_X9_42_DH_PARAMETER_GEN) > return "CKM_X9_42_DH_PARAMETER_GEN"; > + if (mech == CKM_AES_OFB) > + return "CKM_AES_OFB"; > + if (mech == CKM_AES_CFB64) > + return "CKM_AES_CFB64"; > + if (mech == CKM_AES_CFB8) > + return "CKM_AES_CFB8"; > + if (mech == CKM_AES_CFB128) > + return "CKM_AES_CFB128"; > if (mech == CKM_VENDOR_DEFINED) > return "CKM_VENDOR_DEFINED"; > > diff --git a/testcases/crypto/ssl3_func.c b/testcases/crypto/ssl3_func.c > index 8684c76..26fccaf 100644 > --- a/testcases/crypto/ssl3_func.c > +++ b/testcases/crypto/ssl3_func.c > @@ -688,7 +688,10 @@ int main(int argc, char **argv) > > } > > + testcase_setup(0); > + > rv = ssl3_functions(); > + > testcase_print_result(); > > /* make sure we return non-zero if rv is non-zero */ > diff --git a/testcases/misc_tests/speed.c b/testcases/misc_tests/speed.c > index 4a511cf..9b404f1 100755 > --- a/testcases/misc_tests/speed.c > +++ b/testcases/misc_tests/speed.c > @@ -232,7 +232,6 @@ testcase_cleanup: > // keylength: 512, 1024, 2048, 4096 > int do_RSA_KeyGen(int keylength) > { > - CK_SLOT_ID slot_id; > CK_SESSION_HANDLE session; > CK_MECHANISM mech; > CK_FLAGS flags; > @@ -252,8 +251,6 @@ int do_RSA_KeyGen(int keylength) > > testcase_begin("RSA KeyGen with keylen=%d", keylength); > > - slot_id = SLOT_ID; > - > testcase_rw_session(); > testcase_user_login(); > > diff --git a/testcases/misc_tests/threadmkobj.c > b/testcases/misc_tests/threadmkobj.c > index d7b7ca0..e887db6 100755 > --- a/testcases/misc_tests/threadmkobj.c > +++ b/testcases/misc_tests/threadmkobj.c > @@ -58,8 +58,8 @@ int do_create_token_object( void ) > CK_FLAGS flags; > CK_SESSION_HANDLE h_session; > CK_RV rc; > - CK_BYTE user_pin[PKCS11_MAX_PIN_LEN]; > - CK_ULONG user_pin_len; > +// CK_BYTE user_pin[PKCS11_MAX_PIN_LEN]; > +// CK_ULONG user_pin_len; > > CK_BYTE true = TRUE; > CK_BYTE false = FALSE; > @@ -82,9 +82,9 @@ int do_create_token_object( void ) > > > > - if (get_user_pin(user_pin)) > - return CKR_FUNCTION_FAILED; > - user_pin_len = (CK_ULONG)strlen((char *)user_pin); > +// if (get_user_pin(user_pin)) > +// return CKR_FUNCTION_FAILED; > +// user_pin_len = (CK_ULONG)strlen((char *)user_pin); > > // create a USER R/W session > // > @@ -127,9 +127,6 @@ thread_func(void *thid) > { > int i=0; > CK_RV rv; > - int *id ; > - > - id = (int *)thid; > > do { > rv = do_create_token_object(); > diff --git a/testcases/pkcs11/misc_func.c b/testcases/pkcs11/misc_func.c > index d6619fd..e361c29 100644 > --- a/testcases/pkcs11/misc_func.c > +++ b/testcases/pkcs11/misc_func.c > @@ -330,19 +330,19 @@ CK_RV do_InitToken( void ) > return CKR_FUNCTION_FAILED; > so_pin_len = (CK_ULONG)strlen((char *)so_pin); > > - rc = funcs->C_InitToken( SLOT_ID, NULL, strlen((char *)so_pin), label ); > + rc = funcs->C_InitToken( SLOT_ID, NULL, so_pin_len, label ); > if (rc != CKR_ARGUMENTS_BAD) { > show_error(" C_InitToken Fail #1",rc); > goto done; > } > > - rc = funcs->C_InitToken( SLOT_ID, so_pin, strlen((char *)so_pin), NULL > ); > + rc = funcs->C_InitToken( SLOT_ID, so_pin, so_pin_len, NULL ); > if (rc != CKR_ARGUMENTS_BAD) { > show_error(" C_InitToken Fail #2",rc); > goto done; > } > > - rc = funcs->C_InitToken( SLOT_ID, so_pin, strlen((char *)so_pin), label > ); > + rc = funcs->C_InitToken( SLOT_ID, so_pin, so_pin_len, label ); > if (rc != CKR_OK) { > show_error(" C_InitToken #1", rc ); > goto done; ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Opencryptoki-tech mailing list Opencryptoki-tech@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opencryptoki-tech