diff options
Diffstat (limited to 'src/certificate.c')
-rw-r--r-- | src/certificate.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/certificate.c b/src/certificate.c index ce4cac3..acb7b37 100644 --- a/src/certificate.c +++ b/src/certificate.c @@ -237,7 +237,7 @@ test_x509_certificate(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object) attr.ulValueLen = sizeof(java_midp); rv = (p11t_module_funcs->C_GetAttributeValue)(session, object, &attr, 1); P11T_CHECK_RV("CKA_JAVA_MIDP_SECURITY_DOMAIN", rv, CKR_OK); - if(java_midp != 0 || java_midp != 1 || java_midp != 2 || java_midp != 3) + if(java_midp != 0 && java_midp != 1 && java_midp != 2 && java_midp != 3) P11T_CHECK_FAIL_MSG("CKA_JAVA_MIDP_SECURITY_DOMAIN", "Unrecognized value"); /* CKA_ID */ @@ -251,7 +251,7 @@ test_x509_certificate(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object) } test_x509_cross_search(session, object, CKA_ID, CK_INVALID, "CKA_ID"); - test_x509_cross_search(session, object, CKA_ID, CK_INVALID, "CKA_SERIAL_NUMBER, CKA_ISSUER"); + test_x509_cross_search(session, object, CKA_SERIAL_NUMBER, CKA_ISSUER, "CKA_SERIAL_NUMBER, CKA_ISSUER"); X509_free(cert); free(der_value); @@ -293,7 +293,7 @@ test_certificate_object(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object) attr.pValue = &category; rv = (p11t_module_funcs->C_GetAttributeValue)(session, object, &attr, 1); P11T_CHECK_RV("CKA_CERTIFICATE_CATEGORY", rv, CKR_OK); - if(category != 1 && category != 2 && category != 3) + if(category != 1 && category != 2 && category != 3 && category != 0) P11T_CHECK_FAIL_MSG("CKA_CERTIFICATE_CATEGORY", "invalid value"); attr.type = CKA_CHECK_VALUE; @@ -309,14 +309,16 @@ test_certificate_object(CK_SESSION_HANDLE session, CK_OBJECT_HANDLE object) attr.pValue = &start_date; rv = (p11t_module_funcs->C_GetAttributeValue)(session, object, &attr, 1); P11T_CHECK_RV("CKA_START_DATE", rv, CKR_OK); - P11T_CHECK_DATE("CKA_START_DATE", &start_date); + if(attr.ulValueLen) + P11T_CHECK_DATE("CKA_START_DATE", &start_date); attr.type = CKA_END_DATE; attr.ulValueLen = sizeof(end_date); attr.pValue = &end_date; rv = (p11t_module_funcs->C_GetAttributeValue)(session, object, &attr, 1); P11T_CHECK_RV("CKA_END_DATE", rv, CKR_OK); - P11T_CHECK_DATE("CKA_END_DATE", &end_date); + if(attr.ulValueLen) + P11T_CHECK_DATE("CKA_END_DATE", &end_date); } test_x509_certificate(session, object); |