C_GetTokenInfo() は、特定のトークンに関する情報を取得します。 C_GetTokenInfo() の構文は次のとおりです。
C_GetTokenInfo(CK_SLOT_ID slotID, CK_TOKEN_INFO_PTR pInfo);
slotID は、目的のトークンに対するスロットの ID です。slotID は、C_GetSlotList() から返された有効な ID でなければなりません。pInfo は、トークン情報を格納する場所へのポインタです。
pkcs11_softtoken.so がインストールされている唯一のプロバイダである場合、C_GetTokenInfo() は次のフィールドと値を返します。
ラベル – Sun Software PKCS#11 softtoken。
フラグ – CKF_DUAL_CRYPTO_OPERATIONS、CKF_TOKEN_INITIALIZED、CKF_RNG、CKF_USER_PIN_INITIALIZED、および CKF_LOGIN_REQUIRED。これらのフラグには 1 が設定されます。
ulMaxSessionCount – CK_EFFECTIVELY_INFINITE が設定されます。
ulMaxRwSessionCount – CK_EFFECTIVELY_INFINITE が設定されます。
ulMaxPinLen – 256 が設定されます。
ulMinPinLen – 1 が設定されます。
ulTotalPublicMemory には CK_UNAVAILABLE_INFORMATION が設定されます。
ulFreePublicMemory には CK_UNAVAILABLE_INFORMATION が設定されます。
ulTotalPrivateMemory には CK_UNAVAILABLE_INFORMATION が設定されます。
ulFreePrivateMemory には CK_UNAVAILABLE_INFORMATION が設定されます。
CKR_FUNCTION_FAILED、CKR_GENERAL_ERROR、CKR_HOST_MEMORY、CKR_OK に加え、C_GetSlotlist() は次の戻り値を使用します。
CKR_ARGUMENTS_BAD
CKR_BUFFER_TOO_SMALL
CKR_CRYPTOKI_NOT_INITIALIZED
CKR_SLOT_ID_INVALID
次の戻り値は、プラグインされたハードウェアトークンに関するものです。
CKR_DEVICE_ERROR
CKR_DEVICE_MEMORY
CKR_DEVICE_REMOVED
CKR_TOKEN_NOT_PRESENT
CKR_TOKEN_NOT_RECOGNIZED