Cryptographic Token Interface Standard

PKCS#11


Cryptographic Token Interface Standard Function Quick Reference

Here are the functions with brief descriptions:
C_CancelFunctionIn previous versions of Cryptoki, C_CancelFunction cancelled a function running in parallel with an application
C_CloseAllSessionsC_CloseAllSessions closes all sessions an application has with a token
C_CloseSessionC_CloseSession closes a session between an application and a token
C_CopyObjectC_CopyObject copies an object, creating a new object for the copy
C_CreateObjectC_CreateObject creates a new object
C_DecryptC_Decrypt decrypts encrypted data in a single part
C_DecryptDigestUpdateC_DecryptDigestUpdate continues a multiple-part combined decryption and digest operation, processing another data part
C_DecryptFinalC_DecryptFinal finishes a multiple-part decryption operation
C_DecryptInitC_DecryptInit initializes a decryption operation
C_DecryptUpdateC_DecryptUpdate continues a multiple-part decryption operation, processing another encrypted data part
C_DecryptVerifyUpdateC_DecryptVerifyUpdate continues a multiple-part combined decryption and verification operation, processing another data part
C_DeriveKeyC_DeriveKey derives a key from a base key, creating a new key object
C_DestroyObjectC_DestroyObject destroys an object
C_DigestC_Digest digests data in a single part
C_DigestEncryptUpdateC_DigestEncryptUpdate continues multiple-part digest and encryption operations, processing another data part
C_DigestFinalC_DigestFinal finishes a multiple-part message-digesting operation, returning the message digest
C_DigestInitC_DigestInit initializes a message-digesting operation
C_DigestKeyC_DigestKey continues a multiple-part message-digesting operation by digesting the value of a secret key
C_DigestUpdateC_DigestUpdate continues a multiple-part message-digesting operation, processing another data part
C_EncryptC_Encrypt encrypts single-part data
C_EncryptFinalC_EncryptFinal finishes a multiple-part encryption operation
C_EncryptInitC_EncryptInit initializes an encryption operation
C_EncryptUpdateC_EncryptUpdate continues a multiple-part encryption operation, processing another data part
C_FinalizeC_Finalize is called to indicate that an application is finished with the Cryptoki library
C_FindObjectsC_FindObjects continues a search for token and session objects that match a template, obtaining additional object handles
C_FindObjectsFinalC_FindObjectsFinal terminates a search for token and session objects
C_FindObjectsInitC_FindObjectsInit initializes a search for token and session objects that match a template
C_GenerateKeyC_GenerateKey generates a secret key, creating a new key object
C_GenerateKeyPairC_GenerateKeyPair generates a public/private key pair, creating new key objects
C_GenerateRandomC_GenerateRandom generates random or pseudo-random data
C_GetAttributeValueC_GetAttributeValue obtains the value of one or more attributes of an object
C_GetFunctionListC_GetFunctionList obtains a pointer to the Cryptoki library's list of function pointers
C_GetFunctionStatusIn previous versions of Cryptoki, C_GetFunctionStatus obtained the status of a function running in parallel with an application
C_GetInfoC_GetInfo returns general information about Cryptoki
C_GetMechanismInfoC_GetMechanismInfo obtains information about a particular mechanism possibly supported by a token
C_GetMechanismListC_GetMechanismList is used to obtain a list of mechanism types supported by a token
C_GetObjectSizeC_GetObjectSize gets the size of an object in bytes
C_GetOperationStateC_GetOperationState obtains a copy of the cryptographic operations state of a session, encoded as a string of bytes
C_GetSessionInfoC_GetSessionInfo obtains information about a session
C_GetSlotInfoC_GetSlotInfo obtains information about a particular slot in the system
C_GetSlotListC_GetSlotList is used to obtain a list of slots in the system
C_GetTokenInfoC_GetTokenInfo obtains information about a particular token in the system
C_InitializeC_Initialize initializes the Cryptoki library
C_InitPINC_InitPIN initializes the normal user's PIN
C_InitTokenC_InitToken initializes a token
C_LoginC_Login logs a user into a token
C_LogoutC_Logout logs a user out from a token
C_OpenSessionC_OpenSession opens a session between an application and a token in a particular slot
C_SeedRandomC_SeedRandom mixes additional seed material into the token's random number generator
C_SetAttributeValueC_SetAttributeValue modifies the value of one or more attributes of an object
C_SetOperationStateC_SetOperationState restores the cryptographic operations state of a session from a string of bytes obtained with C_GetOperationState
C_SetPINC_SetPIN modifies the PIN of the user that is currently logged in
C_SignC_Sign signs data in a single part, where the signature is an appendix to the data
C_SignEncryptUpdateC_SignEncryptUpdate continues a multiple-part combined signature and encryption operation, processing another data part
C_SignFinalC_SignFinal finishes a multiple-part signature operation, returning the signature
C_SignInitC_SignInit initializes a signature operation, where the signature is an appendix to the data
C_SignRecoverC_SignRecover signs data in a single operation, where the data can be recovered from the signature
C_SignRecoverInitC_SignRecoverInit initializes a signature operation, where the data can be recovered from the signature
C_SignUpdateC_SignUpdate continues a multiple-part signature operation, processing another data part
C_UnwrapKeyC_UnwrapKey unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object
C_VerifyC_Verify verifies a signature in a single-part operation, where the signature is an appendix to the data
C_VerifyFinalC_VerifyFinal finishes a multiple-part verification operation, checking the signature
C_VerifyInitC_VerifyInit initializes a verification operation, where the signature is an appendix to the data
C_VerifyRecoverC_VerifyRecover verifies a signature in a single-part operation, where the data is recovered from the signature
C_VerifyRecoverInitC_VerifyRecoverInit initializes a signature verification operation, where the data is recovered from the signature
C_VerifyUpdateC_VerifyUpdate continues a multiple-part verification operation, processing another data part
C_WaitForSlotEventC_WaitForSlotEvent waits for a slot event, such as token insertion or token removal, to occur
C_WrapKeyC_WrapKey wraps (i.e., encrypts) a private or secret key

RSA Security Inc. Public-Key Cryptography Standards - PKCS#11 - v201