@@ -483,9 +483,14 @@ int wc_Pkcs11_Initialize_v3(Pkcs11Dev* dev, const char* library,
483483 CK_C_INITIALIZE_ARGS args ;
484484 CK_VERSION_PTR version_ptr = NULL ;
485485
486- if (dev == NULL || library == NULL )
486+ if (dev == NULL )
487487 ret = BAD_FUNC_ARG ;
488488
489+ #if !defined(HAVE_PKCS11_STATIC ) && !defined(HAVE_PKCS11_V3_STATIC )
490+ if (library == NULL )
491+ ret = BAD_FUNC_ARG ;
492+ #endif
493+
489494 if (ret == 0 ) {
490495 dev -> heap = heap ;
491496#if defined(HAVE_PKCS11_V3_STATIC )
@@ -509,6 +514,10 @@ int wc_Pkcs11_Initialize_v3(Pkcs11Dev* dev, const char* library,
509514 pkcs11_version .major = 3 ;
510515 pkcs11_version .minor = 1 ;
511516 }
517+ else if (* version == WC_PCKS11VERSION_3_2 ) {
518+ pkcs11_version .major = 3 ;
519+ pkcs11_version .minor = 2 ;
520+ }
512521 version_ptr = & pkcs11_version ;
513522 }
514523 else {
@@ -536,6 +545,10 @@ int wc_Pkcs11_Initialize_v3(Pkcs11Dev* dev, const char* library,
536545 version_ptr -> minor == 1 ) {
537546 dev -> version = WC_PCKS11VERSION_3_1 ;
538547 }
548+ else if (version_ptr -> major == 3 &&
549+ version_ptr -> minor == 2 ) {
550+ dev -> version = WC_PCKS11VERSION_3_2 ;
551+ }
539552 else {
540553 WOLFSSL_MSG_EX ("Unsupported PKCS#11 version: %d.%d" ,
541554 version_ptr -> major , version_ptr -> minor );
@@ -603,6 +616,10 @@ int wc_Pkcs11_Initialize_v3(Pkcs11Dev* dev, const char* library,
603616 pkcs11_version .major = 3 ;
604617 pkcs11_version .minor = 1 ;
605618 }
619+ else if (* version == WC_PCKS11VERSION_3_2 ) {
620+ pkcs11_version .major = 3 ;
621+ pkcs11_version .minor = 2 ;
622+ }
606623 version_ptr = & pkcs11_version ;
607624 }
608625 else {
@@ -629,6 +646,10 @@ int wc_Pkcs11_Initialize_v3(Pkcs11Dev* dev, const char* library,
629646 version_ptr -> minor == 1 ) {
630647 dev -> version = WC_PCKS11VERSION_3_1 ;
631648 }
649+ else if (version_ptr -> major == 3 &&
650+ version_ptr -> minor == 2 ) {
651+ dev -> version = WC_PCKS11VERSION_3_2 ;
652+ }
632653 else {
633654 WOLFSSL_MSG_EX ("Unsupported PKCS#11 version: %d.%d" ,
634655 version_ptr -> major , version_ptr -> minor );
0 commit comments