PKCS#11 COVERAGE This is the test coverage of the p11-tests tool of the PKCS#11 interface. We're anxious to complete this, if you have patches please do contribute. C_CloseAllSessions - Invalid slot id - Normal call - Check open session was closed - Call when no sessions open C_CloseSession - Invalid session - Normal call - Check open session was closed - Close twice C_Finalize - With invalid argument - Normal call - Double finalize in a row C_GetFunctionList - See if returns same data as library entry point C_GetInfo - NULL argument - Normal call - Space padded strings in CK_INFO - No flags set C_GetMechanismInfo - Invalid mechanism - Null arguments - Invalid slot id - Normal call C_GetMechanismList - Null arguments - Without buffer - Zero count but buffer present - Low count but buffer present C_GetSessionInfo - Invalid session - NULL arguments - Valid call - Valid slot id - Valid state for session - Valid flags for session C_GetSlotInfo - NULL argument - Normal call - Space padded CK_SLOT_INFO fields - CK_SLOT_INFO flags are from valid set - Track CKF_TOKEN_PRESENT flag and compare to C_GetSlotList(TRUE) C_GetSlotList - NULL arguments - Retrieving the count - Passing buffer space along with zero count. - Passing buffer space along with low count. - Passing too much buffer space. C_GetTokenInfo - Null arguments - Normal call - Space padded CK_TOKEN_INFO fields - CK_TOKEN_INFO flags are from valid set - Validate token time when CKF_CLOCK_ON_TOKEN - Calling on slot without token C_InitPIN - Not Implemented C_InitToken - Not Implemented C_Initialize - Normal call - Locking: no threads - Locking: os locking - Locking: app locking - Locking: either locking - Calls without initializing - NULL argument - Multiple initialize with C_Finalize between - Double initialize in a row C_OpenSession - Invalid slot - Null arguments - No flags - Without serial flag - Valid flags - Read write session C_SetPIN - Not Implemented C_WaitForSlotEvent - Not Implemented