This commit is contained in:
Alessio Di Mauro
2015-07-06 17:08:26 +02:00
parent 9f6dfed7cd
commit 7777ac3dad
2 changed files with 25 additions and 8 deletions
+1 -1
View File
@@ -71,7 +71,7 @@ CK_PKCS11_FUNCTION_INFO(C_Finalize)
CK_PKCS11_FUNCTION_INFO(C_GetInfo) CK_PKCS11_FUNCTION_INFO(C_GetInfo)
#ifdef CK_NEED_ARG_LIST #ifdef CK_NEED_ARG_LIST
( (
CK_VOID_PTR pInfo /* location that receives information */ CK_INFO_PTR pInfo /* location that receives information */
); );
#endif #endif
+24 -7
View File
@@ -13,6 +13,9 @@
#define YKCS11_DBG 1 // General debug, must be either 1 or 0 #define YKCS11_DBG 1 // General debug, must be either 1 or 0
#define YKCS11_DINOUT 1 // Function in/out debug, must be either 1 or 0 #define YKCS11_DINOUT 1 // Function in/out debug, must be either 1 or 0
#define YKCS11_MANUFACTURER "Yubico (www.yubico.com)"
#define YKCS11_LIBDESC "PKCS#11 PIV Library (SP-800-73)"
#define PIV_MIN_PIN_LEN 6 #define PIV_MIN_PIN_LEN 6
#define PIV_MAX_PIN_LEN 8 #define PIV_MAX_PIN_LEN 8
@@ -82,11 +85,24 @@ CK_DEFINE_FUNCTION(CK_RV, C_Finalize)(
} }
CK_DEFINE_FUNCTION(CK_RV, C_GetInfo)( CK_DEFINE_FUNCTION(CK_RV, C_GetInfo)(
CK_VOID_PTR pInfo CK_INFO_PTR pInfo
) )
{ {
DBG(("In")); DIN;
CK_VERSION ver = {0.0};
pInfo->cryptokiVersion = function_list.version;
memset(pInfo->manufacturerID, ' ', sizeof(pInfo->manufacturerID));
strcpy(pInfo->manufacturerID, YKCS11_MANUFACTURER);
pInfo->flags = 0;
memset(pInfo->libraryDescription, ' ', sizeof(pInfo->libraryDescription));
strcpy(pInfo->libraryDescription, YKCS11_LIBDESC);
pInfo->libraryVersion = ver;
DOUT;
return CKR_OK; return CKR_OK;
} }
@@ -131,7 +147,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetSlotList)(
for (i = 0; i < n_readers; i++) { for (i = 0; i < n_readers; i++) {
pSlotList[i] = i; pSlotList[i] = i;
} }
DBG(("%d token", tokenPresent)); DBG(("%d token", tokenPresent));
DBG(("%u count", *pulCount)); DBG(("%u count", *pulCount));
@@ -180,9 +196,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo)(
if (vid == UNKNOWN) if (vid == UNKNOWN)
return CKR_TOKEN_NOT_RECOGNIZED; return CKR_TOKEN_NOT_RECOGNIZED;
vendor = get_vendor(vid); vendor = get_vendor(vid);
memset(pInfo->label, ' ', sizeof(pInfo->label)); memset(pInfo->label, ' ', sizeof(pInfo->label));
p = vendor.get_label(); p = vendor.get_label();
len = strlen(p); len = strlen(p);
@@ -225,7 +241,7 @@ CK_DEFINE_FUNCTION(CK_RV, C_GetTokenInfo)(
ykpiv_get_version(piv_state, buf, sizeof(buf)); ykpiv_get_version(piv_state, buf, sizeof(buf));
ver = vendor.get_version(buf, strlen(buf)); ver = vendor.get_version(buf, strlen(buf));
pInfo->hardwareVersion = ver; // version number of hardware pInfo->hardwareVersion = ver; // version number of hardware
pInfo->firmwareVersion = ver; // version number of firmware pInfo->firmwareVersion = ver; // version number of firmware
@@ -949,8 +965,9 @@ CK_DEFINE_FUNCTION(CK_RV, C_CancelFunction)(
return CKR_OK; return CKR_OK;
} }
CK_FUNCTION_LIST function_list = { CK_FUNCTION_LIST function_list = {
{ 2, 24 }, { 2, 40 },
C_Initialize, C_Initialize,
C_Finalize, C_Finalize,
C_GetInfo, C_GetInfo,