PKCS#11 FUNCTIONS
Function support matrix
A function is not considered supported merely because it exists in a Cryptoki header. The release matrix states implemented behavior and restrictions.
01
Function matrix
| Function | Status | Contract |
|---|---|---|
| C_GetFunctionList | Required | Returns release function table |
| C_Initialize / C_Finalize | Required | Threading flags and lifecycle |
| C_GetSlotList / C_GetTokenInfo | Required | Stable slot/token identity |
| C_WaitForSlotEvent | Optional by release | Blocking/event behavior |
| C_OpenSession / C_CloseSession | Required | RO/RW and pooling |
| C_Login / C_Logout | Required | User/SO/context-specific profile |
| C_FindObjects* | Required | Visibility and pagination |
| C_GetAttributeValue | Required | Published attribute behavior |
| C_GenerateKeyPair | Profiled | Key type/mechanism |
| C_DeriveKey | Profiled | KEM/hybrid mapping by release |
| C_Sign* / C_Verify* | Required for signing profile | Mechanism and encoding |
| C_DestroyObject | Required | Deletion and zeroization evidence |
02
Concurrency rules
- C_Initialize threading flags accepted by the release.
- Multi-thread and multi-process behavior.
- Handle invalidation after token removal or failover.
- Blocking behavior for long-running protected operations.
- Finalization behavior with open sessions.
