Pkcs11Interop Type of application that will be using PKCS#11 library Recommended option: PKCS#11 library will be used from multi-threaded application and needs to perform locking with native OS threading model (CKF_OS_LOCKING_OK) PKCS#11 library will be used from single-threaded application and does not need to perform any kind of locking Exception with the name of PKCS#11 attribute whose value could not be read or converted Attribute whose value could not be read or converted Attribute whose value could not be read or converted Initializes new instance of AttributeValueException class Attribute whose value could not be read or converted Initializes a new instance of AttributeValueException class with a reference to the inner exception that is the cause of this exception Attribute whose value could not be read or converted The exception that is the cause of the current exception Initializes new instance of AttributeValueException class Attribute whose value could not be read or converted Initializes a new instance of AttributeValueException class with a reference to the inner exception that is the cause of this exception Attribute whose value could not be read or converted The exception that is the cause of the current exception Initializes new instance of AttributeValueException class Attribute whose value could not be read or converted Initializes a new instance of AttributeValueException class with a reference to the inner exception that is the cause of this exception Attribute whose value could not be read or converted The exception that is the cause of the current exception Initializes new instance of AttributeValueException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Populates a SerializationInfo with the data needed to serialize the target object SerializationInfo to populate with data The destination for this serialization General constants The following value is always invalid if used as a session handle or object handle Token and/or library is unable or unwilling to provide information Token and/or library is unable or unwilling to provide information Checks whether provided number has value of CK_UNAVAILABLE_INFORMATION constant Number to be checked True if number has value of CK_UNAVAILABLE_INFORMATION constant false otherwise Specifies no practical limit No certificate category specified Certificate belongs to owner of the token Certificate belongs to a certificate authority Certificate belongs to an end entity (i.e. not a CA) No JAVA MIDP security domain specified Manufacturer protection JAVA MIDP security domain Operator protection JAVA MIDP security domain Third party protection JAVA MIDP security domain Decimal (default) (UTF8-encoded) format of OTP value Hexadecimal (UTF8-encoded) format of OTP value Alphanumeric (UTF8-encoded) format of OTP value Binary format of OTP value OTP parameter, if supplied, will be ignored OTP parameter may be supplied but need not be OTP parameter must be supplied An actual OTP value A UTF8 string containing a PIN for use when computing or verifying PIN-based OTP values Challenge to use when computing or verifying challenge-based OTP values UTC time value in the form YYYYMMDDhhmmss to use when computing or verifying time-based OTP values Counter value to use when computing or verifying counter-based OTP values Bit flags indicating the characteristics of the sought OTP as defined below Desired output length (overrides any default value) Returned OTP format Attributes Object class (type) [CKO/uint] True if object is a token object; false if object is a session object [bool] True if object is a private object; false if object is a public object. [bool] Description of the object [string] Description of the application that manages the object [string] Value of the object [byte array] DER-encoding of the object identifier indicating the data object type [byte array] Type of certificate [CKC/uint] DER-encoding of the certificate issuer name [byte array] DER-encoding of the certificate serial number [byte array] DER-encoding of the attribute certificate's issuer field. [byte array] DER-encoding of the attribute certificate's subject field. [byte array] BER-encoding of a sequence of object identifier values corresponding to the attribute types contained in the certificate. [byte array] The certificate can be trusted for the application that it was created. [bool] Categorization of the certificate [uint] Java MIDP security domain [uint] If not empty this attribute gives the URL where the complete certificate can be obtained [string] SHA-1 hash of the subject public key [byte array] SHA-1 hash of the issuer public key [byte array] Checksum [byte array] Type of key [CKK/uint] DER-encoding of the key subject name [byte array] Key identifier for public/private key pair [byte array] True if key is sensitive [bool] True if key supports encryption [bool] True if key supports decryption [bool] True if key supports wrapping (i.e., can be used to wrap other keys) [bool] True if key supports unwrapping (i.e., can be used to unwrap other keys) [bool] True if key supports signatures (i.e., authentication codes) where the signature is an appendix to the data [bool] True if key supports signatures where the data can be recovered from the signature [bool] True if key supports verification (i.e., of authentication codes) where the signature is an appendix to the data [bool] True if key supports verification where the data is recovered from the signature [bool] True if key supports key derivation (i.e., if other keys can be derived from this one) [bool] Start date for the certificate/key [DateTime] End date for the certificate/key [DateTime] Modulus n [byte array] Length in bits of modulus n [uint] Public exponent e [byte array] Private exponent d [byte array] Prime p [byte array] Prime q [byte array] Private exponent d modulo p-1 [byte array] Private exponent d modulo q-1 [byte array] CRT coefficient q^-1 mod p [byte array] DER-encoding of the SubjectPublicKeyInfo [byte array] Prime p (512 to 1024 bits, in steps of 64 bits) [byte array] Subprime q (160 bits) [byte array] Base g [byte array] Length of the prime value [uint] Length of the subprime value [uint] Length in bits of private value x [uint] Length in bytes of key value [uint] True if key is extractable and can be wrapped [bool] True only if key was either generated locally (i.e., on the token) or created as a copy of a key which had its CKA_LOCAL attribute set to true [bool] True if key has never had the CKA_EXTRACTABLE attribute set to true [bool] True if key has always had the CKA_SENSITIVE attribute set to true [bool] Identifier of the mechanism used to generate the key material [CKM/uint] True if object can be modified [bool] True if object can be copied [bool] True if object can be destroyed [bool] DER-encoding of an ANSI X9.62 Parameters value [byte array] DER-encoding of an ANSI X9.62 Parameters value [byte array] DER-encoding of ANSI X9.62 ECPoint value Q [byte array] True if the key requires a secondary authentication to take place before its use it allowed [bool] Mask indicating the current state of the secondary authentication PIN [uint] If true, the user has to supply the PIN for each use (sign or decrypt) with the key [bool] True if the key can only be wrapped with a wrapping key that has CKA_TRUSTED set to true [bool] The attribute template to match against any keys wrapped using this wrapping key. Keys that do not match cannot be wrapped. [List of ObjectAttribute / CK_ATTRIBUTE array] The attribute template to apply to any keys unwrapped using this wrapping key. Any user supplied template is applied after this template as if the object has already been created. [List of ObjectAttribute / CK_ATTRIBUTE array] The attribute template to apply to any keys derived using this key. Any user supplied template is applied after this template as if the object has already been created. [List of ObjectAttribute / CK_ATTRIBUTE array] Format of OTP values produced with this key: CK_OTP_FORMAT_DECIMAL = Decimal, CK_OTP_FORMAT_HEXADECIMAL = Hexadecimal, CK_OTP_FORMAT_ALPHANUMERIC = Alphanumeric, CK_OTP_FORMAT_BINARY = Only binary values [uint] Default length of OTP values (in the CKA_OTP_FORMAT) produced with this key [uint] Interval between OTP values produced with this key, in seconds. [uint] Set to true when the token is capable of returning OTPs suitable for human consumption [bool] Parameter requirements when generating or verifying OTP values with this key: CK_OTP_PARAM_MANDATORY = A challenge must be supplied. CK_OTP_PARAM_OPTIONAL = A challenge may be supplied but need not be. CK_OTP_PARAM_IGNORED = A challenge, if supplied, will be ignored. [uint] Parameter requirements when generating or verifying OTP values with this key: CK_OTP_PARAM_MANDATORY = A time value must be supplied. CK_OTP_PARAM_OPTIONAL = A time value may be supplied but need not be. CK_OTP_PARAM_IGNORED = A time value, if supplied, will be ignored. [uint] Parameter requirements when generating or verifying OTP values with this key: CK_OTP_PARAM_MANDATORY = A counter value must be supplied. CK_OTP_PARAM_OPTIONAL = A counter value may be supplied but need not be. CK_OTP_PARAM_IGNORED = A counter value, if supplied, will be ignored. [uint] Parameter requirements when generating or verifying OTP values with this key: CK_OTP_PARAM_MANDATORY = A PIN value must be supplied. CK_OTP_PARAM_OPTIONAL = A PIN value may be supplied but need not be. CK_OTP_PARAM_IGNORED = A PIN value, if supplied, will be ignored. [uint] Value of the associated internal counter [byte array] Value of the associated internal UTC time in the form YYYYMMDDhhmmss [string] Text string that identifies a user associated with the OTP key (may be used to enhance the user experience). [string] Text string that identifies a service that may validate OTPs generated by this key [string] Logotype image that identifies a service that may validate OTPs generated by this key. [byte array] MIME type of the CKA_OTP_SERVICE_LOGO attribute value [string] DER-encoding of the object identifier indicating the data object type of GOST R 34.10-2001. [byte array] DER-encoding of the object identifier indicating the data object type of GOST R 34.11-94. [byte array] DER-encoding of the object identifier indicating the data object type of GOST 28147-89. [byte array] Hardware feature (type) [CKH/uint] The value of the counter will reset to a previously returned value if the token is initialized [bool] The value of the counter has been reset at least once at some point in time [bool] Screen resolution (in pixels) in X-axis [uint] Screen resolution (in pixels) in Y-axis [uint] DPI, pixels per inch [uint] Number of character rows for character-oriented displays [uint] Number of character columns for character-oriented displays [uint] Color support [bool] The number of bits of color or grayscale information per pixel. [uint] String indicating supported character sets, as defined by IANA MIBenum sets (www.iana.org). Supported character sets are separated with ";" e.g. a token supporting iso-8859-1 and us-ascii would set the attribute value to "4;3". [string] String indicating supported content transfer encoding methods, as defined by IANA (www.iana.org). Supported methods are separated with ";" e.g. a token supporting 7bit, 8bit and base64 could set the attribute value to "7bit;8bit;base64". [string] String indicating supported (presentable) MIME-types, as defined by IANA (www.iana.org). Supported types are separated with ";" e.g. a token supporting MIME types "a/b", "a/c" and "a/d" would set the attribute value to "a/b;a/c;a/d". [string] The type of mechanism object [CKM/uint] Attributes the token always will include in the set of CMS signed attributes [byte array] Attributes the token will include in the set of CMS signed attributes in the absence of any attributes specified by the application [byte array] Attributes the token may include in the set of CMS signed attributes upon request by the application [byte array] A list of mechanisms allowed to be used with this key [List of CKM / List of uint / CKM array / uint array] Permanently reserved for token vendors Certificate types X.509 public key certificate X.509 attribute certificate WTLS public key certificate Permanently reserved for token vendors Key derivation functions No derivation function ANSI X9.63 key derivation function based on SHA-1 ANSI X9.42 key derivation function based on SHA-1 ANSI X9.42 key derivation function based on SHA-1 ANSI X9.63 key derivation function based on SHA-224 ANSI X9.63 key derivation function based on SHA-256 ANSI X9.63 key derivation function based on SHA-384 ANSI X9.63 key derivation function based on SHA-512 CryptoPro KEK Diversification Algorithm described in section 6.5 of RFC 4357 Bit flags True if a token is present in the slot True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a "protected authentication path", whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism outside the scope of this standard. Calling C_InitializeToken when this flag is set will cause the token to be reinitialized. True if the token supports secondary authentication for private key objects. True if an incorrect user login PIN has been entered at least once since the last successful authentication. True if supplying an incorrect user PIN will it to become locked. True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. True if an incorrect SO login PIN has been entered at least once since the last successful authentication. True if supplying an incorrect SO PIN will it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. True if the token failed a FIPS 140-2 self-test and entered an error state. True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Identifies attribute whose value is an array of attributes True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed True if there is an extension to the flags; false if no extensions True if application threads which are executing calls to the library may not use native operating system calls to spawn new threads; false if they may True if the library can use the native operation system threading model for locking; false otherwise Flag indicating that C_WaitForSlotEvent should not block until an event occurs - it should return immediately instead True if the OTP computation shall be for the next OTP, rather than the current one True if the OTP computation must not include a time value True if the OTP computation must not include a counter value True if the OTP computation must not include a challenge True if the OTP computation must not include a PIN value True if the OTP returned shall be in a form suitable for human consumption Mask generation functions PKCS #1 Mask Generation Function with SHA-1 digest algorithm PKCS #1 Mask Generation Function with SHA-256 digest algorithm PKCS #1 Mask Generation Function with SHA-384 digest algorithm PKCS #1 Mask Generation Function with SHA-512 digest algorithm PKCS #1 Mask Generation Function with SHA-224 digest algorithm Hardware feature types Monotonic counter objects represent hardware counters that exist on the device. Clock objects represent real-time clocks that exist on the device. User interface objects represent the presentation capabilities of the device. Permanently reserved for token vendors. Key types RSA key DSA key DH (Diffie-Hellman) key EC (Elliptic Curve) key EC (Elliptic Curve) key X9.42 Diffie-Hellman public keys KEA keys Generic secret key RC2 key RC4 key Single-length DES key Double-length DES key Triple-length DES key CAST key CAST3 key CAST128 key CAST128 key RC5 key IDEA key Single-length MEK or a TEK Single-length BATON key Single-length JUNIPER key Single-length CDMF key AES key Blowfish key Twofish key RSA SecurID secret key Generic secret key and associated counter value ActivIdentity ACTI secret key Camellia key ARIA key MD5 HMAC key SHA-1 HMAC key RIPE-MD 128 HMAC key RIPE-MD 160 HMAC key SHA-256 HMAC key SHA-384 HMAC key SHA-512 HMAC key SHA-224 HMAC key SEED secret key GOST R 34.10-2001 key GOST R 34.11-94 key or domain parameter GOST 28147-89 key or domain parameter Permanently reserved for token vendors Mechanism type Key pair generation mechanism based on the RSA public-key cryptosystem, as defined in PKCS #1 Multi-purpose mechanism based on the RSA public-key cryptosystem and the block formats initially defined in PKCS #1 v1.5. Mechanism for single-part signatures and verification with and without message recovery based on the RSA public-key cryptosystem and the block formats defined in ISO/IEC 9796 and its annex A Multi-purpose mechanism based on the RSA public-key cryptosystem ("raw" RSA, as assumed in X.509) The PKCS #1 v1.5 RSA signature with MD2 mechanism The PKCS #1 v1.5 RSA signature with MD5 mechanism The PKCS #1 v1.5 RSA signature with SHA-1 mechanism The PKCS #1 v1.5 RSA signature with RIPEMD-128 The PKCS #1 v1.5 RSA signature with RIPEMD-160 The PKCS #1 RSA OAEP mechanism based on the RSA public-key cryptosystem and the OAEP block format defined in PKCS #1 The X9.31 RSA key pair generation mechanism The ANSI X9.31 RSA mechanism The ANSI X9.31 RSA signature with SHA-1 mechanism The PKCS #1 RSA PSS mechanism based on the RSA public-key cryptosystem and the PSS block format defined in PKCS#1 The PKCS #1 RSA PSS signature with SHA-1 mechanism The DSA key pair generation mechanism The DSA without hashing mechanism The DSA with SHA-1 mechanism The DSA with SHA-224 mechanism The DSA with SHA-256 mechanism The DSA with SHA-384 mechanism The DSA with SHA-512 mechanism The PKCS #3 Diffie-Hellman key pair generation mechanism The PKCS #3 Diffie-Hellman key derivation mechanism The X9.42 Diffie-Hellman key pair generation mechanism The X9.42 Diffie-Hellman key derivation mechanism The X9.42 Diffie-Hellman hybrid key derivation mechanism The X9.42 Diffie-Hellman Menezes-Qu-Vanstone (MQV) key derivation mechanism PKCS #1 v1.5 RSA signature with SHA-256 mechanism PKCS #1 v1.5 RSA signature with SHA-384 mechanism PKCS #1 v1.5 RSA signature with SHA-512 mechanism The PKCS #1 RSA PSS signature with SHA-256 mechanism The PKCS #1 RSA PSS signature with SHA-384 mechanism The PKCS #1 RSA PSS signature with SHA-512 mechanism The PKCS #1 v1.5 RSA signature with SHA-224 mechanism The PKCS #1 RSA PSS signature with SHA-224 mechanism The SHA-512/224 digesting mechanism Special case of the general-length SHA-512/224-HMAC mechanism The general-length SHA-512/224-HMAC mechanism that uses the HMAC construction, based on the SHA-512/224 hash function Key derivation based on the SHA-512/224 hash function The SHA-512/256 digesting mechanism Special case of the general-length SHA-512/256-HMAC mechanism The general-length SHA-512/256-HMAC mechanism that uses the HMAC construction, based on the SHA-512/256 hash function Key derivation based on the SHA-512/256 hash function The SHA-512/t digesting mechanism Special case of the general-length SHA-512/t-HMAC mechanism The general-length SHA-512/t-HMAC mechanism that uses the HMAC construction, based on the SHA-512/t hash function Key derivation based on the SHA-512/t hash function The RC2 key generation mechanism RC2-ECB encryption mechanism with electronic codebook mode (ECB) RC2-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length RC2-MAC mechanism General-length RC2-MAC mechanism based on data authentication as defined in FIPS PUB 113 RC2-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding The RC4 key generation mechanism RC4 encryption mechanism Single-length DES key generation mechanism DES-ECB encryption mechanism with electronic codebook mode (ECB) DES-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length DES-MAC mechanism General-length DES-MAC mechanism based on data authentication as defined in FIPS PUB 113 DES-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Double-length DES key generation mechanism Triple-length DES key generation mechanism DES3-ECB encryption mechanism with electronic codebook mode (ECB) DES3-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length DES3-MAC mechanism General-length DES3-MAC mechanism based on data authentication as defined in FIPS PUB 113 DES3-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding General-length DES3-CMAC mechanism based on Cipher-based Message Authenticate Code as defined in NIST SP 800-38B and RFC 4493 Special case of general-length DES3-CMAC mechanism based on Cipher-based Message Authenticate Code as defined in NIST SP 800-38B and RFC 4493 Single-length CDMF key generation mechanism CDMF-ECB encryption mechanism with electronic codebook mode (ECB) CDMF-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length CDMF-MAC mechanism General-length CDMF-MAC mechanism based on data authentication as defined in FIPS PUB 113 CDMF-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding DES-OFB64 encryption mechanism with output feedback mode (OFB) DES-OFB8 encryption mechanism with output feedback mode (OFB) DES-CFB64 encryption mechanism with cipher feedback mode (CFB) DES-CFB8 encryption mechanism with cipher feedback mode (CFB) The MD2 digesting mechanism Special case of the general-length MD2-HMAC mechanism The general-length MD2-HMAC mechanism that uses the HMAC construction, based on the MD2 hash function The MD5 digesting mechanism Special case of the general-length MD5-HMAC mechanism The general-length MD5-HMAC mechanism that uses the HMAC construction, based on the MD5 hash function The SHA-1 digesting mechanism Special case of the general-length SHA1-HMAC mechanism The general-length SHA1-HMAC mechanism that uses the HMAC construction, based on the SHA1 hash function The RIPE-MD 128 digesting mechanism Special case of the general-length RIPE-MD 128-HMAC mechanism The general-length RIPE-MD 128-HMAC mechanism that uses the HMAC construction, based on the RIPE-MD 128 hash function The RIPE-MD 160 digesting mechanism Special case of the general-length RIPE-MD 160-HMAC mechanism The general-length RIPE-MD 160-HMAC mechanism that uses the HMAC construction, based on the RIPE-MD 160 hash function The SHA-256 digesting mechanism Special case of the general-length SHA-256-HMAC mechanism The general-length SHA-256-HMAC mechanism that uses the HMAC construction, based on the SHA-256 hash function The SHA-224 digesting mechanism Special case of the general-length SHA-224-HMAC mechanism The general-length SHA-224-HMAC mechanism that uses the HMAC construction, based on the SHA-224 hash function The SHA-384 digesting mechanism Special case of the general-length SHA-384-HMAC mechanism The general-length SHA-384-HMAC mechanism that uses the HMAC construction, based on the SHA-384 hash function The SHA-512 digesting mechanism Special case of the general-length SHA-512-HMAC mechanism The general-length SHA-512-HMAC mechanism that uses the HMAC construction, based on the SHA-512 hash function Key generation mechanism for the RSA SecurID algorithm Mechanism for the retrieval and verification of RSA SecurID OTP values Key generation mechanism for the HOTP algorithm Mechanism for the retrieval and verification of HOTP OTP values Mechanism for the retrieval and verification of ACTI OTP values Key generation mechanism for the ACTI algorithm CAST key generation mechanism CAST-ECB encryption mechanism with electronic codebook mode (ECB) CAST-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length CAST-MAC mechanism General-length CAST-MAC mechanism based on data authentication as defined in FIPS PUB 113 CAST-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding CAST3 key generation mechanism CAST3-ECB encryption mechanism with electronic codebook mode (ECB) CAST3-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length CAST3-MAC mechanism General-length CAST3-MAC mechanism based on data authentication as defined in FIPS PUB 113 CAST3-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding CAST128 key generation mechanism CAST128 key generation mechanism CAST128-ECB encryption mechanism with electronic codebook mode (ECB) CAST128-ECB encryption mechanism with electronic codebook mode (ECB) CAST128-CBC encryption mechanism with cipher-block chaining mode (CBC) CAST128-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length CAST128-MAC mechanism Special case of general-length CAST128-MAC mechanism General-length CAST128-MAC mechanism based on data authentication as defined in FIPS PUB 113 General-length CAST128-MAC mechanism based on data authentication as defined in FIPS PUB 113 CAST128-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding CAST128-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding RC5 key generation mechanism RC5-ECB encryption mechanism with electronic codebook mode (ECB) RC5-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length RC5-MAC mechanism General-length RC5-MAC mechanism based on data authentication as defined in FIPS PUB 113 RC5-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding IDEA key generation mechanism IDEA-ECB encryption mechanism with electronic codebook mode (ECB) IDEA-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length IDEA-MAC mechanism General-length IDEA-MAC mechanism based on data authentication as defined in FIPS PUB 113 IDEA-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding The generic secret key generation mechanism Key derivation mechanism that derives a secret key from the concatenation of two existing secret keys Key derivation mechanism that derives a secret key by concatenating data onto the end of a specified secret key Key derivation mechanism that derives a secret key by prepending data to the start of a specified secret key Key derivation mechanism that Mechanism which provides the capability of creating one secret key from the bits of another secret key Mechanism for pre_master key generation in SSL 3.0 Mechanism for master key derivation in SSL 3.0 Mechanism for key, MAC and IV derivation in SSL 3.0 Mechanism for master key derivation for Diffie-Hellman in SSL 3.0 Mechanism for pre-master key generation in TLS 1.0, Mechanism for master key derivation in TLS 1.0 Mechanism for key, MAC and IV derivation in TLS 1.0 Mechanism for master key derivation for Diffie-Hellman in TLS 1.0 PRF (pseudo random function) in TLS Mechanism for MD5 MACing in SSL3.0 Mechanism for SHA-1 MACing in SSL3.0 MD5 key derivation mechanism MD2 key derivation mechanism SHA-1 key derivation mechanism SHA-256 key derivation mechanism SHA-384 key derivation mechanism SHA-512 key derivation mechanism SHA-224 key derivation mechanism MD2-PBE for DES-CBC mechanism used for generating a DES secret key and an IV from a password and a salt value by using the MD2 digest algorithm and an iteration count. This functionality is defined in PKCS#5 as PBKDF1. MD5-PBE for DES-CBC mechanism used for generating a DES secret key and an IV from a password and a salt value by using the MD5 digest algorithm and an iteration count. This functionality is defined in PKCS#5 as PBKDF1. MD5-PBE for CAST-CBC mechanism used for generating a CAST secret key and an IV from a password and a salt value by using the MD5 digest algorithm and an iteration count. MD5-PBE for CAST3-CBC mechanism used for generating a CAST3 secret key and an IV from a password and a salt value by using the MD5 digest algorithm and an iteration count. MD5-PBE for CAST128-CBC (CAST5-CBC) mechanism used for generating a CAST128 (CAST5) secret key and an IV from a password and a salt value by using the MD5 digest algorithm and an iteration count. MD5-PBE for CAST128-CBC mechanism used for generating a CAST128 secret key and an IV from a password and a salt value by using the MD5 digest algorithm and an iteration count. SHA-1-PBE for CAST128-CBC (CAST5-CBC) mechanism used for generating a CAST128 (CAST5) secret key and an IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for CAST128-CBC mechanism used for generating a CAST128 secret key and an IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 128-bit RC4 mechanism used for generating a 128-bit RC4 secret key from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 40-bit RC4 mechanism used for generating a 40-bit RC4 secret key from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 3-key triple-DES-CBC mechanism used for generating a 3-key triple-DES secret key and IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 2-key triple-DES-CBC mechanism used for generating a 2-key triple-DES secret key and IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 128-bit RC2-CBC mechanism used for generating a 128-bit RC2 secret key and IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. SHA-1-PBE for 40-bit RC2-CBC mechanism used for generating a 40-bit RC2 secret key and IV from a password and a salt value by using the SHA-1 digest algorithm and an iteration count. PKCS #5 PBKDF2 key generation mechanism used for generating a secret key from a password and a salt value SHA-1-PBA for SHA-1-HMAC mechanism used for generating a 160-bit generic secret key from a password and a salt value by using the SHA-1 digest algorithm and an iteration count Mechanism for pre-master secret key generation for the RSA key exchange suite in WTLS Mechanism for master secret derivation in WTLS Mechanism for master secret derivation for Diffie-Hellman and Elliptic Curve Cryptography in WTLS PRF (pseudo random function) in WTLS Mechanism for server key, MAC and IV derivation in WTLS Mechanism for client key, MAC and IV derivation in WTLS Mechanism is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Mechanism is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Mechanism is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Mechanism is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Mechanism for master key derivation in TLS 1.2 Mechanism for key, MAC and IV derivation in TLS 1.2 Mechanism for master key derivation for Diffie-Hellman in TLS 1.2 Mechanism that is identical to CKM_TLS12_KEY_AND_MAC_DERIVE except that it shall never produce IV data Mechanism for generation of integrity tags for the TLS "finished" message Mechanism that uses the TLS key material and TLS PRF function to produce additional key material for protocols that want to leverage the TLS key negotiation mechanism The LYNKS key wrapping mechanism The OAEP key wrapping for SET mechanism The CMS mechanism The CT-KIP key derivation mechanism The CT-KIP key wrap and unwrap mechanism The CT-KIP signature (MAC) mechanism The Camellia key generation mechanism Camellia-ECB encryption mechanism with electronic codebook mode (ECB) Camellia-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length Camellia-MAC mechanism General-length Camellia-MAC mechanism based on data authentication as defined in FIPS PUB 113 Camellia-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Key derivation mechanism based on Camellia-ECB encryption mechanism with electronic codebook mode (ECB) Key derivation mechanism based on Camellia-CBC encryption mechanism with cipher-block chaining mode (CBC) Camellia-CTR mechanism for encryption and decryption with CAMELLIA in counter mode The ARIA key generation mechanism ARIA-ECB encryption mechanism with electronic codebook mode (ECB) ARIA-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length ARIA-MAC mechanism General-length ARIA-MAC mechanism based on data authentication as defined in FIPS PUB 113 ARIA-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Key derivation mechanism based on ARIA-ECB encryption mechanism with electronic codebook mode (ECB) Key derivation mechanism based on ARIA-CBC encryption mechanism with cipher-block chaining mode (CBC) The SEED key generation mechanism SEED-ECB encryption mechanims with electronic codebook mode (ECB) SEED-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length SEED-MAC mechanism General-length SEED-MAC mechanism based on data authentication as defined in FIPS PUB 113 SEED-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Key derivation mechanism based on SEED-ECB encryption mechanism with electronic codebook mode (ECB) Key derivation mechanism based on SEED-CBC encryption mechanism with cipher-block chaining mode (CBC) The SKIPJACK key generation mechanism SKIPJACK-ECB64 mechanism for encryption and decryption with SKIPJACK in 64-bit electronic codebook mode (ECB) SKIPJACK-CBC64 mechanism for encryption and decryption with SKIPJACK in 64-bit cipher-block chaining mode (CBC) SKIPJACK-OFB64 mechanism for encryption and decryption with SKIPJACK in 64-bit output feedback mode (OFB) SKIPJACK-CFB64 mechanism for encryption and decryption with SKIPJACK in 64-bit cipher feedback mode (CFB) SKIPJACK-CFB32 mechanism for encryption and decryption with SKIPJACK in 32-bit cipher feedback mode (CFB) SKIPJACK-CFB16 mechanism for encryption and decryption with SKIPJACK in 16-bit cipher feedback mode (CFB) SKIPJACK-CFB8 mechanism for encryption and decryption with SKIPJACK in 8-bit cipher feedback mode (CFB) SKIPJACK mechanism for wrapping and unwrapping of secret keys (MEK) Mechanism for wrapping and unwrapping KEA and DSA private keys Mechanism for "change of wrapping" on a private key which was wrapped with the SKIPJACK-PRIVATE-WRAP mechanism The KEA key pair generation mechanism The KEA key derivation mechanism The KEA key derivation mechanism The FORTEZZA timestamp mechanism The BATON key generation mechanism BATON-ECB128 mechanism for encryption and decryption with BATON in 128-bit electronic codebook mode (ECB) BATON-ECB96 mechanism for encryption and decryption with BATON in 96-bit electronic codebook mode (ECB) BATON-CBC128 mechanism for encryption and decryption with BATON in 128-bit cipher-block chaining mode (CBC) BATON-COUNTER mechanism encryption and decryption with BATON in counter mode BATON-SHUFFLE mechanism for encryption and decryption with BATON in shuffle mode BATON mechanism for wrapping and unwrapping of secret keys (MEK) The EC (also related to ECDSA) key pair generation mechanism The EC (also related to ECDSA) key pair generation mechanism The ECDSA without hashing mechanism The ECDSA with SHA-1 mechanism The ECDSA with SHA-224 mechanism The ECDSA with SHA-256 mechanism The ECDSA with SHA-384 mechanism The ECDSA with SHA-512 mechanism The elliptic curve Diffie-Hellman (ECDH) key derivation mechanism The elliptic curve Diffie-Hellman (ECDH) with cofactor key derivation mechanism The elliptic curve Menezes-Qu-Vanstone (ECMQV) key derivation mechanism Mechanism based on the EC public-key cryptosystem and the AES key wrap mechanism Mechanism based on the RSA public-key cryptosystem and the AES key wrap mechanism The JUNIPER key generation mechanism JUNIPER-ECB128 mechanism for encryption and decryption with JUNIPER in 128-bit electronic codebook mode (ECB) JUNIPER-CBC128 mechanism for encryption and decryption with JUNIPER in 128-bit cipher-block chaining mode (CBC) JUNIPER COUNTER mechanism for encryption and decryption with JUNIPER in counter mode JUNIPER-SHUFFLE mechanism for encryption and decryption with JUNIPER in shuffle mode The JUNIPER wrap and unwrap mechanism used to wrap and unwrap an MEK The FASTHASH digesting mechanism The AES key generation mechanism AES-ECB encryption mechanism with electronic codebook mode (ECB) AES-CBC encryption mechanism with cipher-block chaining mode (CBC) Special case of general-length AES-MAC mechanism General-length AES-MAC mechanism based on data authentication as defined in FIPS PUB 113 AES-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding AES-CTR encryption mechanism with AES in counter mode AES-GCM authenticated encryption AES-CCM authenticated encryption AES CBC encryption with Cipher Text Stealing CTS Special case of general-length AES-CMAC mechanism based on Cipher-based Message Authenticate Code as defined in NIST SP 800-38B and RFC 4493 General-length AES-CMAC mechanism based on Cipher-based Message Authenticate Code as defined in NIST SP 800-38B and RFC 4493 AES-XCBC-MAC signing and verification mechanism based on NIST AES and RFC 3566 AES-XCBC-MAC-96 signing and verification mechanism based on NIST AES and RFC 3566 AES-GMAC signing and verification mechanism described in NIST SP 800-38D The Blowfish key generation mechanism Blowfish-CBC mechanism for encryption and decryption; key wrapping; and key unwrapping The Twofish key generation mechanism Twofish-CBC mechanism for encryption and decryption; key wrapping; and key unwrapping Blowfish-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Twofish-CBC encryption mechanism with cipher-block chaining mode (CBC) and PKCS#7 padding Key derivation mechanism that uses the result of an DES-ECB encryption operation as the key value Key derivation mechanism that uses the result of an DES-CBC encryption operation as the key value Key derivation mechanism that uses the result of an DES3-ECB encryption operation as the key value Key derivation mechanism that uses the result of an DES3-CBC encryption operation as the key value Key derivation mechanism that uses the result of an AES-ECB encryption operation as the key value Key derivation mechanism that uses the result of an AES-CBC encryption operation as the key value GOST R 34.10-2001 key generation GOST R 34.10-2001 signing and verification without hashing GOST R 34.10-2001 signing and verification with GOST R 34.11-94 hashing GOST R 34.10-2001 based mechanims for GOST 28147-89 key wrapping GOST R 34.10-2001 based key derivation mechanim GOST R 34.11-94 digesting mechanism GOST R 34.11-94 based mechanism for HMAC construction GOST 28147-89 key generation GOST 28147-89 encryption mechanism with electronic codebook mode (ECB) GOST 28147-89 encryption mechanism with with cipher feedback mode (CFB) and additional CBC mode defined in section 2 of RFC 4357 GOST 28147-89-MAC mechanism for data integrity and authentication based on GOST 28147-89 and key meshing algorithms defined in section 2.3 of RFC 4357 GOST 28147-89 based mechanims for GOST 28147-89 key wrapping The DSA domain parameter generation mechanism The PKCS #3 Diffie-Hellman domain parameter generation mechanism The X9.42 Diffie-Hellman domain parameter generation mechanism The DSA probabilistic domain parameter generation mechanism based on the DSA defined in Appendix A.1.1 of FIPS PUB 186-4 The DSA Shawe-Taylor domain parameter generation mechanism based on the DSA defined in Appendix A.1.2 of FIPS PUB 186-4 AES-OFB encryption mechanism with output feedback mode (OFB) AES-CFB64 encryption mechanism with cipher feedback mode (CFB) AES-CFB8 encryption mechanism with cipher feedback mode (CFB) AES-CFB128 encryption mechanism with cipher feedback mode (CFB) AES-CFB1 encryption mechanism with cipher feedback mode (CFB) AES key wrapping mechanism without padding AES key wrapping mechanism with padding Multi-purpose mechanism based on the RSA public-key cryptosystem and the block formats initially defined in PKCS#1 v1.5, with additional formatting rules defined in TCPA TPM Specification Version 1.1b Multi-purpose mechanism based on the RSA public-key cryptosystem and the OAEP block format defined in PKCS #1, with additional formatting defined in TCPA TPM Specification Version 1.1b Permanently reserved for token vendors Notifications Cryptoki is surrendering the execution of a function executing in a session so that the application may perform other operations Cryptoki is informing the application that the OTP for a key on a connected token just changed Object class Data object that holds information defined by an application. Certificate object that holds public-key or attribute certificates. Public key object that holds public keys. Private key object that holds private keys. Secret key object that holds secret keys. Hardware feature object that represent features of the device. Domain parameter object that holds public domain parameters. Mechanism object that provides information about mechanisms supported by a device beyond that given by the CK_MECHANISM_INFO structure. OTP key object that holds secret keys used by OTP tokens. Reserved for token vendors. Pseudo-random functions PKCS#5 PBKDF2 with HMAC-SHA-1 pseudorandom function PKCS#5 PBKDF2 with GOST R34.11-94 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-224 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-256 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-384 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-512 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-512/224 pseudorandom function PKCS#5 PBKDF2 with HMAC-SHA-512/256 pseudorandom function Return values The function executed successfully Cryptoki function aborts and returns CKR_FUNCTION_CANCELED, when CKR_CANCEL is returned by CKN_SURRENDER callback The computer that the Cryptoki library is running on has insufficient memory to perform the requested function The specified slot ID is not valid Some horrible, unrecoverable error has occurred The requested function could not be performed Generic error code which indicates that the arguments supplied to the Cryptoki function were in some way not appropriate Returned when C_GetSlotEvent is called in non-blocking mode and there are no new slot events to return Returned by C_Initialize when application did not allow library to use the native operation system threading model for locking and the library cannot function properly without being able to spawn new threads Returned by C_Initialize when the type of locking requested by the application for thread-safety is not available in this library An attempt was made to set a value for an attribute which may not be set by the application, or which may not be modified by the application An attempt was made to obtain the value of an attribute of an object which cannot be satisfied because the object is either sensitive or unextractable An invalid attribute type was specified in a template An invalid value was specified for a particular attribute in a template The action may not be taken The plaintext input data to a cryptographic operation is invalid The plaintext input data to a cryptographic operation has a bad length Some problem has occurred with the token and/or slot The token does not have sufficient memory to perform the requested function The token was removed from its slot during the execution of the function The encrypted input to a decryption operation has been determined to be invalid ciphertext The ciphertext input to a decryption operation has been determined to be invalid ciphertext solely on the basis of its length The function was canceled in mid-execution There is currently no function executing in parallel in the specified session The requested function is not supported by this Cryptoki library The specified key handle is not valid Size of supplied key is outside the range of supported key sizes The specified key is not the correct type of key to use with the specified mechanism An extraneous key was supplied to C_SetOperationState One of the keys supplied to C_SetOperationState is not the same key that was being used in the original saved session Session state cannot be restored because C_SetOperationState needs to be supplied with one or more keys that were being used in the original saved session Value of the specified key cannot be digested An attempt has been made to use a key for a cryptographic purpose that the key's attributes are not set to allow it to do Library is unable to wrap the key in the requested way The specified private or secret key can't be wrapped An invalid mechanism was specified to the cryptographic operation Invalid parameters were supplied to the mechanism specified to the cryptographic operation The specified object handle is not valid There is already an active operation which prevents Cryptoki from activating the specified operation There is no active operation of an appropriate type in the specified session The specified PIN is incorrect The specified PIN has invalid characters in it The specified PIN is too long or too short The specified PIN has expired The specified PIN is locked and cannot be used The session was closed during the execution of the function Attempt to open a session failed because the token has too many sessions already open The specified session handle was invalid at the time that the function was invoked The specified token does not support parallel sessions The specified session was unable to accomplish the desired action because it is a read-only session Returned by C_InitToken when session with the token is open that prevents the token initialization A read-only session already exists, and so the SO cannot be logged in A read/write SO session already exists, and so a read-only session cannot be opened The provided signature/MAC is invalid The provided signature/MAC can be seen to be invalid solely on the basis of its length The template specified for creating an object is incomplete, and lacks some necessary attributes The template specified for creating an object has conflicting attributes The token was not present in its slot at the time that the function was invoked The Cryptoki library and/or slot does not recognize the token in the slot The requested action could not be performed because the token is write-protected Key handle specified to be used to unwrap another key is not valid Unwrapping opration cannot be carried out because the supplied key's size is outside the range of supported key sizes Type of the key specified to unwrap another key is not consistent with the mechanism specified for unwrapping User cannot be logged into the session because it is already logged into the session The desired action cannot be performed because the appropriate user is not logged in Normal user's PIN has not yet been initialized Invalid user type specified User cannot be logged into the session because another user is already logged into the session An attempt was made to have more distinct users simultaneously logged into the token than the token and/or library permits Provided wrapped key is not valid Provided wrapped key can be seen to be invalid solely on the basis of its length Key handle specified to be used to wrap another key is not valid Wrapping operation cannot be carried out because the supplied wrapping key's size is outside the range of supported key sizes Type of the key specified to wrap another key is not consistent with the mechanism specified for wrapping Token's random number generator does not accept seeding from an application Token doesn't have a random number generator Invalid or unsupported domain parameters were supplied to the function Curve is not supported by the token The output of the function is too large to fit in the supplied buffer Supplied saved cryptographic operations state is invalid, and so it cannot be restored to the specified session The information requested could not be obtained because the token considers it sensitive, and is not able or willing to reveal it The cryptographic operations state of the specified session cannot be saved Function cannot be executed because the Cryptoki library has not yet been initialized Cryptoki library has already been initialized Returned by mutex-handling functions who are passed a bad mutex object as an argument Mutex supplied to the mutex-unlocking function was not locked The supplied OTP was not accepted and the library requests a new OTP computed using a new PIN The supplied OTP was correct but indicated a larger than normal drift in the token's internal state. Application should provide the next one-time password to the library for verification. An iterative algorithm failed because the maximum number of iterations has been exceeded A FIPS 140-2 power-up self-test or conditional self-test failed The Cryptoki library could not load a dependent shared library The specified PIN is too weak so that it could be easy to guess The public key fails a public key validation The signature request is rejected by the user Permanently reserved for token vendors Session States The application has opened a read-only session. The application has read-only access to public token objects and read/write access to public session objects. The normal user has been authenticated to the token. The application has read-only access to all token objects (public or private) and read/write access to all session objects (public or private). The application has opened a read/write session. The application has read/write access to all public objects. The normal user has been authenticated to the token. The application has read/write access to all objects. The Security Officer has been authenticated to the token. The application has read/write access only to public objects on the token, not to private objects. The SO can set the normal user's PIN. Types of Cryptoki users Security Officer Normal user Context specific Salt/Encoding parameter sources PKCS #1 RSA OAEP: Encoding parameter specified PKCS #5 PBKDF2 Key Generation: Salt specified Utility class that helps with data type conversions. Converts uint to byte array Uint that should be converted Byte array with uint value Converts byte array to uint Byte array that should be converted Uint with value from byte array Converts ulong to byte array Uint that should be converted Byte array with ulong value Converts byte array to ulong Byte array that should be converted Uint with value from byte array Converts bool to byte array Bool that should be converted Byte array with bool value Converts byte array to bool Byte array that should be converted Bool with value from byte array Converts UTF-8 string to byte array (not null terminated) String that should be converted Byte array with string value Converts UTF-8 string to byte array padded or trimmed to specified length String that should be converted Expected length of byte array Padding byte that will be used for padding to expected length Byte array with string value padded or trimmed to specified length Converts byte array (not null terminated) to UTF-8 string Byte array that should be converted String with value from byte array Converts byte array to UTF-8 string (not null terminated) Byte array that should be converted Flag indicating whether white space characters should be removed from the end of resulting string String with value from byte array Converts specified range of byte array to UTF-8 string (not null terminated) Byte array that should be processed Starting index of bytes to decode Number of bytes to decode String with value from byte array Converts string with UTC time to DateTime UTC time that should be converted (formatted as string of length 16 represented in the format YYYYMMDDhhmmssxx). DateTime if successful, null otherwise. Converts byte array to hex encoded string Byte array that should be converted String with hex encoded value from byte array Converts hex encoded string to byte array String that should be converted Byte array decoded from string Converts byte array to Base64 encoded string Byte array that should be converted String with Base64 encoded value from byte array Converts Base64 encoded string to byte array String that should be converted Byte array decoded from string Exception indicating that Silverlight version of Pkcs11Interop is missing elevated trust Initializes new instance of ElevatedPermissionsMissingException class Message that describes the error Initializes new instance of ElevatedPermissionsMissingException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Interface for mechanism parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Source of PKCS#11 function pointers Recommended option: PKCS#11 function pointers will be acquired with single call of C_GetFunctionList function PKCS#11 function pointers will be acquired with multiple calls of GetProcAddress or dlsym function Exception indicating an attempt to load unmanaged PKCS#11 library designated for a different architecture Initializes new instance of LibraryArchitectureException class Initializes a new instance of LibraryArchitectureException class with a specified error message and a reference to the inner exception that is the cause of this exception The exception that is the cause of the current exception Initializes new instance of LibraryArchitectureException class Message that describes the error Initializes a new instance of LibraryArchitectureException class with a specified error message and a reference to the inner exception that is the cause of this exception The message that describes the error The exception that is the cause of the current exception Initializes new instance of LibraryArchitectureException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Imported native methods Error indicating an attempt to load unmanaged library designated for a different architecture Loads the specified module into the address space of the calling process. The name of the module. If the function succeeds, the return value is a handle to the module. If the function fails, the return value is NULL. Frees the loaded dynamic-link library (DLL) module and, if necessary, decrements its reference count. A handle to the loaded library module. If the function succeeds, the return value is nonzero. If the function fails, the return value is zero. Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL). A handle to the DLL module that contains the function or variable. The function or variable name, or the function's ordinal value. If the function succeeds, the return value is the address of the exported function or variable. If the function fails, the return value is NULL. Immediately resolve all symbols Resolved symbols are not available for subsequently loaded libraries Immediately resolve all symbols Resolved symbols are not available for subsequently loaded libraries Human readable string describing the most recent error that occurred from dlopen(), dlsym() or dlclose() since the last call to dlerror(). Human readable string describing the most recent error or NULL if no errors have occurred since initialization or since it was last called. Loads the dynamic library Library filename. RTLD_LAZY for lazy function call binding or RTLD_NOW immediate function call binding. Handle for the dynamic library if successful, IntPtr.Zero otherwise. Checks if the library (mach-o file) is compatible with the current process Library path. True if library is compatible. If library is not compatible, it returns false and sets an error string that can be examined with dlerror. Decrements the reference count on the dynamic library handle. If the reference count drops to zero and no other loaded libraries use symbols in it, then the dynamic library is unloaded. Handle for the dynamic library. Returns 0 on success, and nonzero on error. Returns the address where the symbol is loaded into memory. Handle for the dynamic library. Name of symbol that should be addressed. Returns 0 on success, and nonzero on error. Exception with the name of PKCS#11 method that failed and its return value Name of method that caused exception Name of method that caused exception Return value of method that caused exception Return value of method that caused exception Initializes new instance of Pkcs11Exception class Name of method that caused exception Return value of method that caused exception Initializes new instance of Pkcs11Exception class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Populates a SerializationInfo with the data needed to serialize the target object SerializationInfo to populate with data The destination for this serialization PKCS#11 URI parser Intializes new instance of Pkcs11Uri class that parses provided PKCS#11 URI and checks max lengths of path attribute values PKCS#11 URI to be parsed Intializes new instance of Pkcs11Uri class that parses provided PKCS#11 URI PKCS#11 URI to be parsed Flag indicating whether max lengths of path attribute values should be checked Flag indicating whether max lengths of path attribute values were checked Flag indicating whether max lengths of path attribute values were checked Flag indicating whether PKCS#11 URI path attributes define specific PKCS#11 library Flag indicating whether PKCS#11 URI path attributes define specific slot Flag indicating whether PKCS#11 URI path attributes define specific token Flag indicating whether PKCS#11 URI path attributes define specific object Value of path attribute "token" that corresponds to the "label" member of the CK_TOKEN_INFO structure Value of path attribute "token" that corresponds to the "label" member of the CK_TOKEN_INFO structure Value of path attribute "manufacturer" that corresponds to the "manufacturerID" member of CK_TOKEN_INFO structure Value of path attribute "manufacturer" that corresponds to the "manufacturerID" member of CK_TOKEN_INFO structure Value of path attribute "serial" that corresponds to the "serialNumber" member of CK_TOKEN_INFO structure Value of path attribute "serial" that corresponds to the "serialNumber" member of CK_TOKEN_INFO structure Value of path attribute "model" that corresponds to the "model" member of CK_TOKEN_INFO structure Value of path attribute "model" that corresponds to the "model" member of CK_TOKEN_INFO structure Value of path attribute "library-manufacturer" that corresponds to the "manufacturerID" member of CK_INFO structure Value of path attribute "library-manufacturer" that corresponds to the "manufacturerID" member of CK_INFO structure Value of path attribute "library-description" that corresponds to the "libraryDescription" member of CK_INFO structure Value of path attribute "library-description" that corresponds to the "libraryDescription" member of CK_INFO structure Value of path attribute "library-version" that corresponds to the "libraryVersion" member of CK_INFO structure Value of path attribute "library-version" that corresponds to the "libraryVersion" member of CK_INFO structure Value of path attribute "object" that corresponds to the "CKA_LABEL" object attribute Value of path attribute "object" that corresponds to the "CKA_LABEL" object attribute Value of path attribute "type" that corresponds to the "CKA_CLASS" object attribute Value of path attribute "type" that corresponds to the "CKA_CLASS" object attribute Value of path attribute "id" that corresponds to the "CKA_ID" object attribute Value of path attribute "id" that corresponds to the "CKA_ID" object attribute Value of path attribute "slot-manufacturer" that corresponds to the "manufacturerID" member of CK_SLOT_INFO structure Value of path attribute "slot-manufacturer" that corresponds to the "manufacturerID" member of CK_SLOT_INFO structure Value of path attribute "slot-description" that corresponds to the "slotDescription" member of CK_SLOT_INFO structure Value of path attribute "slot-description" that corresponds to the "slotDescription" member of CK_SLOT_INFO structure Value of path attribute "slot-id" that corresponds to the decimal number of "CK_SLOT_ID" type Value of path attribute "slot-id" that corresponds to the decimal number of "CK_SLOT_ID" type Collection of unknown vendor specific path attributes Collection of unknown vendor specific path attributes Value of query attribute "pin-source" that specifies where token PIN can be obtained Value of query attribute "pin-source" that specifies where token PIN can be obtained Value of query attribute "pin-value" that contains token PIN Value of query attribute "pin-value" that contains token PIN Value of query attribute "module-name" that specifies name of the PKCS#11 library Value of query attribute "module-name" that specifies name of the PKCS#11 library Value of query attribute "module-path" that specifies path to the PKCS#11 library Value of query attribute "module-path" that specifies path to the PKCS#11 library Collection of unknown vendor specific query attributes Collection of unknown vendor specific query attributes Extracts PKCS#11 URI from text and removes all whitespaces Text that contains PKCS#11 URI PKCS#11 URI without whitespaces Parses PKCS#11 URI PKCS#11 URI that should be parsed Parses path attribute Path attribute that should be parsed Parses query attribute Query attribute that should be parsed Checks whether Pk11String contains invalid characters and optionaly decodes percent encoded characters Name of attribute whose value is being decoded Pk11String that should be decoded Characters allowed to be present unencoded in Pk11String Flag indicating whether percent encoded characters should be decoded Decoded Pk11String Checks whether character is hex digit Character that should be checked True if character is hex digit false otherwise PKCS#11 URI builder Implementation note: As recommended by PKCS#11 URI specification Pkcs11UriBuilder class percent-encodes the whole value of the "id" attribute which is supposed to be handled as arbitrary binary data. Therefore it is not possible to construct URIs with arbitrary string value of the "id" attribute. Implementation note: Validation of each individual attribute value is performed by the setter of corresponding Pkcs11UriBuilder class property with the exception to UnknownPathAttributes and UnknownQueryAttributes properties whose values are validated when ToString() or ToPkcs11Uri() method is called. Intializes new instance of Pkcs11UriBuilder class that checks max lengths of path attribute values Intializes new instance of Pkcs11UriBuilder class Flag indicating whether max lengths of path attribute values should be checked Intializes new instance of Pkcs11UriBuilder class with specified PKCS#11 URI whose ChecksLengths property specifies whether max lengths of path attribute values should be checked PKCS#11 URI with default values Intializes new instance of Pkcs11UriBuilder class with specified PKCS#11 URI PKCS#11 URI with default values Flag indicating whether max lengths of path attribute values should be checked Sets properties of Pkcs11UriBuilder class with default values specified by PKCS#11 URI PKCS#11 URI with default values Flag indicating whether max lengths of path attribute values should be checked Flag indicating whether max lengths of path attribute values are checked Flag indicating whether max lengths of path attribute values are checked Value of path attribute "token" encoded for PKCS#11 URI Value of path attribute "token" that corresponds to the "label" member of the CK_TOKEN_INFO structure Value of path attribute "token" that corresponds to the "label" member of the CK_TOKEN_INFO structure Value of path attribute "manufacturer" encoded for PKCS#11 URI Value of path attribute "manufacturer" that corresponds to the "manufacturerID" member of CK_TOKEN_INFO structure Value of path attribute "manufacturer" that corresponds to the "manufacturerID" member of CK_TOKEN_INFO structure Value of path attribute "serial" encoded for PKCS#11 URI Value of path attribute "serial" that corresponds to the "serialNumber" member of CK_TOKEN_INFO structure Value of path attribute "serial" that corresponds to the "serialNumber" member of CK_TOKEN_INFO structure Value of path attribute "model" encoded for PKCS#11 URI Value of path attribute "model" that corresponds to the "model" member of CK_TOKEN_INFO structure Value of path attribute "model" that corresponds to the "model" member of CK_TOKEN_INFO structure Value of path attribute "library-manufacturer" encoded for PKCS#11 URI Value of path attribute "library-manufacturer" that corresponds to the "manufacturerID" member of CK_INFO structure Value of path attribute "library-manufacturer" that corresponds to the "manufacturerID" member of CK_INFO structure Value of path attribute "library-description" encoded for PKCS#11 URI Value of path attribute "library-description" that corresponds to the "libraryDescription" member of CK_INFO structure Value of path attribute "library-description" that corresponds to the "libraryDescription" member of CK_INFO structure Value of path attribute "library-version" encoded for PKCS#11 URI Value of path attribute "library-version" that corresponds to the "libraryVersion" member of CK_INFO structure Value of path attribute "library-version" that corresponds to the "libraryVersion" member of CK_INFO structure Value of path attribute "object" encoded for PKCS#11 URI Value of path attribute "object" that corresponds to the "CKA_LABEL" object attribute Value of path attribute "object" that corresponds to the "CKA_LABEL" object attribute Value of path attribute "type" encoded for PKCS#11 URI Value of path attribute "type" that corresponds to the "CKA_CLASS" object attribute Value of path attribute "type" that corresponds to the "CKA_CLASS" object attribute Value of path attribute "id" encoded for PKCS#11 URI Value of path attribute "id" that corresponds to the "CKA_ID" object attribute Value of path attribute "id" that corresponds to the "CKA_ID" object attribute Value of path attribute "slot-manufacturer" encoded for PKCS#11 URI Value of path attribute "slot-manufacturer" that corresponds to the "manufacturerID" member of CK_SLOT_INFO structure Value of path attribute "slot-manufacturer" that corresponds to the "manufacturerID" member of CK_SLOT_INFO structure Value of path attribute "slot-description" encoded for PKCS#11 URI Value of path attribute "slot-description" that corresponds to the "slotDescription" member of CK_SLOT_INFO structure Value of path attribute "slot-description" that corresponds to the "slotDescription" member of CK_SLOT_INFO structure Value of path attribute "slot-id" encoded for PKCS#11 URI Value of path attribute "slot-id" that corresponds to the decimal number of "CK_SLOT_ID" type Value of path attribute "slot-id" that corresponds to the decimal number of "CK_SLOT_ID" type Collection of unknown vendor specific path attributes that is validated when ToString() or ToPkcs11Uri() method is called Collection of unknown vendor specific path attributes that is validated when ToString() or ToPkcs11Uri() method is called Encodes collection of unknown vendor specific path attributes for PKCS#11 URI List of unknown vendor specific path attributes encoded for PKCS#11 URI Value of query attribute "pin-source" encoded for PKCS#11 URI Value of query attribute "pin-source" that specifies where token PIN can be obtained Value of query attribute "pin-source" that specifies where token PIN can be obtained Value of query attribute "pin-value" encoded for PKCS#11 URI Value of query attribute "pin-value" that contains token PIN Value of query attribute "pin-value" that contains token PIN Value of query attribute "module-name" encoded for PKCS#11 URI Value of query attribute "module-name" that specifies name of the PKCS#11 library Value of query attribute "module-name" that specifies name of the PKCS#11 library Value of query attribute "module-path" encoded for PKCS#11 URI Value of query attribute "module-path" that specifies path to the PKCS#11 library Value of query attribute "module-path" that specifies path to the PKCS#11 library Collection of unknown vendor specific query attributes that is validated when ToString() or ToPkcs11Uri() method is called Collection of unknown vendor specific query attributes that is validated when ToString() or ToPkcs11Uri() method is called Encodes collection of unknown vendor specific query attributes for PKCS#11 URI List of unknown vendor specific query attributes encoded for PKCS#11 URI Generates PKCS#11 URI representing contents of Pkcs11UriBuilder instance PKCS#11 URI representing contents of Pkcs11UriBuilder instance Converts Pkcs11UriBuilder instance to Pkcs11Uri instance Pkcs11Uri instance representing contents of Pkcs11UriBuilder instance Percent encodes provided byte array Byte array that should be encoded Percent encoded byte array Percent encodes provided character Character that should be encoded Percent encoded character Checks whether Pk11String contains invalid characters and optionaly percent encodes invalid characters Name of attribute whose value is being encoded Pk11String that should be encoded Characters allowed to be present unencoded in Pk11String Flag indicating whether invalid characters should be percent encoded Encoded Pk11String Exception that indicates error in PKCS#11 URI parsing or building process Initializes a new instance of Pkcs11UriException class with a specified error message The message that describes the error Initializes a new instance of Pkcs11UriException class with a specified error message and a reference to the inner exception that is the cause of this exception The message that describes the error The exception that is the cause of the current exception Initializes new instance of Pkcs11UriException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library manufacturer PKCS#11 library description PKCS#11 library version True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot manufacturer Slot description Slot identifier True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token label Token manufacturer Token serial number Token model True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Value of CKA_CLASS object attribute Value of CKA_LABEL object attribute Value of CKA_ID object attribute True if object attributes match PKCS#11 URI Checks whether string matches the value of string attribute Value of string attribute present (or not) in PKCS#11 URI String that should be compared with the value of string attribute True if string matches the value of string attribute Checks whether type matches the value of "type" path attribute Value of "type" path attribute present (or not) in PKCS#11 URI Type that should be compared with the value of "type" path attribute True if type matches the value of "type" path attribute Checks whether byte array matches the value of "id" path attribute Value of "id" path attribute present (or not) in PKCS#11 URI Byte array that should be compared with the value of "id" path attribute True if byte array matches the value of "id" path attribute Checks whether id matches the value of "slot-id" path attribute Value of "slot-id" path attribute present (or not) in PKCS#11 URI Id that should be compared with the value of "slot-id" path attribute True if id matches the value of "slot-id" path attribute Definitions from the PKCS#11 URI scheme specification Characters allowed in value of path attribute Characters allowed in name of vendor specific attribute Characters allowed in value of query attribute PKCS#11 URI scheme name Character that always follows after PKCS#11 URI scheme name Character that separates path attributes Character that separates name and value of path attribute Character that separates path and query parts Character that separates query attributes Character that separates name and value of query attribute Name of "token" path attribute Max length of "token" path attribute in bytes Name of "manufacturer" path attribute Max length of "manufacturer" path attribute in bytes Name of "serial" path attribute Max length of "serial" path attribute in bytes Name of "model" path attribute Max length of "model" path attribute in bytes Name of "library-manufacturer" path attribute Max length of "library-manufacturer" path attribute in bytes Name of "library-description" path attribute Max length of "library-description" path attribute in bytes Name of "library-version" path attribute Name of "object" path attribute Name of "type" path attribute Value of "type" path attribute for public key Value of "type" path attribute for private key Value of "type" path attribute for certificate Value of "type" path attribute for secret key Value of "type" path attribute for data object Name of "id" path attribute Name of "slot-manufacturer" path attribute Max length of "slot-manufacturer" path attribute in bytes Name of "slot-description" path attribute Max length of "slot-description" path attribute in bytes Name of "slot-id" path attribute Name of "pin-source" query attribute Name of "pin-value" query attribute Name of "module-name" query attribute Name of "module-path" query attribute Utility class for runtime platform detection True if 64-bit runtime is used True if 32-bit runtime is used True if runtime platform is Windows True if runtime platform is Windows True if runtime platform is Linux True if runtime platform is Linux True if runtime platform is Mac OS X True if runtime platform is Mac OS X Size of unmanaged long type Size of unmanaged long type. This property is used by HighLevelAPI to choose correct set of LowLevelAPIs. Value of this property can be changed if needed. Controls the alignment of unmanaged struct fields Controls the alignment of unmanaged struct fields. This property is used by HighLevelAPI to choose correct set of LowLevelAPIs. Value of this property can be changed if needed. Performs platform detection Type of session Read-only session Read-write session Type of slots to be obtained by PKCS#11 library Only slots with a token present All slots regardless of token presence Exception indicating that unmanaged function has returned error Error code returned by the last unmanaged function Error code returned by the last unmanaged function Initializes new instance of UnmanagedException class Message that describes the error Initializes new instance of UnmanagedException class Message that describes the error Error code returned by the last unmanaged function Initializes new instance of UnmanagedException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Populates a SerializationInfo with the data needed to serialize the target object SerializationInfo to populate with data The destination for this serialization Utility class that helps to manage unmanaged dynamic libraries Loads the dynamic library Library filename Dynamic library handle Unloads the dynamic library Dynamic library handle Returns function pointer Dynamic library handle Function name The function pointer Converts function pointer to a delegate Type of delegate Function pointer Delegate Utility class that helps to manage unmanaged memory Allocates unmanaged zero-filled memory Number of bytes required Pointer to newly allocated unmanaged zero-filled memory Frees previously allocated unmanaged memory Pointer to the previously allocated unmanaged memory Returns the unmanaged size of the structure in bytes Type of structure whose size should be determined Unmanaged size of the structure in bytes Copies content of byte array to unmanaged memory Previously allocated unmanaged memory to copy to Byte array to copy from Copies content of structure to unmanaged memory Previously allocated unmanaged memory to copy to Structure to copy from Creates copy of unmanaged memory contet Memory that should be copied Number of bytes that should be copied Copy of unmanaged memory contet Copies content of unmanaged memory to the newly allocated managed structure Memory that should be copied Type of structure that should be created Structure of requested type Copies content of unmanaged memory to the existing managed structure Memory that should be copied Object to which data should be copied Exception indicating that Pkcs11Interop is being used on an unsupported platform Initializes new instance of UnsupportedPlatformException class Message that describes the error Initializes new instance of UnsupportedPlatformException class with serialized data SerializationInfo that holds the serialized object data about the exception being thrown StreamingContext that contains contextual information about the source or destination Type of waiting for a slot event Method should block until an event occurs Method should not block until an event occurs General information about PKCS#11 library (CK_INFO) Cryptoki interface version number Cryptoki interface version number ID of the Cryptoki library manufacturer ID of the Cryptoki library manufacturer Bit flags reserved for future versions Bit flags reserved for future versions Description of the library Description of the library Cryptoki library version number Cryptoki library version number Converts low level CK_INFO structure to high level LibraryInfo class Low level CK_INFO structure Mechanism and its parameters (CK_MECHANISM alternative) Flag indicating whether instance has been disposed Low level mechanism structure Low level mechanism structure The type of mechanism High level object with mechanism parameters Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags specifying mechanism capabilities Bits flags specifying mechanism capabilities Bits flags specifying mechanism capabilities True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if there is an extension to the flags; false if no extensions. True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed Initializes new instance of MechanismFlags class Bits flags specifying mechanism capabilities Provides information about a particular mechanism Mechanism Mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Flags specifying mechanism capabilities Flags specifying mechanism capabilities Converts low level CK_MECHANISM_INFO structure to high level MechanismInfo class Mechanism Low level CK_MECHANISM_INFO structure Parameters for the CKM_AES_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAesCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_AES_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkAesCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_ARIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAriaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCamelliaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkCamelliaCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_CCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCcmParams class. Length of the data Nonce Additional authentication data Length of the MAC (output following cipher text) in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CMS_SIG mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCmsSigParams class. Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data String indicating complete MIME Content-type of message to be signed or null if the message is a MIME object DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkDesCbcEncryptDataParams class. IV value (8 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Seed value used to generate PQ and G Initializes a new instance of the CkDsaParameterGenParam class Mechanism value for the base hash used in PQG generation (CKM) Seed value used to generate PQ and G Index value for generating G Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdhAesKeyWrapParams class. Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Data shared between the two parties Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcmqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_EXTRACT_KEY_FROM_KEY mechanism Low level mechanism parameters Initializes a new instance of the CkExtractParams class. Specifies which bit of the base key should be used as the first bit of the derived key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_GCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGcmParams class. Initialization vector Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Additional authentication data Length of authentication tag (output following cipher text) in bits Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410DeriveParams class. Additional key diversification algorithm (CKD) Data with public key of a receiver UKM data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410KeyWrapParams class. Data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Data with UKM Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEA_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeaDeriveParams class. Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Ra data Rb data Other party's KEA public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyDerivationStringData class. Byte string used as the input for derivation mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEY_WRAP_SET_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyWrapSetOaepParams class. Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKipParams class. Underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Input seed Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Low level mechanism parameters Initializes a new instance of the CkMacGeneralParams class. Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Type, value and length of an OTP parameter Flag indicating whether instance has been disposed Low level mechanism parameters Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Parameter type Value of the parameter Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for OTP mechanisms in a generic fashion Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkOtpParams class. List of OTP parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters returned by all OTP mechanisms in successful calls to Sign method Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether high level list of OTP parameters left this instance List of OTP parameters List of OTP parameters Initializes a new instance of the CkOtpSignatureInfo class. Signature value returned by all OTP mechanisms in successful calls to Sign method Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPbeParams class. 8-byte initialization vector (IV), if an IV is required Password to be used in the PBE key generation Salt to be used in the PBE key generation Number of iterations required for the generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params2 class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2CbcParams class. The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc2MacGeneralParams class. The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2Params class. Effective number of bits in the RC2 search space Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRc5CbcParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Initialization vector (IV) for CBC encryption Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC5_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc5MacGeneralParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc5Params class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RSA_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Parameters of the temporary AES key wrapping Initializes a new instance of the CkAesCbcEncryptDataParams class. Length of the temporary AES key in bits Parameters of the temporary AES key wrapping Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRsaPkcsOaepParams class. Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_PSS mechanism Low level mechanism parameters Initializes a new instance of the CkRsaPkcsPssParams class. Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_SEED_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSeedCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_PRIVATE_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackPrivateWrapParams class. User-supplied password Other party's key exchange public key value Ra data Prime, p, value Base, g, value Subprime, q, value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_RELAYX mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackRelayxParams class. Old wrapper key Old user-supplied password Old key exchange public key value Old Ra data New user-supplied password New key exchange public key value New Ra data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Initialization vector (IV) created for the client Initialization vector (IV) created for the server The length of initialization vectors Initializes a new instance of the CkSsl3KeyMatOut class. Length of initialization vectors or 0 if IVs are not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors after performing a DeriveKey method Resulting key handles and initialization vectors after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkSsl3KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkSsl3MasterKeyDeriveParams class. Client's and server's random data information Set to false for CKM_SSL3_MASTER_KEY_DERIVE mechanism and to true for CKM_SSL3_MASTER_KEY_DERIVE_DH mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in an SSL context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSsl3RandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors Resulting key handles and initialization vectors Client's and server's random data information Initializes a new instance of the CkTls12KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_MASTER_KEY_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkTls12MasterKeyDeriveParams class. Client's and server's random data information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_KDF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Client's and server's random data information Initializes a new instance of the CkTlsKdfParams class. Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Label for this key derivation Random data for the key derivation Context data for this key derivation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_MAC mechanism Low level mechanism parameters Initializes a new instance of the CkTlsMacParams class. Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_TLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkTlsPrfParams class. Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_PRE_MASTER_KEY_GEN mechanism Low level mechanism parameters Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Returns a string that represents the current CkVersion object. String that represents the current CkVersion object. Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting MAC secret key Key handle for the resulting Secret key Initialization vector (IV) The length of initialization vector Initializes a new instance of the CkWtlsKeyMatOut class. Length of initialization vector or 0 if IV is not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vector after performing a DeriveKey method Resulting key handles and initialization vector after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkWtlsKeyMatParams class. The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_MASTER_KEY_DERIVE and CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters WTLS protocol version information Client's and server's random data information Initializes a new instance of the CkWtlsMasterKeyDeriveParams class. Digest mechanism to be used (CKM) Client's and server's random data information Set to false for CKM_WTLS_MASTER_KEY_DERIVE mechanism and to true for CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkWtlsPrfParams class. Digest mechanism to be used (CKM) Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in a WTLS context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkWtlsRandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_MQV_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942MqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Attribute of cryptoki object (CK_ATTRIBUTE alternative) Flag indicating whether instance has been disposed Low level attribute structure Low level attribute structure Attribute type Flag indicating whether attribute value cannot be read either because object is sensitive or unextractable or because specified attribute for the object is invalid. Creates attribute defined by low level CK_ATTRIBUTE structure CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Creates attribute of given type with no value Attribute type Creates attribute of given type with uint value Attribute type Attribute value Creates attribute of given type with uint value Attribute type Attribute value Creates attribute of given type with CKC value Attribute type Attribute value Creates attribute of given type with CKK value Attribute type Attribute value Creates attribute of given type with CKO value Attribute type Attribute value Reads value of attribute and returns it as uint Value of attribute Creates attribute of given type with bool value Attribute type Attribute value Creates attribute of given type with bool value Attribute type Attribute value Reads value of attribute and returns it as bool Value of attribute Creates attribute of given type with string value Attribute type Attribute value Creates attribute of given type with string value Attribute type Attribute value Reads value of attribute and returns it as string Value of attribute Creates attribute of given type with byte array value Attribute type Attribute value Creates attribute of given type with byte array value Attribute type Attribute value Reads value of attribute and returns it as byte array Value of attribute Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Reads value of attribute and returns it as DateTime Value of attribute Creates attribute of given type with attribute array value Attribute type Attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Reads value of attribute and returns it as attribute array Value of attribute Creates attribute of given type with uint array value Attribute type Attribute value Creates attribute of given type with uint array value Attribute type Attribute value Reads value of attribute and returns it as list of uints Value of attribute Creates attribute of given type with mechanism array value Attribute type Attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Reads value of attribute and returns it as list of mechanisms Value of attribute Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Token-specific identifier for an object PKCS#11 handle of object PKCS#11 handle of object Initializes new instance of ObjectHandle class with ObjectId set to CK_INVALID_HANDLE Initializes new instance of ObjectHandle class PKCS#11 handle of object High level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Source of PKCS#11 function pointers Gets general information about loaded PKCS#11 library General information about loaded PKCS#11 library Obtains a list of slots in the system Type of slots to be obtained List of available slots Waits for a slot event, such as token insertion or token removal, to occur Type of waiting for a slot event Flag indicating whether event occured PKCS#11 handle of slot that the event occurred in Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all PKCS#11 URI matching slots PKCS#11 URI High level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Class representing a logical connection between an application and a token Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of session PKCS#11 handle of session Flag indicating whether session should be closed when object is disposed Flag indicating whether session should be closed when object is disposed Initializes new instance of Session class Low level PKCS#11 wrapper PKCS#11 handle of session Closes a session between an application and a token Initializes the normal user's PIN Pin value Initializes the normal user's PIN Pin value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Obtains information about a session Information about a session Obtains a copy of the cryptographic operations state of a session encoded as an array of bytes Operations state of a session Restores the cryptographic operations state of a session from an array of bytes obtained with GetOperationState Array of bytes obtained with GetOperationState CK_INVALID_HANDLE or handle to the key which will be used for an ongoing encryption or decryption operation in the restored session CK_INVALID_HANDLE or handle to the key which will be used for an ongoing signature, MACing, or verification operation in the restored session Logs a user into a token Type of user Pin of user Logs a user into a token Type of user Pin of user Logs a user out from a token Creates a new object Object attributes Handle of created object Copies an object, creating a new object for the copy Handle of object to be copied New values for any attributes of the object that can ordinarily be modified Handle of copied object Destroys an object Handle of object to be destroyed Gets the size of an object in bytes. Handle of object Size of an object in bytes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Modifies the value of one or more attributes of an object Handle of object whose attributes should be modified List of attributes that should be modified Initializes a search for token and session objects that match a attributes Attributes that should be matched Continues a search for token and session objects that match a template, obtaining additional object handles Maximum number of object handles to be returned Found object handles Terminates a search for token and session objects Searches for all token and session objects that match provided attributes Attributes that should be matched Handles of found objects Encrypts single-part data Encryption mechanism Handle of the encryption key Data to be encrypted Encrypted data Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Size of read buffer in bytes Decrypts single-part data Decryption mechanism Handle of the decryption key Data to be decrypted Decrypted data Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Size of read buffer in bytes Digests the value of a secret key Digesting mechanism Handle of the secret key to be digested Digest Digests single-part data Digesting mechanism Data to be digested Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Size of read buffer in bytes Digest Signs single-part data, where the signature is an appendix to the data Signature mechanism Signature key Data to be signed Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Size of read buffer in bytes Signature Signs single-part data, where the data can be recovered from the signature Signature mechanism Signature key Data to be signed Signature Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Data that was signed Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Size of read buffer in bytes Verifies signature of data, where the data can be recovered from the signature Verification mechanism; Verification key Signature Flag indicating whether signature is valid Data recovered from the signature Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Data to be processed Digest Encrypted data Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Digest Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Data to be processed Digest Decrypted data Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Size of read buffer in bytes Digest Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Data to be processed Signature Encrypted data Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Signature Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Signature Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Data to be processed Signature Decrypted data Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Size of read buffer in bytes Generates a secret key or set of domain parameters, creating a new object Generation mechanism Attributes of the new key or set of domain parameters Handle of the new key or set of domain parameters Generates a public/private key pair, creating new key objects Key generation mechanism Attributes of the public key Attributes of the private key Handle of the new public key Handle of the new private key Wraps (i.e., encrypts) a private or secret key Wrapping mechanism Handle of wrapping key Handle of key to be wrapped Wrapped key Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object Unwrapping mechanism Handle of unwrapping key Wrapped key Attributes for unwrapped key Handle of unwrapped key Derives a key from a base key, creating a new key object Derivation mechanism Handle of base key Attributes for the new key Handle of derived key Mixes additional seed material into the token's random number generator Seed material Generates random or pseudo-random data Length in bytes of the random or pseudo-random data to be generated Generated random or pseudo-random data Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags that define the type of session Bit flags that define the type of session Bit flags that define the type of session True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Initializes new instance of SessionFlags class Bit flags that define the type of session Information about a session PKCS#11 handle of session PKCS#11 handle of session PKCS#11 handle of slot that interfaces with the token PKCS#11 handle of slot that interfaces with the token The state of the session The state of the session Flags that define the type of session Flags that define the type of session An error code defined by the cryptographic device used for errors not covered by Cryptoki An error code defined by the cryptographic device used for errors not covered by Cryptoki Converts low level CK_SESSION_INFO structure to high level SessionInfo class PKCS#11 handle of session Low level CK_SESSION_INFO structure Logical reader that potentially contains a token Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of slot PKCS#11 handle of slot Initializes new instance of Slot class Low level PKCS#11 wrapper PKCS#11 handle of slot Obtains information about a particular slot in the system Slot information Obtains information about a particular token in the system. Token information Obtains a list of mechanism types supported by a token List of mechanism types supported by a token Obtains information about a particular mechanism possibly supported by a token Mechanism Information about mechanism Initializes a token SO's initial PIN Label of the token Initializes a token SO's initial PIN Label of the token Opens a session between an application and a token in a particular slot Type of session to be opened Session Closes a session between an application and a token Session Closes all sessions an application has with a token Flags that provide capabilities of the slot Bits flags that provide capabilities of the slot Bits flags that provide capabilities of the slot True if a token is present in the slot (e.g. a device is in the reader) True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" Initializes new instance of SlotFlags class Bits flags that provide capabilities of the slot Information about a slot PKCS#11 handle of slot PKCS#11 handle of slot Description of the slot Description of the slot ID of the slot manufacturer ID of the slot manufacturer Flags that provide capabilities of the slot Flags that provide capabilities of the slot Version number of the slot's hardware Version number of the slot's hardware Version number of the slot's firmware Version number of the slot's firmware Converts low level CK_SLOT_INFO structure to high level SlotInfo class PKCS#11 handle of slot Low level CK_SLOT_INFO structure Flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a “protected authentication path”, whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism True if the token supports secondary authentication for private key objects True if an incorrect user login PIN has been entered at least once since the last successful authentication True if supplying an incorrect user PIN will make it to become locked True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card True if an incorrect SO login PIN has been entered at least once since the last successful authentication True if supplying an incorrect SO PIN will make it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. Initializes new instance of TokenFlags class Bits flags indicating capabilities and status of the device Information about a token PKCS#11 handle of slot PKCS#11 handle of slot Application-defined label, assigned during token initialization Application-defined label, assigned during token initialization ID of the device manufacturer ID of the device manufacturer Model of the device Model of the device Serial number of the device Serial number of the device Bit flags indicating capabilities and status of the device Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Maximum length in bytes of the PIN Minimum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of hardware Version number of firmware Version number of firmware Current time (the value of this field only makes sense for tokens equipped with a clock) Current time (the value of this field only makes sense for tokens equipped with a clock) UtcTimeString converted to DateTime or null if conversion failed UtcTimeString converted to DateTime or null if conversion failed Converts low level CK_TOKEN_INFO structure to high level TokenInfo class PKCS#11 handle of slot Low level CK_TOKEN_INFO structure General information about PKCS#11 library (CK_INFO) Cryptoki interface version number Cryptoki interface version number ID of the Cryptoki library manufacturer ID of the Cryptoki library manufacturer Bit flags reserved for future versions Bit flags reserved for future versions Description of the library Description of the library Cryptoki library version number Cryptoki library version number Converts low level CK_INFO structure to high level LibraryInfo class Low level CK_INFO structure Mechanism and its parameters (CK_MECHANISM alternative) Flag indicating whether instance has been disposed Low level mechanism structure Low level mechanism structure The type of mechanism High level object with mechanism parameters Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags specifying mechanism capabilities Bits flags specifying mechanism capabilities Bits flags specifying mechanism capabilities True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if there is an extension to the flags; false if no extensions. True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed Initializes new instance of MechanismFlags class Bits flags specifying mechanism capabilities Provides information about a particular mechanism Mechanism Mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Flags specifying mechanism capabilities Flags specifying mechanism capabilities Converts low level CK_MECHANISM_INFO structure to high level MechanismInfo class Mechanism Low level CK_MECHANISM_INFO structure Parameters for the CKM_AES_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAesCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_AES_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkAesCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_ARIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAriaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCamelliaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkCamelliaCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_CCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCcmParams class. Length of the data Nonce Additional authentication data Length of the MAC (output following cipher text) in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CMS_SIG mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCmsSigParams class. Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data String indicating complete MIME Content-type of message to be signed or null if the message is a MIME object DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkDesCbcEncryptDataParams class. IV value (8 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Seed value used to generate PQ and G Initializes a new instance of the CkDsaParameterGenParam class Mechanism value for the base hash used in PQG generation (CKM) Seed value used to generate PQ and G Index value for generating G Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdhAesKeyWrapParams class. Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Data shared between the two parties Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcmqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_EXTRACT_KEY_FROM_KEY mechanism Low level mechanism parameters Initializes a new instance of the CkExtractParams class. Specifies which bit of the base key should be used as the first bit of the derived key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_GCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGcmParams class. Initialization vector Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Additional authentication data Length of authentication tag (output following cipher text) in bits Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410DeriveParams class. Additional key diversification algorithm (CKD) Data with public key of a receiver UKM data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410KeyWrapParams class. Data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Data with UKM Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEA_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeaDeriveParams class. Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Ra data Rb data Other party's KEA public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyDerivationStringData class. Byte string used as the input for derivation mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEY_WRAP_SET_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyWrapSetOaepParams class. Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKipParams class. Underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Input seed Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Low level mechanism parameters Initializes a new instance of the CkMacGeneralParams class. Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Type, value and length of an OTP parameter Flag indicating whether instance has been disposed Low level mechanism parameters Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Parameter type Value of the parameter Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for OTP mechanisms in a generic fashion Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkOtpParams class. List of OTP parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters returned by all OTP mechanisms in successful calls to Sign method Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether high level list of OTP parameters left this instance List of OTP parameters List of OTP parameters Initializes a new instance of the CkOtpSignatureInfo class. Signature value returned by all OTP mechanisms in successful calls to Sign method Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPbeParams class. 8-byte initialization vector (IV), if an IV is required Password to be used in the PBE key generation Salt to be used in the PBE key generation Number of iterations required for the generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params2 class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2CbcParams class. The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc2MacGeneralParams class. The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2Params class. Effective number of bits in the RC2 search space Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRc5CbcParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Initialization vector (IV) for CBC encryption Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC5_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc5MacGeneralParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc5Params class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RSA_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Parameters of the temporary AES key wrapping Initializes a new instance of the CkAesCbcEncryptDataParams class. Length of the temporary AES key in bits Parameters of the temporary AES key wrapping Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRsaPkcsOaepParams class. Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_PSS mechanism Low level mechanism parameters Initializes a new instance of the CkRsaPkcsPssParams class. Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_SEED_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSeedCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_PRIVATE_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackPrivateWrapParams class. User-supplied password Other party's key exchange public key value Ra data Prime, p, value Base, g, value Subprime, q, value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_RELAYX mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackRelayxParams class. Old wrapper key Old user-supplied password Old key exchange public key value Old Ra data New user-supplied password New key exchange public key value New Ra data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Initialization vector (IV) created for the client Initialization vector (IV) created for the server The length of initialization vectors Initializes a new instance of the CkSsl3KeyMatOut class. Length of initialization vectors or 0 if IVs are not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors after performing a DeriveKey method Resulting key handles and initialization vectors after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkSsl3KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkSsl3MasterKeyDeriveParams class. Client's and server's random data information Set to false for CKM_SSL3_MASTER_KEY_DERIVE mechanism and to true for CKM_SSL3_MASTER_KEY_DERIVE_DH mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in an SSL context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSsl3RandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors Resulting key handles and initialization vectors Client's and server's random data information Initializes a new instance of the CkTls12KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_MASTER_KEY_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkTls12MasterKeyDeriveParams class. Client's and server's random data information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_KDF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Client's and server's random data information Initializes a new instance of the CkTlsKdfParams class. Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Label for this key derivation Random data for the key derivation Context data for this key derivation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_MAC mechanism Low level mechanism parameters Initializes a new instance of the CkTlsMacParams class. Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_TLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkTlsPrfParams class. Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_PRE_MASTER_KEY_GEN mechanism Low level mechanism parameters Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Returns a string that represents the current CkVersion object. String that represents the current CkVersion object. Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting MAC secret key Key handle for the resulting Secret key Initialization vector (IV) The length of initialization vector Initializes a new instance of the CkWtlsKeyMatOut class. Length of initialization vector or 0 if IV is not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vector after performing a DeriveKey method Resulting key handles and initialization vector after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkWtlsKeyMatParams class. The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_MASTER_KEY_DERIVE and CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters WTLS protocol version information Client's and server's random data information Initializes a new instance of the CkWtlsMasterKeyDeriveParams class. Digest mechanism to be used (CKM) Client's and server's random data information Set to false for CKM_WTLS_MASTER_KEY_DERIVE mechanism and to true for CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkWtlsPrfParams class. Digest mechanism to be used (CKM) Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in a WTLS context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkWtlsRandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_MQV_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942MqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Attribute of cryptoki object (CK_ATTRIBUTE alternative) Flag indicating whether instance has been disposed Low level attribute structure Low level attribute structure Attribute type Flag indicating whether attribute value cannot be read either because object is sensitive or unextractable or because specified attribute for the object is invalid. Creates attribute defined by low level CK_ATTRIBUTE structure CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Creates attribute of given type with no value Attribute type Creates attribute of given type with uint value Attribute type Attribute value Creates attribute of given type with uint value Attribute type Attribute value Creates attribute of given type with CKC value Attribute type Attribute value Creates attribute of given type with CKK value Attribute type Attribute value Creates attribute of given type with CKO value Attribute type Attribute value Reads value of attribute and returns it as uint Value of attribute Creates attribute of given type with bool value Attribute type Attribute value Creates attribute of given type with bool value Attribute type Attribute value Reads value of attribute and returns it as bool Value of attribute Creates attribute of given type with string value Attribute type Attribute value Creates attribute of given type with string value Attribute type Attribute value Reads value of attribute and returns it as string Value of attribute Creates attribute of given type with byte array value Attribute type Attribute value Creates attribute of given type with byte array value Attribute type Attribute value Reads value of attribute and returns it as byte array Value of attribute Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Reads value of attribute and returns it as DateTime Value of attribute Creates attribute of given type with attribute array value Attribute type Attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Reads value of attribute and returns it as attribute array Value of attribute Creates attribute of given type with uint array value Attribute type Attribute value Creates attribute of given type with uint array value Attribute type Attribute value Reads value of attribute and returns it as list of uints Value of attribute Creates attribute of given type with mechanism array value Attribute type Attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Reads value of attribute and returns it as list of mechanisms Value of attribute Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Token-specific identifier for an object PKCS#11 handle of object PKCS#11 handle of object Initializes new instance of ObjectHandle class with ObjectId set to CK_INVALID_HANDLE Initializes new instance of ObjectHandle class PKCS#11 handle of object High level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Source of PKCS#11 function pointers Gets general information about loaded PKCS#11 library General information about loaded PKCS#11 library Obtains a list of slots in the system Type of slots to be obtained List of available slots Waits for a slot event, such as token insertion or token removal, to occur Type of waiting for a slot event Flag indicating whether event occured PKCS#11 handle of slot that the event occurred in Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all PKCS#11 URI matching slots PKCS#11 URI High level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Class representing a logical connection between an application and a token Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of session PKCS#11 handle of session Flag indicating whether session should be closed when object is disposed Flag indicating whether session should be closed when object is disposed Initializes new instance of Session class Low level PKCS#11 wrapper PKCS#11 handle of session Closes a session between an application and a token Initializes the normal user's PIN Pin value Initializes the normal user's PIN Pin value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Obtains information about a session Information about a session Obtains a copy of the cryptographic operations state of a session encoded as an array of bytes Operations state of a session Restores the cryptographic operations state of a session from an array of bytes obtained with GetOperationState Array of bytes obtained with GetOperationState CK_INVALID_HANDLE or handle to the key which will be used for an ongoing encryption or decryption operation in the restored session CK_INVALID_HANDLE or handle to the key which will be used for an ongoing signature, MACing, or verification operation in the restored session Logs a user into a token Type of user Pin of user Logs a user into a token Type of user Pin of user Logs a user out from a token Creates a new object Object attributes Handle of created object Copies an object, creating a new object for the copy Handle of object to be copied New values for any attributes of the object that can ordinarily be modified Handle of copied object Destroys an object Handle of object to be destroyed Gets the size of an object in bytes. Handle of object Size of an object in bytes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Modifies the value of one or more attributes of an object Handle of object whose attributes should be modified List of attributes that should be modified Initializes a search for token and session objects that match a attributes Attributes that should be matched Continues a search for token and session objects that match a template, obtaining additional object handles Maximum number of object handles to be returned Found object handles Terminates a search for token and session objects Searches for all token and session objects that match provided attributes Attributes that should be matched Handles of found objects Encrypts single-part data Encryption mechanism Handle of the encryption key Data to be encrypted Encrypted data Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Size of read buffer in bytes Decrypts single-part data Decryption mechanism Handle of the decryption key Data to be decrypted Decrypted data Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Size of read buffer in bytes Digests the value of a secret key Digesting mechanism Handle of the secret key to be digested Digest Digests single-part data Digesting mechanism Data to be digested Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Size of read buffer in bytes Digest Signs single-part data, where the signature is an appendix to the data Signature mechanism Signature key Data to be signed Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Size of read buffer in bytes Signature Signs single-part data, where the data can be recovered from the signature Signature mechanism Signature key Data to be signed Signature Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Data that was signed Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Size of read buffer in bytes Verifies signature of data, where the data can be recovered from the signature Verification mechanism; Verification key Signature Flag indicating whether signature is valid Data recovered from the signature Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Data to be processed Digest Encrypted data Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Digest Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Data to be processed Digest Decrypted data Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Size of read buffer in bytes Digest Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Data to be processed Signature Encrypted data Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Signature Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Signature Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Data to be processed Signature Decrypted data Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Size of read buffer in bytes Generates a secret key or set of domain parameters, creating a new object Generation mechanism Attributes of the new key or set of domain parameters Handle of the new key or set of domain parameters Generates a public/private key pair, creating new key objects Key generation mechanism Attributes of the public key Attributes of the private key Handle of the new public key Handle of the new private key Wraps (i.e., encrypts) a private or secret key Wrapping mechanism Handle of wrapping key Handle of key to be wrapped Wrapped key Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object Unwrapping mechanism Handle of unwrapping key Wrapped key Attributes for unwrapped key Handle of unwrapped key Derives a key from a base key, creating a new key object Derivation mechanism Handle of base key Attributes for the new key Handle of derived key Mixes additional seed material into the token's random number generator Seed material Generates random or pseudo-random data Length in bytes of the random or pseudo-random data to be generated Generated random or pseudo-random data Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags that define the type of session Bit flags that define the type of session Bit flags that define the type of session True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Initializes new instance of SessionFlags class Bit flags that define the type of session Information about a session PKCS#11 handle of session PKCS#11 handle of session PKCS#11 handle of slot that interfaces with the token PKCS#11 handle of slot that interfaces with the token The state of the session The state of the session Flags that define the type of session Flags that define the type of session An error code defined by the cryptographic device used for errors not covered by Cryptoki An error code defined by the cryptographic device used for errors not covered by Cryptoki Converts low level CK_SESSION_INFO structure to high level SessionInfo class PKCS#11 handle of session Low level CK_SESSION_INFO structure Logical reader that potentially contains a token Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of slot PKCS#11 handle of slot Initializes new instance of Slot class Low level PKCS#11 wrapper PKCS#11 handle of slot Obtains information about a particular slot in the system Slot information Obtains information about a particular token in the system. Token information Obtains a list of mechanism types supported by a token List of mechanism types supported by a token Obtains information about a particular mechanism possibly supported by a token Mechanism Information about mechanism Initializes a token SO's initial PIN Label of the token Initializes a token SO's initial PIN Label of the token Opens a session between an application and a token in a particular slot Type of session to be opened Session Closes a session between an application and a token Session Closes all sessions an application has with a token Flags that provide capabilities of the slot Bits flags that provide capabilities of the slot Bits flags that provide capabilities of the slot True if a token is present in the slot (e.g. a device is in the reader) True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" Initializes new instance of SlotFlags class Bits flags that provide capabilities of the slot Information about a slot PKCS#11 handle of slot PKCS#11 handle of slot Description of the slot Description of the slot ID of the slot manufacturer ID of the slot manufacturer Flags that provide capabilities of the slot Flags that provide capabilities of the slot Version number of the slot's hardware Version number of the slot's hardware Version number of the slot's firmware Version number of the slot's firmware Converts low level CK_SLOT_INFO structure to high level SlotInfo class PKCS#11 handle of slot Low level CK_SLOT_INFO structure Flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a “protected authentication path”, whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism True if the token supports secondary authentication for private key objects True if an incorrect user login PIN has been entered at least once since the last successful authentication True if supplying an incorrect user PIN will make it to become locked True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card True if an incorrect SO login PIN has been entered at least once since the last successful authentication True if supplying an incorrect SO PIN will make it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. Initializes new instance of TokenFlags class Bits flags indicating capabilities and status of the device Information about a token PKCS#11 handle of slot PKCS#11 handle of slot Application-defined label, assigned during token initialization Application-defined label, assigned during token initialization ID of the device manufacturer ID of the device manufacturer Model of the device Model of the device Serial number of the device Serial number of the device Bit flags indicating capabilities and status of the device Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Maximum length in bytes of the PIN Minimum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of hardware Version number of firmware Version number of firmware Current time (the value of this field only makes sense for tokens equipped with a clock) Current time (the value of this field only makes sense for tokens equipped with a clock) UtcTimeString converted to DateTime or null if conversion failed UtcTimeString converted to DateTime or null if conversion failed Converts low level CK_TOKEN_INFO structure to high level TokenInfo class PKCS#11 handle of slot Low level CK_TOKEN_INFO structure General information about PKCS#11 library (CK_INFO) Cryptoki interface version number Cryptoki interface version number ID of the Cryptoki library manufacturer ID of the Cryptoki library manufacturer Bit flags reserved for future versions Bit flags reserved for future versions Description of the library Description of the library Cryptoki library version number Cryptoki library version number Converts low level CK_INFO structure to high level LibraryInfo class Low level CK_INFO structure Mechanism and its parameters (CK_MECHANISM alternative) Flag indicating whether instance has been disposed Low level mechanism structure Low level mechanism structure The type of mechanism High level object with mechanism parameters Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags specifying mechanism capabilities Bits flags specifying mechanism capabilities Bits flags specifying mechanism capabilities True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if there is an extension to the flags; false if no extensions. True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed Initializes new instance of MechanismFlags class Bits flags specifying mechanism capabilities Provides information about a particular mechanism Mechanism Mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Flags specifying mechanism capabilities Flags specifying mechanism capabilities Converts low level CK_MECHANISM_INFO structure to high level MechanismInfo class Mechanism Low level CK_MECHANISM_INFO structure Parameters for the CKM_AES_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAesCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_AES_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkAesCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_ARIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAriaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCamelliaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkCamelliaCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_CCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCcmParams class. Length of the data Nonce Additional authentication data Length of the MAC (output following cipher text) in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CMS_SIG mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCmsSigParams class. Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data String indicating complete MIME Content-type of message to be signed or null if the message is a MIME object DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkDesCbcEncryptDataParams class. IV value (8 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Seed value used to generate PQ and G Initializes a new instance of the CkDsaParameterGenParam class Mechanism value for the base hash used in PQG generation (CKM) Seed value used to generate PQ and G Index value for generating G Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdhAesKeyWrapParams class. Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Data shared between the two parties Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcmqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_EXTRACT_KEY_FROM_KEY mechanism Low level mechanism parameters Initializes a new instance of the CkExtractParams class. Specifies which bit of the base key should be used as the first bit of the derived key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_GCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGcmParams class. Initialization vector Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Additional authentication data Length of authentication tag (output following cipher text) in bits Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410DeriveParams class. Additional key diversification algorithm (CKD) Data with public key of a receiver UKM data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410KeyWrapParams class. Data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Data with UKM Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEA_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeaDeriveParams class. Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Ra data Rb data Other party's KEA public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyDerivationStringData class. Byte string used as the input for derivation mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEY_WRAP_SET_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyWrapSetOaepParams class. Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKipParams class. Underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Input seed Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Low level mechanism parameters Initializes a new instance of the CkMacGeneralParams class. Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Type, value and length of an OTP parameter Flag indicating whether instance has been disposed Low level mechanism parameters Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Parameter type Value of the parameter Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for OTP mechanisms in a generic fashion Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkOtpParams class. List of OTP parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters returned by all OTP mechanisms in successful calls to Sign method Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether high level list of OTP parameters left this instance List of OTP parameters List of OTP parameters Initializes a new instance of the CkOtpSignatureInfo class. Signature value returned by all OTP mechanisms in successful calls to Sign method Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPbeParams class. 8-byte initialization vector (IV), if an IV is required Password to be used in the PBE key generation Salt to be used in the PBE key generation Number of iterations required for the generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params2 class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2CbcParams class. The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc2MacGeneralParams class. The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2Params class. Effective number of bits in the RC2 search space Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRc5CbcParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Initialization vector (IV) for CBC encryption Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC5_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc5MacGeneralParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc5Params class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RSA_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Parameters of the temporary AES key wrapping Initializes a new instance of the CkAesCbcEncryptDataParams class. Length of the temporary AES key in bits Parameters of the temporary AES key wrapping Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRsaPkcsOaepParams class. Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_PSS mechanism Low level mechanism parameters Initializes a new instance of the CkRsaPkcsPssParams class. Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_SEED_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSeedCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_PRIVATE_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackPrivateWrapParams class. User-supplied password Other party's key exchange public key value Ra data Prime, p, value Base, g, value Subprime, q, value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_RELAYX mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackRelayxParams class. Old wrapper key Old user-supplied password Old key exchange public key value Old Ra data New user-supplied password New key exchange public key value New Ra data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Initialization vector (IV) created for the client Initialization vector (IV) created for the server The length of initialization vectors Initializes a new instance of the CkSsl3KeyMatOut class. Length of initialization vectors or 0 if IVs are not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors after performing a DeriveKey method Resulting key handles and initialization vectors after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkSsl3KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkSsl3MasterKeyDeriveParams class. Client's and server's random data information Set to false for CKM_SSL3_MASTER_KEY_DERIVE mechanism and to true for CKM_SSL3_MASTER_KEY_DERIVE_DH mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in an SSL context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSsl3RandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors Resulting key handles and initialization vectors Client's and server's random data information Initializes a new instance of the CkTls12KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_MASTER_KEY_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkTls12MasterKeyDeriveParams class. Client's and server's random data information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_KDF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Client's and server's random data information Initializes a new instance of the CkTlsKdfParams class. Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Label for this key derivation Random data for the key derivation Context data for this key derivation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_MAC mechanism Low level mechanism parameters Initializes a new instance of the CkTlsMacParams class. Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_TLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkTlsPrfParams class. Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_PRE_MASTER_KEY_GEN mechanism Low level mechanism parameters Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Returns a string that represents the current CkVersion object. String that represents the current CkVersion object. Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting MAC secret key Key handle for the resulting Secret key Initialization vector (IV) The length of initialization vector Initializes a new instance of the CkWtlsKeyMatOut class. Length of initialization vector or 0 if IV is not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vector after performing a DeriveKey method Resulting key handles and initialization vector after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkWtlsKeyMatParams class. The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_MASTER_KEY_DERIVE and CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters WTLS protocol version information Client's and server's random data information Initializes a new instance of the CkWtlsMasterKeyDeriveParams class. Digest mechanism to be used (CKM) Client's and server's random data information Set to false for CKM_WTLS_MASTER_KEY_DERIVE mechanism and to true for CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkWtlsPrfParams class. Digest mechanism to be used (CKM) Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in a WTLS context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkWtlsRandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_MQV_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942MqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Attribute of cryptoki object (CK_ATTRIBUTE alternative) Flag indicating whether instance has been disposed Low level attribute structure Low level attribute structure Attribute type Flag indicating whether attribute value cannot be read either because object is sensitive or unextractable or because specified attribute for the object is invalid. Creates attribute defined by low level CK_ATTRIBUTE structure CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Creates attribute of given type with no value Attribute type Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with CKC value Attribute type Attribute value Creates attribute of given type with CKK value Attribute type Attribute value Creates attribute of given type with CKO value Attribute type Attribute value Reads value of attribute and returns it as ulong Value of attribute Creates attribute of given type with bool value Attribute type Attribute value Creates attribute of given type with bool value Attribute type Attribute value Reads value of attribute and returns it as bool Value of attribute Creates attribute of given type with string value Attribute type Attribute value Creates attribute of given type with string value Attribute type Attribute value Reads value of attribute and returns it as string Value of attribute Creates attribute of given type with byte array value Attribute type Attribute value Creates attribute of given type with byte array value Attribute type Attribute value Reads value of attribute and returns it as byte array Value of attribute Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Reads value of attribute and returns it as DateTime Value of attribute Creates attribute of given type with attribute array value Attribute type Attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Reads value of attribute and returns it as attribute array Value of attribute Creates attribute of given type with ulong array value Attribute type Attribute value Creates attribute of given type with ulong array value Attribute type Attribute value Reads value of attribute and returns it as list of ulongs Value of attribute Creates attribute of given type with mechanism array value Attribute type Attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Reads value of attribute and returns it as list of mechanisms Value of attribute Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Token-specific identifier for an object PKCS#11 handle of object PKCS#11 handle of object Initializes new instance of ObjectHandle class with ObjectId set to CK_INVALID_HANDLE Initializes new instance of ObjectHandle class PKCS#11 handle of object High level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Source of PKCS#11 function pointers Gets general information about loaded PKCS#11 library General information about loaded PKCS#11 library Obtains a list of slots in the system Type of slots to be obtained List of available slots Waits for a slot event, such as token insertion or token removal, to occur Type of waiting for a slot event Flag indicating whether event occured PKCS#11 handle of slot that the event occurred in Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all PKCS#11 URI matching slots PKCS#11 URI High level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Class representing a logical connection between an application and a token Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of session PKCS#11 handle of session Flag indicating whether session should be closed when object is disposed Flag indicating whether session should be closed when object is disposed Initializes new instance of Session class Low level PKCS#11 wrapper PKCS#11 handle of session Closes a session between an application and a token Initializes the normal user's PIN Pin value Initializes the normal user's PIN Pin value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Obtains information about a session Information about a session Obtains a copy of the cryptographic operations state of a session encoded as an array of bytes Operations state of a session Restores the cryptographic operations state of a session from an array of bytes obtained with GetOperationState Array of bytes obtained with GetOperationState CK_INVALID_HANDLE or handle to the key which will be used for an ongoing encryption or decryption operation in the restored session CK_INVALID_HANDLE or handle to the key which will be used for an ongoing signature, MACing, or verification operation in the restored session Logs a user into a token Type of user Pin of user Logs a user into a token Type of user Pin of user Logs a user out from a token Creates a new object Object attributes Handle of created object Copies an object, creating a new object for the copy Handle of object to be copied New values for any attributes of the object that can ordinarily be modified Handle of copied object Destroys an object Handle of object to be destroyed Gets the size of an object in bytes. Handle of object Size of an object in bytes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Modifies the value of one or more attributes of an object Handle of object whose attributes should be modified List of attributes that should be modified Initializes a search for token and session objects that match a attributes Attributes that should be matched Continues a search for token and session objects that match a template, obtaining additional object handles Maximum number of object handles to be returned Found object handles Terminates a search for token and session objects Searches for all token and session objects that match provided attributes Attributes that should be matched Handles of found objects Encrypts single-part data Encryption mechanism Handle of the encryption key Data to be encrypted Encrypted data Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Size of read buffer in bytes Decrypts single-part data Decryption mechanism Handle of the decryption key Data to be decrypted Decrypted data Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Size of read buffer in bytes Digests the value of a secret key Digesting mechanism Handle of the secret key to be digested Digest Digests single-part data Digesting mechanism Data to be digested Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Size of read buffer in bytes Digest Signs single-part data, where the signature is an appendix to the data Signature mechanism Signature key Data to be signed Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Size of read buffer in bytes Signature Signs single-part data, where the data can be recovered from the signature Signature mechanism Signature key Data to be signed Signature Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Data that was signed Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Size of read buffer in bytes Verifies signature of data, where the data can be recovered from the signature Verification mechanism; Verification key Signature Flag indicating whether signature is valid Data recovered from the signature Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Data to be processed Digest Encrypted data Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Digest Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Data to be processed Digest Decrypted data Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Size of read buffer in bytes Digest Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Data to be processed Signature Encrypted data Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Signature Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Signature Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Data to be processed Signature Decrypted data Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Size of read buffer in bytes Generates a secret key or set of domain parameters, creating a new object Generation mechanism Attributes of the new key or set of domain parameters Handle of the new key or set of domain parameters Generates a public/private key pair, creating new key objects Key generation mechanism Attributes of the public key Attributes of the private key Handle of the new public key Handle of the new private key Wraps (i.e., encrypts) a private or secret key Wrapping mechanism Handle of wrapping key Handle of key to be wrapped Wrapped key Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object Unwrapping mechanism Handle of unwrapping key Wrapped key Attributes for unwrapped key Handle of unwrapped key Derives a key from a base key, creating a new key object Derivation mechanism Handle of base key Attributes for the new key Handle of derived key Mixes additional seed material into the token's random number generator Seed material Generates random or pseudo-random data Length in bytes of the random or pseudo-random data to be generated Generated random or pseudo-random data Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags that define the type of session Bit flags that define the type of session Bit flags that define the type of session True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Initializes new instance of SessionFlags class Bit flags that define the type of session Information about a session PKCS#11 handle of session PKCS#11 handle of session PKCS#11 handle of slot that interfaces with the token PKCS#11 handle of slot that interfaces with the token The state of the session The state of the session Flags that define the type of session Flags that define the type of session An error code defined by the cryptographic device used for errors not covered by Cryptoki An error code defined by the cryptographic device used for errors not covered by Cryptoki Converts low level CK_SESSION_INFO structure to high level SessionInfo class PKCS#11 handle of session Low level CK_SESSION_INFO structure Logical reader that potentially contains a token Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of slot PKCS#11 handle of slot Initializes new instance of Slot class Low level PKCS#11 wrapper PKCS#11 handle of slot Obtains information about a particular slot in the system Slot information Obtains information about a particular token in the system. Token information Obtains a list of mechanism types supported by a token List of mechanism types supported by a token Obtains information about a particular mechanism possibly supported by a token Mechanism Information about mechanism Initializes a token SO's initial PIN Label of the token Initializes a token SO's initial PIN Label of the token Opens a session between an application and a token in a particular slot Type of session to be opened Session Closes a session between an application and a token Session Closes all sessions an application has with a token Flags that provide capabilities of the slot Bits flags that provide capabilities of the slot Bits flags that provide capabilities of the slot True if a token is present in the slot (e.g. a device is in the reader) True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" Initializes new instance of SlotFlags class Bits flags that provide capabilities of the slot Information about a slot PKCS#11 handle of slot PKCS#11 handle of slot Description of the slot Description of the slot ID of the slot manufacturer ID of the slot manufacturer Flags that provide capabilities of the slot Flags that provide capabilities of the slot Version number of the slot's hardware Version number of the slot's hardware Version number of the slot's firmware Version number of the slot's firmware Converts low level CK_SLOT_INFO structure to high level SlotInfo class PKCS#11 handle of slot Low level CK_SLOT_INFO structure Flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a “protected authentication path”, whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism True if the token supports secondary authentication for private key objects True if an incorrect user login PIN has been entered at least once since the last successful authentication True if supplying an incorrect user PIN will make it to become locked True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card True if an incorrect SO login PIN has been entered at least once since the last successful authentication True if supplying an incorrect SO PIN will make it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. Initializes new instance of TokenFlags class Bits flags indicating capabilities and status of the device Information about a token PKCS#11 handle of slot PKCS#11 handle of slot Application-defined label, assigned during token initialization Application-defined label, assigned during token initialization ID of the device manufacturer ID of the device manufacturer Model of the device Model of the device Serial number of the device Serial number of the device Bit flags indicating capabilities and status of the device Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Maximum length in bytes of the PIN Minimum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of hardware Version number of firmware Version number of firmware Current time (the value of this field only makes sense for tokens equipped with a clock) Current time (the value of this field only makes sense for tokens equipped with a clock) UtcTimeString converted to DateTime or null if conversion failed UtcTimeString converted to DateTime or null if conversion failed Converts low level CK_TOKEN_INFO structure to high level TokenInfo class PKCS#11 handle of slot Low level CK_TOKEN_INFO structure General information about PKCS#11 library (CK_INFO) Cryptoki interface version number Cryptoki interface version number ID of the Cryptoki library manufacturer ID of the Cryptoki library manufacturer Bit flags reserved for future versions Bit flags reserved for future versions Description of the library Description of the library Cryptoki library version number Cryptoki library version number Converts low level CK_INFO structure to high level LibraryInfo class Low level CK_INFO structure Mechanism and its parameters (CK_MECHANISM alternative) Flag indicating whether instance has been disposed Low level mechanism structure Low level mechanism structure The type of mechanism High level object with mechanism parameters Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags specifying mechanism capabilities Bits flags specifying mechanism capabilities Bits flags specifying mechanism capabilities True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if there is an extension to the flags; false if no extensions. True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed Initializes new instance of MechanismFlags class Bits flags specifying mechanism capabilities Provides information about a particular mechanism Mechanism Mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Flags specifying mechanism capabilities Flags specifying mechanism capabilities Converts low level CK_MECHANISM_INFO structure to high level MechanismInfo class Mechanism Low level CK_MECHANISM_INFO structure Parameters for the CKM_AES_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAesCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_AES_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkAesCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_ARIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkAriaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCamelliaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CTR mechanism Low level mechanism parameters Initializes a new instance of the CkCamelliaCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_CCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCcmParams class. Length of the data Nonce Additional authentication data Length of the MAC (output following cipher text) in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CMS_SIG mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkCmsSigParams class. Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data String indicating complete MIME Content-type of message to be signed or null if the message is a MIME object DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkDesCbcEncryptDataParams class. IV value (8 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Seed value used to generate PQ and G Initializes a new instance of the CkDsaParameterGenParam class Mechanism value for the base hash used in PQG generation (CKM) Seed value used to generate PQ and G Index value for generating G Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcdhAesKeyWrapParams class. Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Data shared between the two parties Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkEcmqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_EXTRACT_KEY_FROM_KEY mechanism Low level mechanism parameters Initializes a new instance of the CkExtractParams class. Specifies which bit of the base key should be used as the first bit of the derived key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_GCM mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGcmParams class. Initialization vector Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Additional authentication data Length of authentication tag (output following cipher text) in bits Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410DeriveParams class. Additional key diversification algorithm (CKD) Data with public key of a receiver UKM data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkGostR3410KeyWrapParams class. Data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Data with UKM Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEA_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeaDeriveParams class. Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Ra data Rb data Other party's KEA public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyDerivationStringData class. Byte string used as the input for derivation mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEY_WRAP_SET_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKeyWrapSetOaepParams class. Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkKipParams class. Underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Input seed Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Low level mechanism parameters Initializes a new instance of the CkMacGeneralParams class. Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Type, value and length of an OTP parameter Flag indicating whether instance has been disposed Low level mechanism parameters Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Parameter type Value of the parameter Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for OTP mechanisms in a generic fashion Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkOtpParams class. List of OTP parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters returned by all OTP mechanisms in successful calls to Sign method Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether high level list of OTP parameters left this instance List of OTP parameters List of OTP parameters Initializes a new instance of the CkOtpSignatureInfo class. Signature value returned by all OTP mechanisms in successful calls to Sign method Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPbeParams class. 8-byte initialization vector (IV), if an IV is required Password to be used in the PBE key generation Salt to be used in the PBE key generation Number of iterations required for the generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkPkcs5Pbkd2Params2 class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2CbcParams class. The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc2MacGeneralParams class. The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc2Params class. Effective number of bits in the RC2 search space Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRc5CbcParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Initialization vector (IV) for CBC encryption Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC5_MAC_GENERAL mechanism Low level mechanism parameters Initializes a new instance of the CkRc5MacGeneralParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Low level mechanism parameters Initializes a new instance of the CkRc5Params class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RSA_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Parameters of the temporary AES key wrapping Initializes a new instance of the CkAesCbcEncryptDataParams class. Length of the temporary AES key in bits Parameters of the temporary AES key wrapping Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_OAEP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkRsaPkcsOaepParams class. Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_PSS mechanism Low level mechanism parameters Initializes a new instance of the CkRsaPkcsPssParams class. Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_SEED_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSeedCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_PRIVATE_WRAP mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackPrivateWrapParams class. User-supplied password Other party's key exchange public key value Ra data Prime, p, value Base, g, value Subprime, q, value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_RELAYX mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSkipjackRelayxParams class. Old wrapper key Old user-supplied password Old key exchange public key value Old Ra data New user-supplied password New key exchange public key value New Ra data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Initialization vector (IV) created for the client Initialization vector (IV) created for the server The length of initialization vectors Initializes a new instance of the CkSsl3KeyMatOut class. Length of initialization vectors or 0 if IVs are not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors after performing a DeriveKey method Resulting key handles and initialization vectors after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkSsl3KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkSsl3MasterKeyDeriveParams class. Client's and server's random data information Set to false for CKM_SSL3_MASTER_KEY_DERIVE mechanism and to true for CKM_SSL3_MASTER_KEY_DERIVE_DH mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in an SSL context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkSsl3RandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors Resulting key handles and initialization vectors Client's and server's random data information Initializes a new instance of the CkTls12KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_MASTER_KEY_DERIVE mechanism Flag indicating whether instance has been disposed Low level mechanism parameters SSL protocol version information Client's and server's random data information Initializes a new instance of the CkTls12MasterKeyDeriveParams class. Client's and server's random data information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_KDF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Client's and server's random data information Initializes a new instance of the CkTlsKdfParams class. Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Label for this key derivation Random data for the key derivation Context data for this key derivation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_MAC mechanism Low level mechanism parameters Initializes a new instance of the CkTlsMacParams class. Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_TLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkTlsPrfParams class. Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_PRE_MASTER_KEY_GEN mechanism Low level mechanism parameters Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Returns a string that represents the current CkVersion object. String that represents the current CkVersion object. Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Low level structure Key handle for the resulting MAC secret key Key handle for the resulting Secret key Initialization vector (IV) The length of initialization vector Initializes a new instance of the CkWtlsKeyMatOut class. Length of initialization vector or 0 if IV is not required Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vector after performing a DeriveKey method Resulting key handles and initialization vector after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkWtlsKeyMatParams class. The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_MASTER_KEY_DERIVE and CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters WTLS protocol version information Client's and server's random data information Initializes a new instance of the CkWtlsMasterKeyDeriveParams class. Digest mechanism to be used (CKM) Client's and server's random data information Set to false for CKM_WTLS_MASTER_KEY_DERIVE mechanism and to true for CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_PRF mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Output of the operation Initializes a new instance of the CkWtlsPrfParams class. Digest mechanism to be used (CKM) Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in a WTLS context Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkWtlsRandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942Dh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_MQV_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Low level mechanism parameters Initializes a new instance of the CkX942MqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Attribute of cryptoki object (CK_ATTRIBUTE alternative) Flag indicating whether instance has been disposed Low level attribute structure Low level attribute structure Attribute type Flag indicating whether attribute value cannot be read either because object is sensitive or unextractable or because specified attribute for the object is invalid. Creates attribute defined by low level CK_ATTRIBUTE structure CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Creates attribute of given type with no value Attribute type Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with CKC value Attribute type Attribute value Creates attribute of given type with CKK value Attribute type Attribute value Creates attribute of given type with CKO value Attribute type Attribute value Reads value of attribute and returns it as ulong Value of attribute Creates attribute of given type with bool value Attribute type Attribute value Creates attribute of given type with bool value Attribute type Attribute value Reads value of attribute and returns it as bool Value of attribute Creates attribute of given type with string value Attribute type Attribute value Creates attribute of given type with string value Attribute type Attribute value Reads value of attribute and returns it as string Value of attribute Creates attribute of given type with byte array value Attribute type Attribute value Creates attribute of given type with byte array value Attribute type Attribute value Reads value of attribute and returns it as byte array Value of attribute Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Reads value of attribute and returns it as DateTime Value of attribute Creates attribute of given type with attribute array value Attribute type Attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Reads value of attribute and returns it as attribute array Value of attribute Creates attribute of given type with ulong array value Attribute type Attribute value Creates attribute of given type with ulong array value Attribute type Attribute value Reads value of attribute and returns it as list of ulongs Value of attribute Creates attribute of given type with mechanism array value Attribute type Attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Reads value of attribute and returns it as list of mechanisms Value of attribute Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Token-specific identifier for an object PKCS#11 handle of object PKCS#11 handle of object Initializes new instance of ObjectHandle class with ObjectId set to CK_INVALID_HANDLE Initializes new instance of ObjectHandle class PKCS#11 handle of object High level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Source of PKCS#11 function pointers Gets general information about loaded PKCS#11 library General information about loaded PKCS#11 library Obtains a list of slots in the system Type of slots to be obtained List of available slots Waits for a slot event, such as token insertion or token removal, to occur Type of waiting for a slot event Flag indicating whether event occured PKCS#11 handle of slot that the event occurred in Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all PKCS#11 URI matching slots PKCS#11 URI High level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Class representing a logical connection between an application and a token Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of session PKCS#11 handle of session Flag indicating whether session should be closed when object is disposed Flag indicating whether session should be closed when object is disposed Initializes new instance of Session class Low level PKCS#11 wrapper PKCS#11 handle of session Closes a session between an application and a token Initializes the normal user's PIN Pin value Initializes the normal user's PIN Pin value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Obtains information about a session Information about a session Obtains a copy of the cryptographic operations state of a session encoded as an array of bytes Operations state of a session Restores the cryptographic operations state of a session from an array of bytes obtained with GetOperationState Array of bytes obtained with GetOperationState CK_INVALID_HANDLE or handle to the key which will be used for an ongoing encryption or decryption operation in the restored session CK_INVALID_HANDLE or handle to the key which will be used for an ongoing signature, MACing, or verification operation in the restored session Logs a user into a token Type of user Pin of user Logs a user into a token Type of user Pin of user Logs a user out from a token Creates a new object Object attributes Handle of created object Copies an object, creating a new object for the copy Handle of object to be copied New values for any attributes of the object that can ordinarily be modified Handle of copied object Destroys an object Handle of object to be destroyed Gets the size of an object in bytes. Handle of object Size of an object in bytes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Modifies the value of one or more attributes of an object Handle of object whose attributes should be modified List of attributes that should be modified Initializes a search for token and session objects that match a attributes Attributes that should be matched Continues a search for token and session objects that match a template, obtaining additional object handles Maximum number of object handles to be returned Found object handles Terminates a search for token and session objects Searches for all token and session objects that match provided attributes Attributes that should be matched Handles of found objects Encrypts single-part data Encryption mechanism Handle of the encryption key Data to be encrypted Encrypted data Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Size of read buffer in bytes Decrypts single-part data Decryption mechanism Handle of the decryption key Data to be decrypted Decrypted data Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Size of read buffer in bytes Digests the value of a secret key Digesting mechanism Handle of the secret key to be digested Digest Digests single-part data Digesting mechanism Data to be digested Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Size of read buffer in bytes Digest Signs single-part data, where the signature is an appendix to the data Signature mechanism Signature key Data to be signed Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Size of read buffer in bytes Signature Signs single-part data, where the data can be recovered from the signature Signature mechanism Signature key Data to be signed Signature Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Data that was signed Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Size of read buffer in bytes Verifies signature of data, where the data can be recovered from the signature Verification mechanism; Verification key Signature Flag indicating whether signature is valid Data recovered from the signature Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Data to be processed Digest Encrypted data Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Digest Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Data to be processed Digest Decrypted data Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Size of read buffer in bytes Digest Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Data to be processed Signature Encrypted data Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Signature Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Signature Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Data to be processed Signature Decrypted data Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Size of read buffer in bytes Generates a secret key or set of domain parameters, creating a new object Generation mechanism Attributes of the new key or set of domain parameters Handle of the new key or set of domain parameters Generates a public/private key pair, creating new key objects Key generation mechanism Attributes of the public key Attributes of the private key Handle of the new public key Handle of the new private key Wraps (i.e., encrypts) a private or secret key Wrapping mechanism Handle of wrapping key Handle of key to be wrapped Wrapped key Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object Unwrapping mechanism Handle of unwrapping key Wrapped key Attributes for unwrapped key Handle of unwrapped key Derives a key from a base key, creating a new key object Derivation mechanism Handle of base key Attributes for the new key Handle of derived key Mixes additional seed material into the token's random number generator Seed material Generates random or pseudo-random data Length in bytes of the random or pseudo-random data to be generated Generated random or pseudo-random data Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags that define the type of session Bit flags that define the type of session Bit flags that define the type of session True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Initializes new instance of SessionFlags class Bit flags that define the type of session Information about a session PKCS#11 handle of session PKCS#11 handle of session PKCS#11 handle of slot that interfaces with the token PKCS#11 handle of slot that interfaces with the token The state of the session The state of the session Flags that define the type of session Flags that define the type of session An error code defined by the cryptographic device used for errors not covered by Cryptoki An error code defined by the cryptographic device used for errors not covered by Cryptoki Converts low level CK_SESSION_INFO structure to high level SessionInfo class PKCS#11 handle of session Low level CK_SESSION_INFO structure Logical reader that potentially contains a token Low level PKCS#11 wrapper Low level PKCS#11 wrapper. Use with caution! PKCS#11 handle of slot PKCS#11 handle of slot Initializes new instance of Slot class Low level PKCS#11 wrapper PKCS#11 handle of slot Obtains information about a particular slot in the system Slot information Obtains information about a particular token in the system. Token information Obtains a list of mechanism types supported by a token List of mechanism types supported by a token Obtains information about a particular mechanism possibly supported by a token Mechanism Information about mechanism Initializes a token SO's initial PIN Label of the token Initializes a token SO's initial PIN Label of the token Opens a session between an application and a token in a particular slot Type of session to be opened Session Closes a session between an application and a token Session Closes all sessions an application has with a token Flags that provide capabilities of the slot Bits flags that provide capabilities of the slot Bits flags that provide capabilities of the slot True if a token is present in the slot (e.g. a device is in the reader) True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" Initializes new instance of SlotFlags class Bits flags that provide capabilities of the slot Information about a slot PKCS#11 handle of slot PKCS#11 handle of slot Description of the slot Description of the slot ID of the slot manufacturer ID of the slot manufacturer Flags that provide capabilities of the slot Flags that provide capabilities of the slot Version number of the slot's hardware Version number of the slot's hardware Version number of the slot's firmware Version number of the slot's firmware Converts low level CK_SLOT_INFO structure to high level SlotInfo class PKCS#11 handle of slot Low level CK_SLOT_INFO structure Flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device Bits flags indicating capabilities and status of the device True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a “protected authentication path”, whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism True if the token supports secondary authentication for private key objects True if an incorrect user login PIN has been entered at least once since the last successful authentication True if supplying an incorrect user PIN will make it to become locked True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card True if an incorrect SO login PIN has been entered at least once since the last successful authentication True if supplying an incorrect SO PIN will make it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. Initializes new instance of TokenFlags class Bits flags indicating capabilities and status of the device Information about a token PKCS#11 handle of slot PKCS#11 handle of slot Application-defined label, assigned during token initialization Application-defined label, assigned during token initialization ID of the device manufacturer ID of the device manufacturer Model of the device Model of the device Serial number of the device Serial number of the device Bit flags indicating capabilities and status of the device Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Maximum length in bytes of the PIN Minimum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of hardware Version number of firmware Version number of firmware Current time (the value of this field only makes sense for tokens equipped with a clock) Current time (the value of this field only makes sense for tokens equipped with a clock) UtcTimeString converted to DateTime or null if conversion failed UtcTimeString converted to DateTime or null if conversion failed Converts low level CK_TOKEN_INFO structure to high level TokenInfo class PKCS#11 handle of slot Low level CK_TOKEN_INFO structure General information about PKCS#11 library (CK_INFO) Platform specific LibraryInfo Platform specific LibraryInfo Platform specific LibraryInfo Platform specific LibraryInfo Cryptoki interface version number ID of the Cryptoki library manufacturer Bit flags reserved for future versions Description of the library Cryptoki library version number Converts platform specific LibraryInfo to platfrom neutral LibraryInfo Platform specific LibraryInfo Converts platform specific LibraryInfo to platfrom neutral LibraryInfo Platform specific LibraryInfo Converts platform specific LibraryInfo to platfrom neutral LibraryInfo Platform specific LibraryInfo Converts platform specific LibraryInfo to platfrom neutral LibraryInfo Platform specific LibraryInfo Mechanism and its parameters (CK_MECHANISM alternative) Flag indicating whether instance has been disposed Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism Platform specific Mechanism The type of mechanism Converts platform specific Mechanism to platfrom neutral Mechanism Platform specific Mechanism Converts platform specific Mechanism to platfrom neutral Mechanism Platform specific Mechanism Converts platform specific Mechanism to platfrom neutral Mechanism Platform specific Mechanism Converts platform specific Mechanism to platfrom neutral Mechanism Platform specific Mechanism Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with no parameter Mechanism type Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Creates mechanism of given type with object parameter Mechanism type Mechanism parameter Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags specifying mechanism capabilities Platform specific MechanismFlags Platform specific MechanismFlags Platform specific MechanismFlags Platform specific MechanismFlags Bits flags specifying mechanism capabilities True if the mechanism is performed by the device; false if the mechanism is performed in software True if the mechanism can be used with C_EncryptInit True if the mechanism can be used with C_DecryptInit True if the mechanism can be used with C_DigestInit True if the mechanism can be used with C_SignInit True if the mechanism can be used with C_SignRecoverInit True if the mechanism can be used with C_VerifyInit True if the mechanism can be used with C_VerifyRecoverInit True if the mechanism can be used with C_GenerateKey True if the mechanism can be used with C_GenerateKeyPair True if the mechanism can be used with C_WrapKey True if the mechanism can be used with C_UnwrapKey True if the mechanism can be used with C_DeriveKey True if there is an extension to the flags; false if no extensions. True if the mechanism can be used with EC domain parameters over Fp True if the mechanism can be used with EC domain parameters over F2m True if the mechanism can be used with EC domain parameters of the choice ecParameters True if the mechanism can be used with EC domain parameters of the choice namedCurve True if the mechanism can be used with elliptic curve point uncompressed True if the mechanism can be used with elliptic curve point compressed Converts platform specific MechanismFlags to platfrom neutral MechanismFlags Platform specific MechanismFlags Converts platform specific MechanismFlags to platfrom neutral MechanismFlags Platform specific MechanismFlags Converts platform specific MechanismFlags to platfrom neutral MechanismFlags Platform specific MechanismFlags Converts platform specific MechanismFlags to platfrom neutral MechanismFlags Platform specific MechanismFlags Provides information about a particular mechanism Platform specific MechanismInfo Platform specific MechanismInfo Platform specific MechanismInfo Platform specific MechanismInfo Mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Flags specifying mechanism capabilities Flags specifying mechanism capabilities Converts platform specific MechanismInfo to platfrom neutral MechanismInfo Platform specific MechanismInfo Converts platform specific MechanismInfo to platfrom neutral MechanismInfo Platform specific MechanismInfo Converts platform specific MechanismInfo to platfrom neutral MechanismInfo Platform specific MechanismInfo Converts platform specific MechanismInfo to platfrom neutral MechanismInfo Platform specific MechanismInfo Parameters for the CKM_AES_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Platform specific CkAesCbcEncryptDataParams Platform specific CkAesCbcEncryptDataParams Platform specific CkAesCbcEncryptDataParams Platform specific CkAesCbcEncryptDataParams Initializes a new instance of the CkAesCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_AES_CTR mechanism Platform specific CkAesCtrParams Platform specific CkAesCtrParams Platform specific CkAesCtrParams Platform specific CkAesCtrParams Initializes a new instance of the CkAesCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_ARIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Platform specific CkAriaCbcEncryptDataParams Platform specific CkAriaCbcEncryptDataParams Platform specific CkAriaCbcEncryptDataParams Platform specific CkAriaCbcEncryptDataParams Initializes a new instance of the CkAriaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Platform specific CkCamelliaCbcEncryptDataParams Platform specific CkCamelliaCbcEncryptDataParams Platform specific CkCamelliaCbcEncryptDataParams Platform specific CkCamelliaCbcEncryptDataParams Initializes a new instance of the CkCamelliaCbcEncryptDataParams class. IV value (16 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CAMELLIA_CTR mechanism Platform specific CkCamelliaCtrParams Platform specific CkCamelliaCtrParams Platform specific CkCamelliaCtrParams Platform specific CkCamelliaCtrParams Initializes a new instance of the CkCamelliaCtrParams class. The number of bits in the counter block (cb) that shall be incremented Specifies the counter block (16 bytes) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_CCM mechanism Flag indicating whether instance has been disposed Platform specific CkCcmParams Platform specific CkCcmParams Platform specific CkCcmParams Platform specific CkCcmParams Initializes a new instance of the CkCcmParams class. Length of the data Nonce Additional authentication data Length of the MAC (output following cipher text) in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CMS_SIG mechanism Flag indicating whether instance has been disposed Platform specific CkCmsSigParams Platform specific CkCmsSigParams Platform specific CkCmsSigParams Platform specific CkCmsSigParams Initializes a new instance of the CkCmsSigParams class. Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data String indicating complete MIME Content-type of message to be signed or null if the message is a MIME object DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms Flag indicating whether instance has been disposed Platform specific CkDesCbcEncryptDataParams Platform specific CkDesCbcEncryptDataParams Platform specific CkDesCbcEncryptDataParams Platform specific CkDesCbcEncryptDataParams Initializes a new instance of the CkDesCbcEncryptDataParams class. IV value (8 bytes) Data to encrypt Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Flag indicating whether instance has been disposed Platform specific CkDsaParameterGenParam Platform specific CkDsaParameterGenParam Platform specific CkDsaParameterGenParam Platform specific CkDsaParameterGenParam Seed value used to generate PQ and G Initializes a new instance of the CkDsaParameterGenParam class Mechanism value for the base hash used in PQG generation (CKM) Seed value used to generate PQ and G Index value for generating G Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Platform specific CkEcdh1DeriveParams Platform specific CkEcdh1DeriveParams Platform specific CkEcdh1DeriveParams Platform specific CkEcdh1DeriveParams Initializes a new instance of the CkEcdh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkEcdh2DeriveParams Platform specific CkEcdh2DeriveParams Platform specific CkEcdh2DeriveParams Platform specific CkEcdh2DeriveParams Initializes a new instance of the CkEcdh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECDH_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Platform specific CkEcdhAesKeyWrapParams Platform specific CkEcdhAesKeyWrapParams Platform specific CkEcdhAesKeyWrapParams Platform specific CkEcdhAesKeyWrapParams Initializes a new instance of the CkEcdhAesKeyWrapParams class. Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Data shared between the two parties Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_ECMQV_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkEcmqvDeriveParams Platform specific CkEcmqvDeriveParams Platform specific CkEcmqvDeriveParams Platform specific CkEcmqvDeriveParams Initializes a new instance of the CkEcmqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value Other party's second EC public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_EXTRACT_KEY_FROM_KEY mechanism Platform specific CkExtractParams Platform specific CkExtractParams Platform specific CkExtractParams Platform specific CkExtractParams Initializes a new instance of the CkExtractParams class. Specifies which bit of the base key should be used as the first bit of the derived key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_AES_GCM mechanism Flag indicating whether instance has been disposed Platform specific CkGcmParams Platform specific CkGcmParams Platform specific CkGcmParams Platform specific CkGcmParams Initializes a new instance of the CkGcmParams class. Initialization vector Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Additional authentication data Length of authentication tag (output following cipher text) in bits Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkGostR3410DeriveParams Platform specific CkGostR3410DeriveParams Platform specific CkGostR3410DeriveParams Platform specific CkGostR3410DeriveParams Initializes a new instance of the CkGostR3410DeriveParams class. Additional key diversification algorithm (CKD) Data with public key of a receiver UKM data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_GOSTR3410_KEY_WRAP mechanism Flag indicating whether instance has been disposed Platform specific CkGostR3410KeyWrapParams Platform specific CkGostR3410KeyWrapParams Platform specific CkGostR3410KeyWrapParams Platform specific CkGostR3410KeyWrapParams Initializes a new instance of the CkGostR3410KeyWrapParams class. Data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Data with UKM Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEA_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkKeaDeriveParams Platform specific CkKeaDeriveParams Platform specific CkKeaDeriveParams Platform specific CkKeaDeriveParams Initializes a new instance of the CkKeaDeriveParams class. Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Ra data Rb data Other party's KEA public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Flag indicating whether instance has been disposed Platform specific CkKeyDerivationStringData Platform specific CkKeyDerivationStringData Platform specific CkKeyDerivationStringData Platform specific CkKeyDerivationStringData Initializes a new instance of the CkKeyDerivationStringData class. Byte string used as the input for derivation mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KEY_WRAP_SET_OAEP mechanism Flag indicating whether instance has been disposed Platform specific CkKeyWrapSetOaepParams Platform specific CkKeyWrapSetOaepParams Platform specific CkKeyWrapSetOaepParams Platform specific CkKeyWrapSetOaepParams Initializes a new instance of the CkKeyWrapSetOaepParams class. Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Flag indicating whether instance has been disposed Platform specific CkKipParams Platform specific CkKipParams Platform specific CkKipParams Platform specific CkKipParams Initializes a new instance of the CkKipParams class. Underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Input seed Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Platform specific CkMacGeneralParams Platform specific CkMacGeneralParams Platform specific CkMacGeneralParams Platform specific CkMacGeneralParams Initializes a new instance of the CkMacGeneralParams class. Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Type, value and length of an OTP parameter Flag indicating whether instance has been disposed Platform specific CkOtpParam Platform specific CkOtpParam Platform specific CkOtpParam Platform specific CkOtpParam Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Parameter type Value of the parameter Initializes a new instance of the CkOtpParam class. Platform specific CkOtpParam Initializes a new instance of the CkOtpParam class. Platform specific CkOtpParam Initializes a new instance of the CkOtpParam class. Platform specific CkOtpParam Initializes a new instance of the CkOtpParam class. Platform specific CkOtpParam Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for OTP mechanisms in a generic fashion Flag indicating whether instance has been disposed Platform specific CkOtpParams Platform specific CkOtpParams Platform specific CkOtpParams Platform specific CkOtpParams Initializes a new instance of the CkOtpParams class. List of OTP parameters Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters returned by all OTP mechanisms in successful calls to Sign method Flag indicating whether instance has been disposed Platform specific CkOtpSignatureInfo Platform specific CkOtpSignatureInfo Platform specific CkOtpSignatureInfo Platform specific CkOtpSignatureInfo Flag indicating whether high level list of OTP parameters left this instance List of OTP parameters List of OTP parameters Initializes a new instance of the CkOtpSignatureInfo class. Signature value returned by all OTP mechanisms in successful calls to Sign method Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Flag indicating whether instance has been disposed Platform specific CkPbeParams Platform specific CkPbeParams Platform specific CkPbeParams Platform specific CkPbeParams Initializes a new instance of the CkPbeParams class. 8-byte initialization vector (IV), if an IV is required Password to be used in the PBE key generation Salt to be used in the PBE key generation Number of iterations required for the generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Platform specific CkPkcs5Pbkd2Params Platform specific CkPkcs5Pbkd2Params Platform specific CkPkcs5Pbkd2Params Platform specific CkPkcs5Pbkd2Params Initializes a new instance of the CkPkcs5Pbkd2Params class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_PKCS5_PBKD2 mechanism Flag indicating whether instance has been disposed Platform specific CkPkcs5Pbkd2Params2 Platform specific CkPkcs5Pbkd2Params2 Platform specific CkPkcs5Pbkd2Params2 Platform specific CkPkcs5Pbkd2Params2 Initializes a new instance of the CkPkcs5Pbkd2Params2 class. Source of the salt value (CKZ) Data used as the input for the salt source Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Password to be used in the PBE key generation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms Platform specific CkRc2CbcParams Platform specific CkRc2CbcParams Platform specific CkRc2CbcParams Platform specific CkRc2CbcParams Initializes a new instance of the CkRc2CbcParams class. The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_MAC_GENERAL mechanism Platform specific CkRc2MacGeneralParams Platform specific CkRc2MacGeneralParams Platform specific CkRc2MacGeneralParams Platform specific CkRc2MacGeneralParams Initializes a new instance of the CkRc2MacGeneralParams class. The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Platform specific CkRc2Params Platform specific CkRc2Params Platform specific CkRc2Params Platform specific CkRc2Params Initializes a new instance of the CkRc2Params class. Effective number of bits in the RC2 search space Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Flag indicating whether instance has been disposed Platform specific CkRc5CbcParams Platform specific CkRc5CbcParams Platform specific CkRc5CbcParams Platform specific CkRc5CbcParams Initializes a new instance of the CkRc5CbcParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Initialization vector (IV) for CBC encryption Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RC5_MAC_GENERAL mechanism Platform specific CkRc5MacGeneralParams Platform specific CkRc5MacGeneralParams Platform specific CkRc5MacGeneralParams Platform specific CkRc5MacGeneralParams Initializes a new instance of the CkRc5MacGeneralParams class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Platform specific CkRc5Params Platform specific CkRc5Params Platform specific CkRc5Params Platform specific CkRc5Params Initializes a new instance of the CkRc5Params class. Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_RSA_AES_KEY_WRAP mechanism Flag indicating whether instance has been disposed Platform specific CkRsaAesKeyWrapParams Platform specific CkRsaAesKeyWrapParams Platform specific CkRsaAesKeyWrapParams Platform specific CkRsaAesKeyWrapParams Parameters of the temporary AES key wrapping Initializes a new instance of the CkAesCbcEncryptDataParams class. Length of the temporary AES key in bits Parameters of the temporary AES key wrapping Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_OAEP mechanism Flag indicating whether instance has been disposed Platform specific CkRsaPkcsOaepParams Platform specific CkRsaPkcsOaepParams Platform specific CkRsaPkcsOaepParams Platform specific CkRsaPkcsOaepParams Initializes a new instance of the CkRsaPkcsOaepParams class. Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_RSA_PKCS_PSS mechanism Platform specific CkRsaPkcsPssParams Platform specific CkRsaPkcsPssParams Platform specific CkRsaPkcsPssParams Platform specific CkRsaPkcsPssParams Initializes a new instance of the CkRsaPkcsPssParams class. Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_SEED_CBC_ENCRYPT_DATA mechanism Flag indicating whether instance has been disposed Platform specific CkSeedCbcEncryptDataParams Platform specific CkSeedCbcEncryptDataParams Platform specific CkSeedCbcEncryptDataParams Platform specific CkSeedCbcEncryptDataParams Initializes a new instance of the CkSeedCbcEncryptDataParams class. IV value (16 bytes) Data value part that must be a multiple of 16 bytes long Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_PRIVATE_WRAP mechanism Flag indicating whether instance has been disposed Platform specific CkSkipjackPrivateWrapParams Platform specific CkSkipjackPrivateWrapParams Platform specific CkSkipjackPrivateWrapParams Platform specific CkSkipjackPrivateWrapParams Initializes a new instance of the CkSkipjackPrivateWrapParams class. User-supplied password Other party's key exchange public key value Ra data Prime, p, value Base, g, value Subprime, q, value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SKIPJACK_RELAYX mechanism Flag indicating whether instance has been disposed Platform specific CkSkipjackRelayxParams Platform specific CkSkipjackRelayxParams Platform specific CkSkipjackRelayxParams Platform specific CkSkipjackRelayxParams Initializes a new instance of the CkSkipjackRelayxParams class. Old wrapper key Old user-supplied password Old key exchange public key value Old Ra data New user-supplied password New key exchange public key value New Ra data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkSsl3KeyMatOut Platform specific CkSsl3KeyMatOut Platform specific CkSsl3KeyMatOut Platform specific CkSsl3KeyMatOut Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Initialization vector (IV) created for the client Initialization vector (IV) created for the server Initializes a new instance of the CkSsl3KeyMatOut class. Platform specific CkSsl3KeyMatOut Initializes a new instance of the CkSsl3KeyMatOut class. Platform specific CkSsl3KeyMatOut Initializes a new instance of the CkSsl3KeyMatOut class. Platform specific CkSsl3KeyMatOut Initializes a new instance of the CkSsl3KeyMatOut class. Platform specific CkSsl3KeyMatOut Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkSsl3KeyMatParams Platform specific CkSsl3KeyMatParams Platform specific CkSsl3KeyMatParams Platform specific CkSsl3KeyMatParams Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors after performing a DeriveKey method Resulting key handles and initialization vectors after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkSsl3KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Flag indicating whether instance has been disposed Platform specific CkSsl3MasterKeyDeriveParams Platform specific CkSsl3MasterKeyDeriveParams Platform specific CkSsl3MasterKeyDeriveParams Platform specific CkSsl3MasterKeyDeriveParams SSL protocol version information Client's and server's random data information Initializes a new instance of the CkSsl3MasterKeyDeriveParams class. Client's and server's random data information Set to false for CKM_SSL3_MASTER_KEY_DERIVE mechanism and to true for CKM_SSL3_MASTER_KEY_DERIVE_DH mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in an SSL context Flag indicating whether instance has been disposed Platform specific CkSsl3RandomData Platform specific CkSsl3RandomData Platform specific CkSsl3RandomData Platform specific CkSsl3RandomData Initializes a new instance of the CkSsl3RandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkTls12KeyMatParams Platform specific CkTls12KeyMatParams Platform specific CkTls12KeyMatParams Platform specific CkTls12KeyMatParams Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vectors Resulting key handles and initialization vectors Client's and server's random data information Initializes a new instance of the CkTls12KeyMatParams class. The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS12_MASTER_KEY_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkTls12MasterKeyDeriveParams Platform specific CkTls12MasterKeyDeriveParams Platform specific CkTls12MasterKeyDeriveParams Platform specific CkTls12MasterKeyDeriveParams SSL protocol version information Client's and server's random data information Initializes a new instance of the CkTls12MasterKeyDeriveParams class. Client's and server's random data information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_KDF mechanism Flag indicating whether instance has been disposed Platform specific CkTlsKdfParams Platform specific CkTlsKdfParams Platform specific CkTlsKdfParams Platform specific CkTlsKdfParams Client's and server's random data information Initializes a new instance of the CkTlsKdfParams class. Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Label for this key derivation Random data for the key derivation Context data for this key derivation Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_TLS_MAC mechanism Platform specific CkTlsMacParams Platform specific CkTlsMacParams Platform specific CkTlsMacParams Platform specific CkTlsMacParams Initializes a new instance of the CkTlsMacParams class. Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Parameters for the CKM_TLS_PRF mechanism Flag indicating whether instance has been disposed Platform specific CkTlsPrfParams Platform specific CkTlsPrfParams Platform specific CkTlsPrfParams Platform specific CkTlsPrfParams Output of the operation Initializes a new instance of the CkTlsPrfParams class. Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_SSL3_PRE_MASTER_KEY_GEN mechanism Platform specific CkVersion Platform specific CkVersion Platform specific CkVersion Platform specific CkVersion Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Initializes a new instance of the CkVersion class. Platform specific CkVersion Initializes a new instance of the CkVersion class. Platform specific CkVersion Initializes a new instance of the CkVersion class. Platform specific CkVersion Initializes a new instance of the CkVersion class. Platform specific CkVersion Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Returns a string that represents the current CkVersion object. String that represents the current CkVersion object. Resulting key handles and initialization vectors after performing a DeriveKey method with the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Flag indicating whether instance has been disposed Platform specific CkWtlsKeyMatOut Platform specific CkWtlsKeyMatOut Platform specific CkWtlsKeyMatOut Platform specific CkWtlsKeyMatOut Key handle for the resulting MAC secret key Key handle for the resulting Secret key Initialization vector (IV) Initializes a new instance of the CkWtlsKeyMatOut class. Platform specific CkWtlsKeyMatOut Initializes a new instance of the CkWtlsKeyMatOut class. Platform specific CkWtlsKeyMatOut Initializes a new instance of the CkWtlsKeyMatOut class. Platform specific CkWtlsKeyMatOut Initializes a new instance of the CkWtlsKeyMatOut class. Platform specific CkWtlsKeyMatOut Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms Flag indicating whether instance has been disposed Platform specific CkWtlsKeyMatParams Platform specific CkWtlsKeyMatParams Platform specific CkWtlsKeyMatParams Platform specific CkWtlsKeyMatParams Flag indicating whether object with returned key material has left this instance Resulting key handles and initialization vector after performing a DeriveKey method Resulting key handles and initialization vector after performing a DeriveKey method Client's and server's random data information Initializes a new instance of the CkWtlsKeyMatParams class. The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag indicating whether the keys have to be derived for an export version of the protocol Client's and server's random data information Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_MASTER_KEY_DERIVE and CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanisms Flag indicating whether instance has been disposed Platform specific CkWtlsMasterKeyDeriveParams Platform specific CkWtlsMasterKeyDeriveParams Platform specific CkSsl3MasterKeyDeriveParams Platform specific CkSsl3MasterKeyDeriveParams WTLS protocol version information Client's and server's random data information Initializes a new instance of the CkWtlsMasterKeyDeriveParams class. Digest mechanism to be used (CKM) Client's and server's random data information Set to false for CKM_WTLS_MASTER_KEY_DERIVE mechanism and to true for CKM_WTLS_MASTER_KEY_DERIVE_DH_ECC mechanism Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_WTLS_PRF mechanism Flag indicating whether instance has been disposed Platform specific CkWtlsPrfParams Platform specific CkWtlsPrfParams Platform specific CkWtlsPrfParams Platform specific CkWtlsPrfParams Output of the operation Initializes a new instance of the CkWtlsPrfParams class. Digest mechanism to be used (CKM) Input seed Identifying label Length in bytes that the output to be created shall have Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Information about the random data of a client and a server in a WTLS context Flag indicating whether instance has been disposed Platform specific CkWtlsRandomData Platform specific CkWtlsRandomData Platform specific CkWtlsRandomData Platform specific CkWtlsRandomData Initializes a new instance of the CkWtlsRandomData class. Client's random data Server's random data Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Platform specific CkX942Dh1DeriveParams Platform specific CkX942Dh1DeriveParams Platform specific CkX942Dh1DeriveParams Platform specific CkX942Dh1DeriveParams Initializes a new instance of the CkX942Dh1DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Flag indicating whether instance has been disposed Platform specific CkX942Dh2DeriveParams Platform specific CkX942Dh2DeriveParams Platform specific CkX942Dh2DeriveParams Platform specific CkX942Dh2DeriveParams Initializes a new instance of the CkX942Dh2DeriveParams class. Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Parameters for the CKM_X9_42_MQV_DERIVE key derivation mechanism Flag indicating whether instance has been disposed Platform specific CkX942MqvDeriveParams Platform specific CkX942MqvDeriveParams Platform specific CkX942MqvDeriveParams Platform specific CkX942MqvDeriveParams Initializes a new instance of the CkX942MqvDeriveParams class. > Key derivation function used on the shared secret value (CKD) Some data shared between the two parties Other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value Other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Returns managed object that can be marshaled to an unmanaged block of memory A managed object holding the data to be marshaled. This object must be an instance of a formatted class. Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Attribute of cryptoki object (CK_ATTRIBUTE alternative) Flag indicating whether instance has been disposed Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Platform specific ObjectAttribute Attribute type Flag indicating whether attribute value cannot be read either because object is sensitive or unextractable or because specified attribute for the object is invalid. Converts platform specific ObjectAttribute to platfrom neutral ObjectAttribute Platform specific ObjectAttribute Converts platform specific ObjectAttribute to platfrom neutral ObjectAttribute Platform specific ObjectAttribute Converts platform specific ObjectAttribute to platfrom neutral ObjectAttribute Platform specific ObjectAttribute Converts platform specific ObjectAttribute to platfrom neutral ObjectAttribute Platform specific ObjectAttribute Creates attribute of given type with no value Attribute type Creates attribute of given type with no value Attribute type Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with ulong value Attribute type Attribute value Creates attribute of given type with CKC value Attribute type Attribute value Creates attribute of given type with CKK value Attribute type Attribute value Creates attribute of given type with CKO value Attribute type Attribute value Reads value of attribute and returns it as ulong Value of attribute Creates attribute of given type with bool value Attribute type Attribute value Creates attribute of given type with bool value Attribute type Attribute value Reads value of attribute and returns it as bool Value of attribute Creates attribute of given type with string value Attribute type Attribute value Creates attribute of given type with string value Attribute type Attribute value Reads value of attribute and returns it as string Value of attribute Creates attribute of given type with byte array value Attribute type Attribute value Creates attribute of given type with byte array value Attribute type Attribute value Reads value of attribute and returns it as byte array Value of attribute Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Reads value of attribute and returns it as DateTime Value of attribute Creates attribute of given type with attribute array value Attribute type Attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Reads value of attribute and returns it as attribute array Value of attribute Creates attribute of given type with ulong array value Attribute type Attribute value Creates attribute of given type with ulong array value Attribute type Attribute value Reads value of attribute and returns it as list of ulongs Value of attribute Creates attribute of given type with mechanism array value Attribute type Attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Reads value of attribute and returns it as list of mechanisms Value of attribute Converts platfrom neutral ObjectAttributes to platform specific ObjectAttributes Platfrom neutral ObjectAttributes Platform specific ObjectAttributes Converts platform specific ObjectAttributes to platfrom neutral ObjectAttributes Platform specific ObjectAttributes Platfrom neutral ObjectAttributes Converts platfrom neutral ObjectAttributes to platform specific ObjectAttributes Platfrom neutral ObjectAttributes Platform specific ObjectAttributes Converts platform specific ObjectAttributes to platfrom neutral ObjectAttributes Platform specific ObjectAttributes Platfrom neutral ObjectAttributes Converts platfrom neutral ObjectAttributes to platform specific ObjectAttributes Platfrom neutral ObjectAttributes Platform specific ObjectAttributes Converts platform specific ObjectAttributes to platfrom neutral ObjectAttributes Platform specific ObjectAttributes Platfrom neutral ObjectAttributes Converts platfrom neutral ObjectAttributes to platform specific ObjectAttributes Platfrom neutral ObjectAttributes Platform specific ObjectAttributes Converts platform specific ObjectAttributes to platfrom neutral ObjectAttributes Platform specific ObjectAttributes Platfrom neutral ObjectAttributes Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Token-specific identifier for an object Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle Platform specific ObjectHandle PKCS#11 handle of object Initializes new instance of ObjectHandle class with ObjectId set to CK_INVALID_HANDLE Converts platform specific ObjectHandle to platfrom neutral ObjectHandle Platform specific ObjectHandle Converts platform specific ObjectHandle to platfrom neutral ObjectHandle Platform specific ObjectHandle Converts platform specific ObjectHandle to platfrom neutral ObjectHandle Platform specific ObjectHandle Converts platform specific ObjectHandle to platfrom neutral ObjectHandle Platform specific ObjectHandle Converts platfrom neutral ObjectHandles to platform specific ObjectHandles Platfrom neutral ObjectHandles Platform specific ObjectHandles Converts platform specific ObjectHandles to platfrom neutral ObjectHandles Platform specific ObjectHandles Platfrom neutral ObjectHandles Converts platfrom neutral ObjectHandles to platform specific ObjectHandles Platfrom neutral ObjectHandles Platform specific ObjectHandles Converts platform specific ObjectHandles to platfrom neutral ObjectHandles Platform specific ObjectHandles Platfrom neutral ObjectHandles Converts platfrom neutral ObjectHandles to platform specific ObjectHandles Platfrom neutral ObjectHandles Platform specific ObjectHandles Converts platform specific ObjectHandles to platfrom neutral ObjectHandles Platform specific ObjectHandles Platfrom neutral ObjectHandles Converts platfrom neutral ObjectHandles to platform specific ObjectHandles Platfrom neutral ObjectHandles Platform specific ObjectHandles Converts platform specific ObjectHandles to platfrom neutral ObjectHandles Platform specific ObjectHandles Platfrom neutral ObjectHandles High level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Platform specific high level PKCS#11 wrapper Platform specific high level PKCS#11 wrapper. Use with caution! Platform specific high level PKCS#11 wrapper Platform specific high level PKCS#11 wrapper. Use with caution! Platform specific high level PKCS#11 wrapper Platform specific high level PKCS#11 wrapper. Use with caution! Platform specific high level PKCS#11 wrapper Platform specific high level PKCS#11 wrapper. Use with caution! Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Loads and initializes PCKS#11 library Library name or path Type of application that will be using PKCS#11 library Source of PKCS#11 function pointers Gets general information about loaded PKCS#11 library General information about loaded PKCS#11 library Obtains a list of slots in the system Type of slots to be obtained List of available slots Waits for a slot event, such as token insertion or token removal, to occur Type of waiting for a slot event Flag indicating whether event occured PKCS#11 handle of slot that the event occurred in Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all PKCS#11 URI matching slots PKCS#11 URI High level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Class representing a logical connection between an application and a token Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Platform specific Session Platform specific Session. Use with caution! Platform specific Session Platform specific Session. Use with caution! Platform specific Session Platform specific Session. Use with caution! Platform specific Session Platform specific Session. Use with caution! PKCS#11 handle of session Flag indicating whether session should be closed when object is disposed Converts platform specific Session to platfrom neutral Session Platform specific Session Converts platform specific Session to platfrom neutral Session Platform specific Session Converts platform specific Session to platfrom neutral Session Platform specific Session Converts platform specific Session to platfrom neutral Session Platform specific Session Closes a session between an application and a token Initializes the normal user's PIN Pin value Initializes the normal user's PIN Pin value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in. Old PIN value New PIN value Obtains information about a session Information about a session Obtains a copy of the cryptographic operations state of a session encoded as an array of bytes Operations state of a session Restores the cryptographic operations state of a session from an array of bytes obtained with GetOperationState Array of bytes obtained with GetOperationState CK_INVALID_HANDLE or handle to the key which will be used for an ongoing encryption or decryption operation in the restored session CK_INVALID_HANDLE or handle to the key which will be used for an ongoing signature, MACing, or verification operation in the restored session Logs a user into a token Type of user Pin of user Logs a user into a token Type of user Pin of user Logs a user out from a token Creates a new object Object attributes Handle of created object Copies an object, creating a new object for the copy Handle of object to be copied New values for any attributes of the object that can ordinarily be modified Handle of copied object Destroys an object Handle of object to be destroyed Gets the size of an object in bytes. Handle of object Size of an object in bytes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Obtains the value of one or more attributes of an object Handle of object whose attributes should be read List of attributes that should be read Object attributes Modifies the value of one or more attributes of an object Handle of object whose attributes should be modified List of attributes that should be modified Initializes a search for token and session objects that match a attributes Attributes that should be matched Continues a search for token and session objects that match a template, obtaining additional object handles Maximum number of object handles to be returned Found object handles Terminates a search for token and session objects Searches for all token and session objects that match provided attributes Attributes that should be matched Handles of found objects Encrypts single-part data Encryption mechanism Handle of the encryption key Data to be encrypted Encrypted data Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Encrypts multi-part data Encryption mechanism Handle of the encryption key Input stream from which data to be encrypted should be read Output stream where encrypted data should be written Size of read buffer in bytes Decrypts single-part data Decryption mechanism Handle of the decryption key Data to be decrypted Decrypted data Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Decrypts multi-part data Decryption mechanism Handle of the decryption key Input stream from which encrypted data should be read Output stream where decrypted data should be written Size of read buffer in bytes Digests the value of a secret key Digesting mechanism Handle of the secret key to be digested Digest Digests single-part data Digesting mechanism Data to be digested Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Digest Digests multi-part data Digesting mechanism Input stream from which data should be read Size of read buffer in bytes Digest Signs single-part data, where the signature is an appendix to the data Signature mechanism Signature key Data to be signed Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Signature Signs multi-part data, where the signature is an appendix to the data Signature mechanism Signature key Input stream from which data should be read Size of read buffer in bytes Signature Signs single-part data, where the data can be recovered from the signature Signature mechanism Signature key Data to be signed Signature Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Data that was signed Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Verifies a signature of data, where the signature is an appendix to the data Verification mechanism; Verification key Input stream from which data that was signed should be read Signature Flag indicating whether signature is valid Size of read buffer in bytes Verifies signature of data, where the data can be recovered from the signature Verification mechanism; Verification key Signature Flag indicating whether signature is valid Data recovered from the signature Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Data to be processed Digest Encrypted data Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Digest Digests and encrypts data Digesting mechanism Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Data to be processed Digest Decrypted data Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Digest Digests and decrypts data Digesting mechanism Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Size of read buffer in bytes Digest Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Data to be processed Signature Encrypted data Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Signature Signs and encrypts data Signing mechanism Handle of the signing key Encryption mechanism Handle of the encryption key Input stream from which data to be processed should be read Output stream where encrypted data should be written Size of read buffer in bytes Signature Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Data to be processed Signature Decrypted data Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Decrypts data and verifies a signature of data Verification mechanism Handle of the verification key Decryption mechanism Handle of the decryption key Input stream from which data to be processed should be read Output stream where decrypted data should be written Signature Flag indicating whether signature is valid Size of read buffer in bytes Generates a secret key or set of domain parameters, creating a new object Generation mechanism Attributes of the new key or set of domain parameters Handle of the new key or set of domain parameters Generates a public/private key pair, creating new key objects Key generation mechanism Attributes of the public key Attributes of the private key Handle of the new public key Handle of the new private key Wraps (i.e., encrypts) a private or secret key Wrapping mechanism Handle of wrapping key Handle of key to be wrapped Wrapped key Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object Unwrapping mechanism Handle of unwrapping key Wrapped key Attributes for unwrapped key Handle of unwrapped key Derives a key from a base key, creating a new key object Derivation mechanism Handle of base key Attributes for the new key Handle of derived key Mixes additional seed material into the token's random number generator Seed material Generates random or pseudo-random data Length in bytes of the random or pseudo-random data to be generated Generated random or pseudo-random data Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Legacy function which should throw CKR_FUNCTION_NOT_PARALLEL Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Flags that define the type of session Platform specific SessionFlags Platform specific SessionFlags Platform specific SessionFlags Platform specific SessionFlags Bit flags that define the type of session True if the session is read/write; false if the session is read-only This flag is provided for backward compatibility, and should always be set to true Converts platform specific SessionFlags to platfrom neutral SessionFlags Platform specific SessionFlags Converts platform specific SessionFlags to platfrom neutral SessionFlags Platform specific SessionFlags Converts platform specific SessionFlags to platfrom neutral SessionFlags Platform specific SessionFlags Converts platform specific SessionFlags to platfrom neutral SessionFlags Platform specific SessionFlags Information about a session Platform specific SessionInfo Platform specific SessionInfo Platform specific SessionInfo Platform specific SessionInfo PKCS#11 handle of session PKCS#11 handle of slot that interfaces with the token The state of the session Flags that define the type of session Flags that define the type of session An error code defined by the cryptographic device used for errors not covered by Cryptoki Converts platform specific SessionInfo to platfrom neutral SessionInfo Platform specific SessionInfo Converts platform specific SessionInfo to platfrom neutral SessionInfo Platform specific SessionInfo Converts platform specific SessionInfo to platfrom neutral SessionInfo Platform specific SessionInfo Converts platform specific SessionInfo to platfrom neutral SessionInfo Platform specific SessionInfo Logical reader that potentially contains a token Platform specific Slot Platform specific Slot. Use with caution! Platform specific Slot Platform specific Slot. Use with caution! Platform specific Slot Platform specific Slot. Use with caution! Platform specific Slot Platform specific Slot. Use with caution! PKCS#11 handle of slot Converts platform specific Slot to platfrom neutral Slot Platform specific Slot Converts platform specific Slot to platfrom neutral Slot Platform specific Slot Converts platform specific Slot to platfrom neutral Slot Platform specific Slot Converts platform specific Slot to platfrom neutral Slot Platform specific Slot Obtains information about a particular slot in the system Slot information Obtains information about a particular token in the system. Token information Obtains a list of mechanism types supported by a token List of mechanism types supported by a token Obtains information about a particular mechanism possibly supported by a token Mechanism Information about mechanism Initializes a token SO's initial PIN Label of the token Initializes a token SO's initial PIN Label of the token Opens a session between an application and a token in a particular slot Type of session to be opened Session Closes a session between an application and a token Session Closes all sessions an application has with a token Flags that provide capabilities of the slot Platform specific SlotFlags Platform specific SlotFlags Platform specific SlotFlags Platform specific SlotFlags Bits flags that provide capabilities of the slot True if a token is present in the slot (e.g. a device is in the reader) True if the reader supports removable devices True if the slot is a hardware slot, as opposed to a software slot implementing a "soft token" Converts platform specific SlotFlags to platfrom neutral SlotFlags Platform specific SlotFlags Converts platform specific SlotFlags to platfrom neutral SlotFlags Platform specific SlotFlags Converts platform specific SlotFlags to platfrom neutral SlotFlags Platform specific SlotFlags Converts platform specific SlotFlags to platfrom neutral SlotFlags Platform specific SlotFlags Information about a slot Platform specific SlotInfo Platform specific SlotInfo Platform specific SlotInfo Platform specific SlotInfo PKCS#11 handle of slot Description of the slot ID of the slot manufacturer Flags that provide capabilities of the slot Flags that provide capabilities of the slot Version number of the slot's hardware Version number of the slot's firmware Converts platform specific SlotInfo to platfrom neutral SlotInfo Platform specific SlotInfo Converts platform specific SlotInfo to platfrom neutral SlotInfo Platform specific SlotInfo Converts platform specific SlotInfo to platfrom neutral SlotInfo Platform specific SlotInfo Converts platform specific SlotInfo to platfrom neutral SlotInfo Platform specific SlotInfo Flags indicating capabilities and status of the device Platform specific TokenFlags Platform specific TokenFlags Platform specific TokenFlags Platform specific TokenFlags Bits flags indicating capabilities and status of the device True if the token has its own random number generator True if the token is write-protected True if there are some cryptographic functions that a user must be logged in to perform True if the normal user's PIN has been initialized True if a successful save of a session's cryptographic operations state always contains all keys needed to restore the state of the session True if token has its own hardware clock True if token has a “protected authentication path”, whereby a user can log into the token without passing a PIN through the Cryptoki library True if a single session with the token can perform dual cryptographic operations True if the token has been initialized using C_InitializeToken or an equivalent mechanism True if the token supports secondary authentication for private key objects True if an incorrect user login PIN has been entered at least once since the last successful authentication True if supplying an incorrect user PIN will make it to become locked True if the user PIN has been locked. User login to the token is not possible. True if the user PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card True if an incorrect SO login PIN has been entered at least once since the last successful authentication True if supplying an incorrect SO PIN will make it to become locked. True if the SO PIN has been locked. User login to the token is not possible. True if the SO PIN value is the default value set by token initialization or manufacturing, or the PIN has been expired by the card. Converts platform specific TokenFlags to platfrom neutral TokenFlags Platform specific TokenFlags Converts platform specific TokenFlags to platfrom neutral TokenFlags Platform specific TokenFlags Converts platform specific TokenFlags to platfrom neutral TokenFlags Platform specific TokenFlags Converts platform specific TokenFlags to platfrom neutral TokenFlags Platform specific TokenFlags Information about a token Platform specific TokenInfo Platform specific TokenInfo Platform specific TokenInfo Platform specific TokenInfo PKCS#11 handle of slot Application-defined label, assigned during token initialization ID of the device manufacturer Model of the device Serial number of the device Bit flags indicating capabilities and status of the device Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of firmware Current time (the value of this field only makes sense for tokens equipped with a clock) UtcTimeString converted to DateTime or null if conversion failed Converts platform specific TokenInfo to platfrom neutral TokenInfo Platform specific TokenInfo Converts platform specific TokenInfo to platfrom neutral TokenInfo Platform specific TokenInfo Converts platform specific TokenInfo to platfrom neutral TokenInfo Platform specific TokenInfo Converts platform specific TokenInfo to platfrom neutral TokenInfo Platform specific TokenInfo Utility class that helps to manage CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with uint value Attribute type Attribute value Attribute of given type with uint value Creates attribute of given type with CKC value Attribute type Attribute value Attribute of given type with CKC value Creates attribute of given type with CKK value Attribute type Attribute value Attribute of given type with CKK value Creates attribute of given type with CKO value Attribute type Attribute value Attribute of given type with CKO value Creates attribute of given type with uint value Attribute type Attribute value Attribute of given type with uint value Reads value of attribute and returns it as uint Attribute whose value should be read Location that receives attribute value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Reads value of attribute and returns it as bool Attribute whose value should be read Location that receives attribute value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Reads value of attribute and returns it as string Attribute whose value should be read Location that receives attribute value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Reads value of attribute and returns it as byte array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Reads value of attribute and returns it as DateTime (CK_DATE) Attribute whose value should be read Location that receives attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Reads value of attribute and returns it as attribute array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with uint array value Attribute type Attribute value Attribute of given type with uint array value Creates attribute of given type with uint array value Attribute type Attribute value Attribute of given type with uint array value Reads value of attribute and returns it as uint array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Reads value of attribute and returns it as mechanism array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with value copied from managed byte array to the newly allocated unmanaged memory Attribute type Attribute value Attribute of given type with specified value Copies attribute value from unmanaged memory to managed byte array Attribute whose value should be read Managed copy of attribute value Utility class that helps to manage CK_MECHANISM structure Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with parameter copied from managed byte array to the newly allocated unmanaged memory Mechanism type Mechanism parameter Mechanism of given type with specified parameter Defines the type, value, and length of an attribute The attribute type Pointer to the value of the attribute Length in bytes of the value Defines the type, value, and length of an attribute. This class can be used with Silverlight 5 version of Marshal.PtrToStructure(IntPtr, object) which does not support value types (structs). The attribute type Pointer to the value of the attribute Length in bytes of the value Copies instance members to CK_ATTRIBUTE struct Destination CK_ATTRIBUTE struct Optional arguments for the C_Initialize function Pointer to a function to use for creating mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for destroying mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for locking mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for unlocking mutex objects (not supported by Pkcs11Interop) Bit flags specifying options Reserved for future use Structure which contains a Cryptoki version and a function pointer to each function in the Cryptoki API Cryptoki version Pointer to C_Initialize Pointer to C_Finalize Pointer to C_GetInfo Pointer to C_GetFunctionList Pointer to C_GetSlotList Pointer to C_GetSlotInfo Pointer to C_GetTokenInfo Pointer to C_GetMechanismList Pointer to C_GetMechanismInfo Pointer to C_InitToken Pointer to C_InitPIN Pointer to C_SetPIN Pointer to C_OpenSession Pointer to C_CloseSession Pointer to C_CloseAllSessions Pointer to C_GetSessionInfo Pointer to C_GetOperationState Pointer to C_SetOperationState Pointer to C_Login Pointer to C_Logout Pointer to C_CreateObject Pointer to C_CopyObject Pointer to C_DestroyObject Pointer to C_GetObjectSize Pointer to C_GetAttributeValue Pointer to C_SetAttributeValue Pointer to C_FindObjectsInit Pointer to C_FindObjects Pointer to C_FindObjectsFinal Pointer to C_EncryptInit Pointer to C_Encrypt Pointer to C_EncryptUpdate Pointer to C_EncryptFinal Pointer to C_DecryptInit Pointer to C_Decrypt Pointer to C_DecryptUpdate Pointer to C_DecryptFinal Pointer to C_DigestInit Pointer to C_Digest Pointer to C_DigestUpdate Pointer to C_DigestKey Pointer to C_DigestFinal Pointer to C_SignInit Pointer to C_Sign Pointer to C_SignUpdate Pointer to C_SignFinal Pointer to C_SignRecoverInit Pointer to C_SignRecover Pointer to C_VerifyInit Pointer to C_Verify Pointer to C_VerifyUpdate Pointer to C_VerifyFinal Pointer to C_VerifyRecoverInit Pointer to C_VerifyRecover Pointer to C_DigestEncryptUpdate Pointer to C_DecryptDigestUpdate Pointer to C_SignEncryptUpdate Pointer to C_DecryptVerifyUpdate Pointer to C_GenerateKey Pointer to C_GenerateKeyPair Pointer to C_WrapKey Pointer to C_UnwrapKey Pointer to C_DeriveKey Pointer to C_SeedRandom Pointer to C_GenerateRandom Pointer to C_GetFunctionStatus Pointer to C_CancelFunction Pointer to C_WaitForSlotEvent Provides general information about Cryptoki Cryptoki interface version number, for compatibility with future revisions of this interface. ID of the Cryptoki library manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags reserved for future versions. Must be zero for this version Character-string description of the library. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Cryptoki library version number Specifies a particular mechanism and any parameters it requires The type of mechanism Pointer to the parameter if required by the mechanism Length of the parameter in bytes Provides information about a particular mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Bit flags specifying mechanism capabilities Information about a session ID of the slot that interfaces with the token The state of the session Bit flags that define the type of session An error code defined by the cryptographic device. Used for errors not covered by Cryptoki. Provides information about a slot Character-string description of the slot. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the slot manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bits flags that provide capabilities of the slot. Version number of the slot's hardware Version number of the slot's firmware Provides information about a token Application-defined label, assigned during token initialization. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the device manufacturer. Must be padded with the blank character (‘ ‘). Should not be nullterminated. Model of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Character-string serial number of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of firmware Current time as a character-string of length 16, represented in the format YYYYMMDDhhmmssxx (4 characters for the year; 2 characters each for the month, the day, the hour, the minute, and the second; and 2 additional reserved ‘0' characters). The value of this field only makes sense for tokens equipped with a clock, as indicated in the token information flags. Describes the version Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns a string that represents the current CK_VERSION structure. String that represents the current CK_VERSION structure. Holds delegates for all PKCS#11 functions Delegate for C_Initialize Delegate for C_Finalize Delegate for C_GetInfo Delegate for C_GetFunctionList Delegate for C_GetSlotList Delegate for C_GetSlotInfo Delegate for C_GetTokenInfo Delegate for C_GetMechanismList Delegate for C_GetMechanismInfo Delegate for C_InitToken Delegate for C_InitPIN Delegate for C_SetPIN Delegate for C_OpenSession Delegate for C_CloseSession Delegate for C_CloseAllSessions Delegate for C_GetSessionInfo Delegate for C_GetOperationState Delegate for C_SetOperationState Delegate for C_Login Delegate for C_Logout Delegate for C_CreateObject Delegate for C_CopyObject Delegate for C_DestroyObject Delegate for C_GetObjectSize Delegate for C_GetAttributeValue Delegate for C_SetAttributeValue Delegate for C_FindObjectsInit Delegate for C_FindObjects Delegate for C_FindObjectsFinal Delegate for C_EncryptInit Delegate for C_Encrypt Delegate for C_EncryptUpdate Delegate for C_EncryptFinal Delegate for C_DecryptInit Delegate for C_Decrypt Delegate for C_DecryptUpdate Delegate for C_DecryptFinal Delegate for C_DigestInit Delegate for C_Digest Delegate for C_DigestUpdate Delegate for C_DigestKey Delegate for C_DigestFinal Delegate for C_SignInit Delegate for C_Sign Delegate for C_SignUpdate Delegate for C_SignFinal Delegate for C_SignRecoverInit Delegate for C_SignRecover Delegate for C_VerifyInit Delegate for C_Verify Delegate for C_VerifyUpdate Delegate for C_VerifyFinal Delegate for C_VerifyRecoverInit Delegate for C_VerifyRecover Delegate for C_DigestEncryptUpdate Delegate for C_DecryptDigestUpdate Delegate for C_SignEncryptUpdate Delegate for C_DecryptVerifyUpdate Delegate for C_GenerateKey Delegate for C_GenerateKeyPair Delegate for C_WrapKey Delegate for C_UnwrapKey Delegate for C_DeriveKey Delegate for C_SeedRandom Delegate for C_GenerateRandom Delegate for C_GetFunctionStatus Delegate for C_CancelFunction Delegate for C_WaitForSlotEvent Initializes new instance of Delegates class Handle to the PKCS#11 library Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Get delegates with C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates with C_GetFunctionList function from the statically linked PKCS#11 library Get delegates without C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates without C_GetFunctionList function from the statically linked PKCS#11 library Get delegates from unmanaged function pointers Structure which contains cryptoki function pointers Structure that provides the parameters to the CKM_AES_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_AES_CTR mechanism The number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_ARIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CTR mechanism Specifies the number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_AES_CCM mechanism Length of the data Pointer to the nonce Length of the nonce Pointer to additional authentication data Length of additional authentication data Length of the MAC (output following cipher text) in bytes Structure that provides the parameters to the CKM_CMS_SIG mechanism Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data NULL-terminated string indicating complete MIME Content-type of message to be signed or null if the message is a MIME object Pointer to DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes Length in bytes of the value pointed to by RequestedAttributes Pointer to DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Length in bytes, of the value pointed to by RequiredAttributes Structure that provides the parameters to the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms IV value Data value part that must be a multiple of 8 bytes long Length of data in bytes Structure that provides and returns parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Mechanism value for the base hash used in PQG generation (CKM) Pointer to seed value used to generate PQ and G Length of seed value Index value for generating G Structure that provides the parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's EC public key Pointer to other party's EC public key value Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Structure that provides the parameters to the CKM_ECDH_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Length in bytes of the shared info Data shared between the two parties Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Handle to the first party's ephemeral public key Provides the parameter to the CKM_EXTRACT_KEY_FROM_KEY mechanism Specifies which bit of the base key should be used as the first bit of the derived key Structure that provides the parameters to the CKM_AES_GCM mechanism Pointer to initialization vector Length of initialization vector in bytes Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Pointer to additional authentication data Length of additional authentication data in bytes Length of authentication tag (output following cipher text) in bits Structure that provides the parameters to the CKM_GOSTR3410_DERIVE mechanism Additional key diversification algorithm (CKD) Pointer to data with public key of a receiver Length of data with public key of a receiver. Must be 64. Pointer to a UKM data Length of UKM data in bytes. Must be 8. Structure that provides the parameters to the CKM_GOSTR3410_KEY_WRAP mechanism Pointer to a data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Length of data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Pointer to a data with UKM Length of UKM data Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Structure that provides the parameters to the CKM_KEA_DERIVE mechanism Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Size of random Ra and Rb, in bytes Pointer to Ra data Pointer to Rb data Other party's KEA public key size Pointer to other party's KEA public key value Provides the parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Pointer to the byte string Length of the byte string Structure that provides the parameters to the CKM_KEY_WRAP_SET_OAEP mechanism Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Length in bytes of concatenation of hash of plaintext data (if present) and extra data (if present) or 0 if neither is present Structure that provides the parameters to CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Pointer to the underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Pointer to an input seed Length in bytes of the input seed Structure that provides the parameters to the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Length of the MAC produced, in bytes Structure that includes the type, value and length of an OTP parameter Parameter type Pointer to the value of the parameter Length in bytes of the value Structure that is used to provide parameters for OTP mechanisms in a generic fashion Pointer to an array of OTP parameters (CK_OTP_PARAM structures) The number of parameters in the array Structure that is returned by all OTP mechanisms in successful calls to C_Sign (C_SignFinal) Pointer to an array of OTP parameter values (CK_OTP_PARAM structures) The number of parameters in the array Structure which provides all of the necessary information required by the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Pointer to the location that receives the 8-byte initialization vector (IV), if an IV is required Points to the password to be used in the PBE key generation Length in bytes of the password information Points to the salt to be used in the PBE key generation Length in bytes of the salt information Number of iterations required for the generation Structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Corrected structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Structure that provides the parameters to the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Structure that provides the parameters to the CKM_RC2_MAC_GENERAL mechanism The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Provides the parameters to the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Effective number of bits in the RC2 search space Structure that provides the parameters to the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Pointer to initialization vector (IV) for CBC encryption Length of initialization vector (must be same as blocksize) Structure that provides the parameters to the CKM_RC5_MAC_GENERAL mechanism Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Structure that provides the parameters to the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Structure that provides the parameters to the CKM_RSA_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Pointer to the parameters of the temporary AES key wrapping (CK_RSA_PKCS_OAEP_PARAMS) Structure that provides the parameters to the CKM_RSA_PKCS_OAEP mechanism Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Length of the encoding parameter source input Structure that provides the parameters to the CKM_RSA_PKCS_PSS mechanism Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Structure that provides the parameters to the CKM_SEED_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_SKIPJACK_PRIVATE_WRAP mechanism Length of the password Pointer to the buffer which contains the user-supplied password Other party's key exchange public key size Pointer to other party's key exchange public key value Length of prime and base values Length of subprime value Size of random Ra, in bytes Pointer to Ra data Pointer to Prime, p, value Pointer to Base, g, value Pointer to Subprime, q, value Structure that provides the parameters to the CKM_SKIPJACK_RELAYX mechanism Length of old wrapped key in bytes Pointer to old wrapper key Length of the old password Pointer to the buffer which contains the old user-supplied password Old key exchange public key size Pointer to old key exchange public key value Size of old random Ra in bytes Pointer to old Ra data Length of the new password Pointer to the buffer which contains the new usersupplied password New key exchange public key size Pointer to new key exchange public key value Size of new random Ra in bytes Pointer to new Ra data Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Pointer to a location which receives the initialization vector (IV) created for the client (if any) Pointer to a location which receives the initialization vector (IV) created for the server (if any) Structure that provides the parameters to the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Structure that provides the parameters to the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Structure which provides information about the random data of a client and a server in an SSL context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS12_MASTER_KEY_DERIVE mechanism Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS_KDF mechanism Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Pointer to the label for this key derivation Length of the label in bytes Random data for the key derivation Pointer to the context data for this key derivation Length of the context data in bytes Structure that provides the parameters to the CKM_TLS_MAC mechanism Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Structure, which provides the parameters to the CKM_TLS_PRF mechanism Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_WTLS_SEVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting MAC secret key Key handle for the resulting secret key Pointer to a location which receives the initialization vector (IV) created (if any) Structure that provides the parameters to the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_WTLS_KEY_MAT_OUT structure which receives the handles for the keys generated and the IV Structure, which provides the parameters to the CKM_WTLS_MASTER_KEY_DERIVE mechanism Digest mechanism to be used (CKM) Client's and server's random data information Pointer to single byte which receives the WTLS protocol version information Structure, which provides the parameters to the CKM_WTLS_PRF mechanism Digest mechanism to be used (CKM) Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure, which provides information about the random data of a client and a server in a WTLS context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_X9_42_DH_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's X9.42 Diffie-Hellman public key Pointer to other party's X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_MQV_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Low level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Handle to the PKCS#11 library Handle to the PKCS#11 library. Use with caution! Delegates for PKCS#11 functions Loads PCKS#11 library Library name or path Loads PCKS#11 library Library name or path Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Unloads PKCS#11 library. Called automaticaly when object is being disposed. Initializes the Cryptoki library CK_C_INITIALIZE_ARGS structure containing information on how the library should deal with multi-threaded access or null if an application will not be accessing Cryptoki through multiple threads simultaneously CKR_ARGUMENTS_BAD, CKR_CANT_LOCK, CKR_CRYPTOKI_ALREADY_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NEED_TO_CREATE_THREADS, CKR_OK Called to indicate that an application is finished with the Cryptoki library. It should be the last Cryptoki call made by an application. Reserved for future versions. For this version, it should be set to null. CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns general information about Cryptoki Structure that receives the information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns a pointer to the Cryptoki library's list of function pointers Pointer to a value which will receive a pointer to the library's CK_FUNCTION_LIST structure CKR_ARGUMENTS_BAD, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains a list of slots in the system Indicates whether the list obtained includes only those slots with a token present (true) or all slots (false) If set to null then the number of slots is returned in "count" parameter, without actually returning a list of slots. If not set to null then "count" parameter must contain the lenght of slotList array and slot list is returned in "slotList" parameter. Location that receives the number of slots CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains information about a particular slot in the system The ID of the slot Structure that receives the slot information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID Obtains information about a particular token in the system The ID of the token's slot Structure that receives the token information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains a list of mechanism types supported by a token The ID of the token's slot If set to null then the number of mechanisms is returned in "count" parameter, without actually returning a list of mechanisms. If not set to null then "count" parameter must contain the lenght of mechanismList array and mechanism list is returned in "mechanismList" parameter. Location that receives the number of mechanisms CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains information about a particular mechanism possibly supported by a token The ID of the token's slot The type of mechanism Structure that receives the mechanism information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Initializes a token The ID of the token's slot SO's initial PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes 32-byte long label of the token which must be padded with blank characters CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Initializes the normal user's PIN The session's handle Normal user's PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_SESSION_CLOSED, CKR_SESSION_READ_ONLY, CKR_SESSION_HANDLE_INVALID, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN, CKR_ARGUMENTS_BAD Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in The session's handle Old PIN or null to use protected authentication path (pinpad) The length of the old PIN in bytes New PIN or null to use protected authentication path (pinpad) The length of the new PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Opens a session between an application and a token in a particular slot The ID of the token's slot Flags indicating the type of session An application defined pointer to be passed to the notification callback The address of the notification callback function Location that receives the handle for the new session CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_COUNT, CKR_SESSION_PARALLEL_NOT_SUPPORTED, CKR_SESSION_READ_WRITE_SO_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Closes a session between an application and a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Closes all sessions an application has with a token The ID of the token's slot CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT Obtains information about a session The session's handle Structure that receives the session information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Obtains a copy of the cryptographic operations state of a session encoded as byte array The session's handle If set to null then the length of state is returned in "operationStateLen" parameter, without actually returning a state. If not set to null then "operationStateLen" parameter must contain the lenght of operationState array and state is returned in "operationState" parameter. Location that receives the length in bytes of the state CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_STATE_UNSAVEABLE, CKR_ARGUMENTS_BAD Restores the cryptographic operations state of a session from bytes obtained with C_GetOperationState The session's handle Saved session state Length of saved session state Handle to the key which will be used for an ongoing encryption or decryption operation in the restored session or CK_INVALID_HANDLE if not needed Handle to the key which will be used for an ongoing operation in the restored session or CK_INVALID_HANDLE if not needed CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_CHANGED, CKR_KEY_NEEDED, CKR_KEY_NOT_NEEDED, CKR_OK, CKR_SAVED_STATE_INVALID, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Logs a user into a token The session's handle The user type User's PIN or null to use protected authentication path (pinpad) Length of user's PIN CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY_EXISTS, CKR_USER_ALREADY_LOGGED_IN, CKR_USER_ANOTHER_ALREADY_LOGGED_IN, CKR_USER_PIN_NOT_INITIALIZED, CKR_USER_TOO_MANY_TYPES, CKR_USER_TYPE_INVALID Logs a user out from a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Creates a new object The session's handle Object's template The number of attributes in the template Location that receives the new object's handle CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Copies an object, creating a new object for the copy The session's handle The object's handle Template for the new object The number of attributes in the template Location that receives the handle for the copy of the object CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Destroys an object The session's handle The object's handle CKR_ACTION_PROHIBITED, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED Gets the size of an object in bytes The session's handle The object's handle Location that receives the size in bytes of the object CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_INFORMATION_SENSITIVE, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Obtains the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be obtained, and receives the attribute values The number of attributes in the template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_SENSITIVE, CKR_ATTRIBUTE_TYPE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Modifies the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be modified and their new values The number of attributes in the template CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Initializes a search for token and session objects that match a template The session's handle Search template that specifies the attribute values to match The number of attributes in the search template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a search for token and session objects that match a template, obtaining additional object handles The session's handle Location that receives the list (array) of additional object handles The maximum number of object handles to be returned Location that receives the actual number of object handles returned CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Terminates a search for token and session objects The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes an encryption operation The session's handle The encryption mechanism The handle of the encryption key CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Encrypts single-part data The session's handle Data to be encrypted Length of data in bytes If set to null then the length of encrypted data is returned in "encryptedDataLen" parameter, without actually returning encrypted data. If not set to null then "encryptedDataLen" parameter must contain the lenght of encryptedData array and encrypted data is returned in "encryptedData" parameter. Location that holds the length in bytes of the encrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part encryption operation, processing another data part The session's handle The data part to be encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part encryption operation The session's handle If set to null then the length of last encrypted data part is returned in "lastEncryptedPartLen" parameter, without actually returning last encrypted data part. If not set to null then "lastEncryptedPartLen" parameter must contain the lenght of lastEncryptedPart array and last encrypted data part is returned in "lastEncryptedPart" parameter. Location that holds the length of the last encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a decryption operation The session's handle The decryption mechanism The handle of the decryption key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Decrypts encrypted data in a single part The session's handle Encrypted data The length of the encrypted data If set to null then the length of decrypted data is returned in "dataLen" parameter, without actually returning decrypted data. If not set to null then "dataLen" parameter must contain the lenght of data array and decrypted data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part decryption operation, processing another encrypted data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part decryption operation The session's handle If set to null then the length of last decrypted data part is returned in "lastPartLen" parameter, without actually returning last decrypted data part. If not set to null then "lastPartLen" parameter must contain the lenght of lastPart array and last decrypted data part is returned in "lastPart" parameter. Location that holds the length of the last decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a message-digesting operation The session's handle The digesting mechanism CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Digests data in a single part The session's handle Data to be digested The length of the data to be digested If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation by digesting the value of a secret key The session's handle The handle of the secret key to be digested CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_INDIGESTIBLE, CKR_KEY_SIZE_RANGE, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part message-digesting operation, returning the message digest The session's handle If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a signature operation, where the signature is an appendix to the data The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED,CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single part, where the signature is an appendix to the data The session's handle Data to be signed The length of the data If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Continues a multi-part signature operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part signature operation, returning the signature The session's handle If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Initializes a signature operation, where the data can be recovered from the signature The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single operation, where the data can be recovered from the signature The session's handle Data to be signed The length of data to be signed If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a verification operation, where the signature is an appendix to the data The session's handle The verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the signature is an appendix to the data The session's handle Data that were signed The length of the data Signature of data The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Continues a multi-part verification operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part verification operation, checking the signature The session's handle Signature The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Initializes a signature verification operation, where the data is recovered from the signature The session's handle Verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the data is recovered from the signature The session's handle Signature The length of signature If set to null then the length of recovered data is returned in "dataLen" parameter, without actually returning recovered data. If not set to null then "dataLen" parameter must contain the lenght of data array and recovered data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_LEN_RANGE, CKR_SIGNATURE_INVALID Continues multi-part digest and encryption operations, processing another data part The session's handle The data part to be digested and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined decryption and digest operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined signature and encryption operation, processing another data part The session's handle The data part to be signed and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part combined decryption and verification operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Generates a secret key or set of domain parameters, creating a new object The session's handle Key generation mechanism The template for the new key or set of domain parameters The number of attributes in the template Location that receives the handle of the new key or set of domain parameters CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Generates a public/private key pair, creating new key objects The session's handle Key generation mechanism The template for the public key The number of attributes in the public-key template The template for the private key The number of attributes in the private-key template Location that receives the handle of the new public key Location that receives the handle of the new private key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Wraps (i.e., encrypts) a private or secret key The session's handle Wrapping mechanism The handle of the wrapping key The handle of the key to be wrapped If set to null then the length of wrapped key is returned in "wrappedKeyLen" parameter, without actually returning wrapped key. If not set to null then "wrappedKeyLen" parameter must contain the lenght of wrappedKey array and wrapped key is returned in "wrappedKey" parameter. Location that receives the length of the wrapped key CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_NOT_WRAPPABLE, CKR_KEY_SIZE_RANGE, CKR_KEY_UNEXTRACTABLE, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPING_KEY_HANDLE_INVALID, CKR_WRAPPING_KEY_SIZE_RANGE, CKR_WRAPPING_KEY_TYPE_INCONSISTENT Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object The session's handle Unwrapping mechanism The handle of the unwrapping key Wrapped key The length of the wrapped key The template for the new key The number of attributes in the template Location that receives the handle of the unwrapped key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_UNWRAPPING_KEY_HANDLE_INVALID, CKR_UNWRAPPING_KEY_SIZE_RANGE, CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPED_KEY_INVALID, CKR_WRAPPED_KEY_LEN_RANGE Derives a key from a base key, creating a new key object The session's handle Key derivation mechanism The handle of the base key The template for the new key The number of attributes in the template Location that receives the handle of the derived key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Mixes additional seed material into the token's random number generator The session's handle The seed material The length of the seed material CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_SEED_NOT_SUPPORTED, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Generates random or pseudo-random data The session's handle Location that receives the random data The length in bytes of the random or pseudo-random data to be generated CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Waits for a slot event, such as token insertion or token removal, to occur Determines whether or not the C_WaitForSlotEvent call blocks (i.e., waits for a slot event to occur) Location which will receive the ID of the slot that the event occurred in Reserved for future versions (should be null) CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NO_EVENT, CKR_OK Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information Slot identifier True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all slots where token that matches PKCS#11 URI is present PKCS#11 URI Low level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI CKR_OK if successful; any other value otherwise Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Utility class that helps to manage CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with uint value Attribute type Attribute value Attribute of given type with uint value Creates attribute of given type with CKC value Attribute type Attribute value Attribute of given type with CKC value Creates attribute of given type with CKK value Attribute type Attribute value Attribute of given type with CKK value Creates attribute of given type with CKO value Attribute type Attribute value Attribute of given type with CKO value Creates attribute of given type with uint value Attribute type Attribute value Attribute of given type with uint value Reads value of attribute and returns it as uint Attribute whose value should be read Location that receives attribute value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Reads value of attribute and returns it as bool Attribute whose value should be read Location that receives attribute value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Reads value of attribute and returns it as string Attribute whose value should be read Location that receives attribute value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Reads value of attribute and returns it as byte array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Reads value of attribute and returns it as DateTime (CK_DATE) Attribute whose value should be read Location that receives attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Reads value of attribute and returns it as attribute array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with uint array value Attribute type Attribute value Attribute of given type with uint array value Creates attribute of given type with uint array value Attribute type Attribute value Attribute of given type with uint array value Reads value of attribute and returns it as uint array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Reads value of attribute and returns it as mechanism array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with value copied from managed byte array to the newly allocated unmanaged memory Attribute type Attribute value Attribute of given type with specified value Copies attribute value from unmanaged memory to managed byte array Attribute whose value should be read Managed copy of attribute value Utility class that helps to manage CK_MECHANISM structure Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with parameter copied from managed byte array to the newly allocated unmanaged memory Mechanism type Mechanism parameter Mechanism of given type with specified parameter Defines the type, value, and length of an attribute The attribute type Pointer to the value of the attribute Length in bytes of the value Defines the type, value, and length of an attribute. This class can be used with Silverlight 5 version of Marshal.PtrToStructure(IntPtr, object) which does not support value types (structs). The attribute type Pointer to the value of the attribute Length in bytes of the value Copies instance members to CK_ATTRIBUTE struct Destination CK_ATTRIBUTE struct Optional arguments for the C_Initialize function Pointer to a function to use for creating mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for destroying mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for locking mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for unlocking mutex objects (not supported by Pkcs11Interop) Bit flags specifying options Reserved for future use Structure which contains a Cryptoki version and a function pointer to each function in the Cryptoki API Cryptoki version Pointer to C_Initialize Pointer to C_Finalize Pointer to C_GetInfo Pointer to C_GetFunctionList Pointer to C_GetSlotList Pointer to C_GetSlotInfo Pointer to C_GetTokenInfo Pointer to C_GetMechanismList Pointer to C_GetMechanismInfo Pointer to C_InitToken Pointer to C_InitPIN Pointer to C_SetPIN Pointer to C_OpenSession Pointer to C_CloseSession Pointer to C_CloseAllSessions Pointer to C_GetSessionInfo Pointer to C_GetOperationState Pointer to C_SetOperationState Pointer to C_Login Pointer to C_Logout Pointer to C_CreateObject Pointer to C_CopyObject Pointer to C_DestroyObject Pointer to C_GetObjectSize Pointer to C_GetAttributeValue Pointer to C_SetAttributeValue Pointer to C_FindObjectsInit Pointer to C_FindObjects Pointer to C_FindObjectsFinal Pointer to C_EncryptInit Pointer to C_Encrypt Pointer to C_EncryptUpdate Pointer to C_EncryptFinal Pointer to C_DecryptInit Pointer to C_Decrypt Pointer to C_DecryptUpdate Pointer to C_DecryptFinal Pointer to C_DigestInit Pointer to C_Digest Pointer to C_DigestUpdate Pointer to C_DigestKey Pointer to C_DigestFinal Pointer to C_SignInit Pointer to C_Sign Pointer to C_SignUpdate Pointer to C_SignFinal Pointer to C_SignRecoverInit Pointer to C_SignRecover Pointer to C_VerifyInit Pointer to C_Verify Pointer to C_VerifyUpdate Pointer to C_VerifyFinal Pointer to C_VerifyRecoverInit Pointer to C_VerifyRecover Pointer to C_DigestEncryptUpdate Pointer to C_DecryptDigestUpdate Pointer to C_SignEncryptUpdate Pointer to C_DecryptVerifyUpdate Pointer to C_GenerateKey Pointer to C_GenerateKeyPair Pointer to C_WrapKey Pointer to C_UnwrapKey Pointer to C_DeriveKey Pointer to C_SeedRandom Pointer to C_GenerateRandom Pointer to C_GetFunctionStatus Pointer to C_CancelFunction Pointer to C_WaitForSlotEvent Provides general information about Cryptoki Cryptoki interface version number, for compatibility with future revisions of this interface. ID of the Cryptoki library manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags reserved for future versions. Must be zero for this version Character-string description of the library. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Cryptoki library version number Specifies a particular mechanism and any parameters it requires The type of mechanism Pointer to the parameter if required by the mechanism Length of the parameter in bytes Provides information about a particular mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Bit flags specifying mechanism capabilities Information about a session ID of the slot that interfaces with the token The state of the session Bit flags that define the type of session An error code defined by the cryptographic device. Used for errors not covered by Cryptoki. Provides information about a slot Character-string description of the slot. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the slot manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bits flags that provide capabilities of the slot. Version number of the slot's hardware Version number of the slot's firmware Provides information about a token Application-defined label, assigned during token initialization. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the device manufacturer. Must be padded with the blank character (‘ ‘). Should not be nullterminated. Model of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Character-string serial number of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of firmware Current time as a character-string of length 16, represented in the format YYYYMMDDhhmmssxx (4 characters for the year; 2 characters each for the month, the day, the hour, the minute, and the second; and 2 additional reserved ‘0' characters). The value of this field only makes sense for tokens equipped with a clock, as indicated in the token information flags. Describes the version Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns a string that represents the current CK_VERSION structure. String that represents the current CK_VERSION structure. Holds delegates for all PKCS#11 functions Delegate for C_Initialize Delegate for C_Finalize Delegate for C_GetInfo Delegate for C_GetFunctionList Delegate for C_GetSlotList Delegate for C_GetSlotInfo Delegate for C_GetTokenInfo Delegate for C_GetMechanismList Delegate for C_GetMechanismInfo Delegate for C_InitToken Delegate for C_InitPIN Delegate for C_SetPIN Delegate for C_OpenSession Delegate for C_CloseSession Delegate for C_CloseAllSessions Delegate for C_GetSessionInfo Delegate for C_GetOperationState Delegate for C_SetOperationState Delegate for C_Login Delegate for C_Logout Delegate for C_CreateObject Delegate for C_CopyObject Delegate for C_DestroyObject Delegate for C_GetObjectSize Delegate for C_GetAttributeValue Delegate for C_SetAttributeValue Delegate for C_FindObjectsInit Delegate for C_FindObjects Delegate for C_FindObjectsFinal Delegate for C_EncryptInit Delegate for C_Encrypt Delegate for C_EncryptUpdate Delegate for C_EncryptFinal Delegate for C_DecryptInit Delegate for C_Decrypt Delegate for C_DecryptUpdate Delegate for C_DecryptFinal Delegate for C_DigestInit Delegate for C_Digest Delegate for C_DigestUpdate Delegate for C_DigestKey Delegate for C_DigestFinal Delegate for C_SignInit Delegate for C_Sign Delegate for C_SignUpdate Delegate for C_SignFinal Delegate for C_SignRecoverInit Delegate for C_SignRecover Delegate for C_VerifyInit Delegate for C_Verify Delegate for C_VerifyUpdate Delegate for C_VerifyFinal Delegate for C_VerifyRecoverInit Delegate for C_VerifyRecover Delegate for C_DigestEncryptUpdate Delegate for C_DecryptDigestUpdate Delegate for C_SignEncryptUpdate Delegate for C_DecryptVerifyUpdate Delegate for C_GenerateKey Delegate for C_GenerateKeyPair Delegate for C_WrapKey Delegate for C_UnwrapKey Delegate for C_DeriveKey Delegate for C_SeedRandom Delegate for C_GenerateRandom Delegate for C_GetFunctionStatus Delegate for C_CancelFunction Delegate for C_WaitForSlotEvent Initializes new instance of Delegates class Handle to the PKCS#11 library Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Get delegates with C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates with C_GetFunctionList function from the statically linked PKCS#11 library Get delegates without C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates without C_GetFunctionList function from the statically linked PKCS#11 library Get delegates from unmanaged function pointers Structure which contains cryptoki function pointers Structure that provides the parameters to the CKM_AES_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_AES_CTR mechanism The number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_ARIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CTR mechanism Specifies the number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_AES_CCM mechanism Length of the data Pointer to the nonce Length of the nonce Pointer to additional authentication data Length of additional authentication data Length of the MAC (output following cipher text) in bytes Structure that provides the parameters to the CKM_CMS_SIG mechanism Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data NULL-terminated string indicating complete MIME Content-type of message to be signed or null if the message is a MIME object Pointer to DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes Length in bytes of the value pointed to by RequestedAttributes Pointer to DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Length in bytes, of the value pointed to by RequiredAttributes Structure that provides the parameters to the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms IV value Data value part that must be a multiple of 8 bytes long Length of data in bytes Structure that provides and returns parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Mechanism value for the base hash used in PQG generation (CKM) Pointer to seed value used to generate PQ and G Length of seed value Index value for generating G Structure that provides the parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's EC public key Pointer to other party's EC public key value Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Structure that provides the parameters to the CKM_ECDH_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Length in bytes of the shared info Data shared between the two parties Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Handle to the first party's ephemeral public key Provides the parameter to the CKM_EXTRACT_KEY_FROM_KEY mechanism Specifies which bit of the base key should be used as the first bit of the derived key Structure that provides the parameters to the CKM_AES_GCM mechanism Pointer to initialization vector Length of initialization vector in bytes Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Pointer to additional authentication data Length of additional authentication data in bytes Length of authentication tag (output following cipher text) in bits Structure that provides the parameters to the CKM_GOSTR3410_DERIVE mechanism Additional key diversification algorithm (CKD) Pointer to data with public key of a receiver Length of data with public key of a receiver. Must be 64. Pointer to a UKM data Length of UKM data in bytes. Must be 8. Structure that provides the parameters to the CKM_GOSTR3410_KEY_WRAP mechanism Pointer to a data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Length of data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Pointer to a data with UKM Length of UKM data Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Structure that provides the parameters to the CKM_KEA_DERIVE mechanism Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Size of random Ra and Rb, in bytes Pointer to Ra data Pointer to Rb data Other party's KEA public key size Pointer to other party's KEA public key value Provides the parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Pointer to the byte string Length of the byte string Structure that provides the parameters to the CKM_KEY_WRAP_SET_OAEP mechanism Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Length in bytes of concatenation of hash of plaintext data (if present) and extra data (if present) or 0 if neither is present Structure that provides the parameters to CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Pointer to the underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Pointer to an input seed Length in bytes of the input seed Structure that provides the parameters to the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Length of the MAC produced, in bytes Structure that includes the type, value and length of an OTP parameter Parameter type Pointer to the value of the parameter Length in bytes of the value Structure that is used to provide parameters for OTP mechanisms in a generic fashion Pointer to an array of OTP parameters (CK_OTP_PARAM structures) The number of parameters in the array Structure that is returned by all OTP mechanisms in successful calls to C_Sign (C_SignFinal) Pointer to an array of OTP parameter values (CK_OTP_PARAM structures) The number of parameters in the array Structure which provides all of the necessary information required by the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Pointer to the location that receives the 8-byte initialization vector (IV), if an IV is required Points to the password to be used in the PBE key generation Length in bytes of the password information Points to the salt to be used in the PBE key generation Length in bytes of the salt information Number of iterations required for the generation Structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Corrected structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Structure that provides the parameters to the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Structure that provides the parameters to the CKM_RC2_MAC_GENERAL mechanism The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Provides the parameters to the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Effective number of bits in the RC2 search space Structure that provides the parameters to the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Pointer to initialization vector (IV) for CBC encryption Length of initialization vector (must be same as blocksize) Structure that provides the parameters to the CKM_RC5_MAC_GENERAL mechanism Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Structure that provides the parameters to the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Structure that provides the parameters to the CKM_RSA_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Pointer to the parameters of the temporary AES key wrapping (CK_RSA_PKCS_OAEP_PARAMS) Structure that provides the parameters to the CKM_RSA_PKCS_OAEP mechanism Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Length of the encoding parameter source input Structure that provides the parameters to the CKM_RSA_PKCS_PSS mechanism Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Structure that provides the parameters to the CKM_SEED_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_SKIPJACK_PRIVATE_WRAP mechanism Length of the password Pointer to the buffer which contains the user-supplied password Other party's key exchange public key size Pointer to other party's key exchange public key value Length of prime and base values Length of subprime value Size of random Ra, in bytes Pointer to Ra data Pointer to Prime, p, value Pointer to Base, g, value Pointer to Subprime, q, value Structure that provides the parameters to the CKM_SKIPJACK_RELAYX mechanism Length of old wrapped key in bytes Pointer to old wrapper key Length of the old password Pointer to the buffer which contains the old user-supplied password Old key exchange public key size Pointer to old key exchange public key value Size of old random Ra in bytes Pointer to old Ra data Length of the new password Pointer to the buffer which contains the new usersupplied password New key exchange public key size Pointer to new key exchange public key value Size of new random Ra in bytes Pointer to new Ra data Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Pointer to a location which receives the initialization vector (IV) created for the client (if any) Pointer to a location which receives the initialization vector (IV) created for the server (if any) Structure that provides the parameters to the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Structure that provides the parameters to the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Structure which provides information about the random data of a client and a server in an SSL context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS12_MASTER_KEY_DERIVE mechanism Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS_KDF mechanism Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Pointer to the label for this key derivation Length of the label in bytes Random data for the key derivation Pointer to the context data for this key derivation Length of the context data in bytes Structure that provides the parameters to the CKM_TLS_MAC mechanism Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Structure, which provides the parameters to the CKM_TLS_PRF mechanism Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_WTLS_SEVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting MAC secret key Key handle for the resulting secret key Pointer to a location which receives the initialization vector (IV) created (if any) Structure that provides the parameters to the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_WTLS_KEY_MAT_OUT structure which receives the handles for the keys generated and the IV Structure, which provides the parameters to the CKM_WTLS_MASTER_KEY_DERIVE mechanism Digest mechanism to be used (CKM) Client's and server's random data information Pointer to single byte which receives the WTLS protocol version information Structure, which provides the parameters to the CKM_WTLS_PRF mechanism Digest mechanism to be used (CKM) Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure, which provides information about the random data of a client and a server in a WTLS context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_X9_42_DH_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's X9.42 Diffie-Hellman public key Pointer to other party's X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_MQV_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Low level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Handle to the PKCS#11 library Handle to the PKCS#11 library. Use with caution! Delegates for PKCS#11 functions Loads PCKS#11 library Library name or path Loads PCKS#11 library Library name or path Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Unloads PKCS#11 library. Called automaticaly when object is being disposed. Initializes the Cryptoki library CK_C_INITIALIZE_ARGS structure containing information on how the library should deal with multi-threaded access or null if an application will not be accessing Cryptoki through multiple threads simultaneously CKR_ARGUMENTS_BAD, CKR_CANT_LOCK, CKR_CRYPTOKI_ALREADY_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NEED_TO_CREATE_THREADS, CKR_OK Called to indicate that an application is finished with the Cryptoki library. It should be the last Cryptoki call made by an application. Reserved for future versions. For this version, it should be set to null. CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns general information about Cryptoki Structure that receives the information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns a pointer to the Cryptoki library's list of function pointers Pointer to a value which will receive a pointer to the library's CK_FUNCTION_LIST structure CKR_ARGUMENTS_BAD, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains a list of slots in the system Indicates whether the list obtained includes only those slots with a token present (true) or all slots (false) If set to null then the number of slots is returned in "count" parameter, without actually returning a list of slots. If not set to null then "count" parameter must contain the lenght of slotList array and slot list is returned in "slotList" parameter. Location that receives the number of slots CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains information about a particular slot in the system The ID of the slot Structure that receives the slot information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID Obtains information about a particular token in the system The ID of the token's slot Structure that receives the token information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains a list of mechanism types supported by a token The ID of the token's slot If set to null then the number of mechanisms is returned in "count" parameter, without actually returning a list of mechanisms. If not set to null then "count" parameter must contain the lenght of mechanismList array and mechanism list is returned in "mechanismList" parameter. Location that receives the number of mechanisms CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains information about a particular mechanism possibly supported by a token The ID of the token's slot The type of mechanism Structure that receives the mechanism information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Initializes a token The ID of the token's slot SO's initial PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes 32-byte long label of the token which must be padded with blank characters CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Initializes the normal user's PIN The session's handle Normal user's PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_SESSION_CLOSED, CKR_SESSION_READ_ONLY, CKR_SESSION_HANDLE_INVALID, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN, CKR_ARGUMENTS_BAD Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in The session's handle Old PIN or null to use protected authentication path (pinpad) The length of the old PIN in bytes New PIN or null to use protected authentication path (pinpad) The length of the new PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Opens a session between an application and a token in a particular slot The ID of the token's slot Flags indicating the type of session An application defined pointer to be passed to the notification callback The address of the notification callback function Location that receives the handle for the new session CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_COUNT, CKR_SESSION_PARALLEL_NOT_SUPPORTED, CKR_SESSION_READ_WRITE_SO_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Closes a session between an application and a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Closes all sessions an application has with a token The ID of the token's slot CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT Obtains information about a session The session's handle Structure that receives the session information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Obtains a copy of the cryptographic operations state of a session encoded as byte array The session's handle If set to null then the length of state is returned in "operationStateLen" parameter, without actually returning a state. If not set to null then "operationStateLen" parameter must contain the lenght of operationState array and state is returned in "operationState" parameter. Location that receives the length in bytes of the state CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_STATE_UNSAVEABLE, CKR_ARGUMENTS_BAD Restores the cryptographic operations state of a session from bytes obtained with C_GetOperationState The session's handle Saved session state Length of saved session state Handle to the key which will be used for an ongoing encryption or decryption operation in the restored session or CK_INVALID_HANDLE if not needed Handle to the key which will be used for an ongoing operation in the restored session or CK_INVALID_HANDLE if not needed CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_CHANGED, CKR_KEY_NEEDED, CKR_KEY_NOT_NEEDED, CKR_OK, CKR_SAVED_STATE_INVALID, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Logs a user into a token The session's handle The user type User's PIN or null to use protected authentication path (pinpad) Length of user's PIN CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY_EXISTS, CKR_USER_ALREADY_LOGGED_IN, CKR_USER_ANOTHER_ALREADY_LOGGED_IN, CKR_USER_PIN_NOT_INITIALIZED, CKR_USER_TOO_MANY_TYPES, CKR_USER_TYPE_INVALID Logs a user out from a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Creates a new object The session's handle Object's template The number of attributes in the template Location that receives the new object's handle CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Copies an object, creating a new object for the copy The session's handle The object's handle Template for the new object The number of attributes in the template Location that receives the handle for the copy of the object CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Destroys an object The session's handle The object's handle CKR_ACTION_PROHIBITED, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED Gets the size of an object in bytes The session's handle The object's handle Location that receives the size in bytes of the object CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_INFORMATION_SENSITIVE, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Obtains the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be obtained, and receives the attribute values The number of attributes in the template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_SENSITIVE, CKR_ATTRIBUTE_TYPE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Modifies the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be modified and their new values The number of attributes in the template CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Initializes a search for token and session objects that match a template The session's handle Search template that specifies the attribute values to match The number of attributes in the search template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a search for token and session objects that match a template, obtaining additional object handles The session's handle Location that receives the list (array) of additional object handles The maximum number of object handles to be returned Location that receives the actual number of object handles returned CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Terminates a search for token and session objects The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes an encryption operation The session's handle The encryption mechanism The handle of the encryption key CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Encrypts single-part data The session's handle Data to be encrypted Length of data in bytes If set to null then the length of encrypted data is returned in "encryptedDataLen" parameter, without actually returning encrypted data. If not set to null then "encryptedDataLen" parameter must contain the lenght of encryptedData array and encrypted data is returned in "encryptedData" parameter. Location that holds the length in bytes of the encrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part encryption operation, processing another data part The session's handle The data part to be encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part encryption operation The session's handle If set to null then the length of last encrypted data part is returned in "lastEncryptedPartLen" parameter, without actually returning last encrypted data part. If not set to null then "lastEncryptedPartLen" parameter must contain the lenght of lastEncryptedPart array and last encrypted data part is returned in "lastEncryptedPart" parameter. Location that holds the length of the last encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a decryption operation The session's handle The decryption mechanism The handle of the decryption key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Decrypts encrypted data in a single part The session's handle Encrypted data The length of the encrypted data If set to null then the length of decrypted data is returned in "dataLen" parameter, without actually returning decrypted data. If not set to null then "dataLen" parameter must contain the lenght of data array and decrypted data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part decryption operation, processing another encrypted data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part decryption operation The session's handle If set to null then the length of last decrypted data part is returned in "lastPartLen" parameter, without actually returning last decrypted data part. If not set to null then "lastPartLen" parameter must contain the lenght of lastPart array and last decrypted data part is returned in "lastPart" parameter. Location that holds the length of the last decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a message-digesting operation The session's handle The digesting mechanism CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Digests data in a single part The session's handle Data to be digested The length of the data to be digested If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation by digesting the value of a secret key The session's handle The handle of the secret key to be digested CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_INDIGESTIBLE, CKR_KEY_SIZE_RANGE, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part message-digesting operation, returning the message digest The session's handle If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a signature operation, where the signature is an appendix to the data The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED,CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single part, where the signature is an appendix to the data The session's handle Data to be signed The length of the data If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Continues a multi-part signature operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part signature operation, returning the signature The session's handle If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Initializes a signature operation, where the data can be recovered from the signature The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single operation, where the data can be recovered from the signature The session's handle Data to be signed The length of data to be signed If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a verification operation, where the signature is an appendix to the data The session's handle The verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the signature is an appendix to the data The session's handle Data that were signed The length of the data Signature of data The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Continues a multi-part verification operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part verification operation, checking the signature The session's handle Signature The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Initializes a signature verification operation, where the data is recovered from the signature The session's handle Verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the data is recovered from the signature The session's handle Signature The length of signature If set to null then the length of recovered data is returned in "dataLen" parameter, without actually returning recovered data. If not set to null then "dataLen" parameter must contain the lenght of data array and recovered data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_LEN_RANGE, CKR_SIGNATURE_INVALID Continues multi-part digest and encryption operations, processing another data part The session's handle The data part to be digested and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined decryption and digest operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined signature and encryption operation, processing another data part The session's handle The data part to be signed and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part combined decryption and verification operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Generates a secret key or set of domain parameters, creating a new object The session's handle Key generation mechanism The template for the new key or set of domain parameters The number of attributes in the template Location that receives the handle of the new key or set of domain parameters CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Generates a public/private key pair, creating new key objects The session's handle Key generation mechanism The template for the public key The number of attributes in the public-key template The template for the private key The number of attributes in the private-key template Location that receives the handle of the new public key Location that receives the handle of the new private key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Wraps (i.e., encrypts) a private or secret key The session's handle Wrapping mechanism The handle of the wrapping key The handle of the key to be wrapped If set to null then the length of wrapped key is returned in "wrappedKeyLen" parameter, without actually returning wrapped key. If not set to null then "wrappedKeyLen" parameter must contain the lenght of wrappedKey array and wrapped key is returned in "wrappedKey" parameter. Location that receives the length of the wrapped key CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_NOT_WRAPPABLE, CKR_KEY_SIZE_RANGE, CKR_KEY_UNEXTRACTABLE, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPING_KEY_HANDLE_INVALID, CKR_WRAPPING_KEY_SIZE_RANGE, CKR_WRAPPING_KEY_TYPE_INCONSISTENT Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object The session's handle Unwrapping mechanism The handle of the unwrapping key Wrapped key The length of the wrapped key The template for the new key The number of attributes in the template Location that receives the handle of the unwrapped key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_UNWRAPPING_KEY_HANDLE_INVALID, CKR_UNWRAPPING_KEY_SIZE_RANGE, CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPED_KEY_INVALID, CKR_WRAPPED_KEY_LEN_RANGE Derives a key from a base key, creating a new key object The session's handle Key derivation mechanism The handle of the base key The template for the new key The number of attributes in the template Location that receives the handle of the derived key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Mixes additional seed material into the token's random number generator The session's handle The seed material The length of the seed material CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_SEED_NOT_SUPPORTED, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Generates random or pseudo-random data The session's handle Location that receives the random data The length in bytes of the random or pseudo-random data to be generated CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Waits for a slot event, such as token insertion or token removal, to occur Determines whether or not the C_WaitForSlotEvent call blocks (i.e., waits for a slot event to occur) Location which will receive the ID of the slot that the event occurred in Reserved for future versions (should be null) CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NO_EVENT, CKR_OK Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information Slot identifier True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all slots where token that matches PKCS#11 URI is present PKCS#11 URI Low level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI CKR_OK if successful; any other value otherwise Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Utility class that helps to manage CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with ulong value Attribute type Attribute value Attribute of given type with ulong value Creates attribute of given type with CKC value Attribute type Attribute value Attribute of given type with CKC value Creates attribute of given type with CKK value Attribute type Attribute value Attribute of given type with CKK value Creates attribute of given type with CKO value Attribute type Attribute value Attribute of given type with CKO value Creates attribute of given type with ulong value Attribute type Attribute value Attribute of given type with ulong value Reads value of attribute and returns it as ulong Attribute whose value should be read Location that receives attribute value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Reads value of attribute and returns it as bool Attribute whose value should be read Location that receives attribute value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Reads value of attribute and returns it as string Attribute whose value should be read Location that receives attribute value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Reads value of attribute and returns it as byte array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Reads value of attribute and returns it as DateTime (CK_DATE) Attribute whose value should be read Location that receives attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Reads value of attribute and returns it as attribute array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with ulong array value Attribute type Attribute value Attribute of given type with ulong array value Creates attribute of given type with ulong array value Attribute type Attribute value Attribute of given type with ulong array value Reads value of attribute and returns it as ulong array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Reads value of attribute and returns it as mechanism array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with value copied from managed byte array to the newly allocated unmanaged memory Attribute type Attribute value Attribute of given type with specified value Copies attribute value from unmanaged memory to managed byte array Attribute whose value should be read Managed copy of attribute value Utility class that helps to manage CK_MECHANISM structure Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with parameter copied from managed byte array to the newly allocated unmanaged memory Mechanism type Mechanism parameter Mechanism of given type with specified parameter Defines the type, value, and length of an attribute The attribute type Pointer to the value of the attribute Length in bytes of the value Defines the type, value, and length of an attribute. This class can be used with Silverlight 5 version of Marshal.PtrToStructure(IntPtr, object) which does not support value types (structs). The attribute type Pointer to the value of the attribute Length in bytes of the value Copies instance members to CK_ATTRIBUTE struct Destination CK_ATTRIBUTE struct Optional arguments for the C_Initialize function Pointer to a function to use for creating mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for destroying mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for locking mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for unlocking mutex objects (not supported by Pkcs11Interop) Bit flags specifying options Reserved for future use Structure which contains a Cryptoki version and a function pointer to each function in the Cryptoki API Cryptoki version Pointer to C_Initialize Pointer to C_Finalize Pointer to C_GetInfo Pointer to C_GetFunctionList Pointer to C_GetSlotList Pointer to C_GetSlotInfo Pointer to C_GetTokenInfo Pointer to C_GetMechanismList Pointer to C_GetMechanismInfo Pointer to C_InitToken Pointer to C_InitPIN Pointer to C_SetPIN Pointer to C_OpenSession Pointer to C_CloseSession Pointer to C_CloseAllSessions Pointer to C_GetSessionInfo Pointer to C_GetOperationState Pointer to C_SetOperationState Pointer to C_Login Pointer to C_Logout Pointer to C_CreateObject Pointer to C_CopyObject Pointer to C_DestroyObject Pointer to C_GetObjectSize Pointer to C_GetAttributeValue Pointer to C_SetAttributeValue Pointer to C_FindObjectsInit Pointer to C_FindObjects Pointer to C_FindObjectsFinal Pointer to C_EncryptInit Pointer to C_Encrypt Pointer to C_EncryptUpdate Pointer to C_EncryptFinal Pointer to C_DecryptInit Pointer to C_Decrypt Pointer to C_DecryptUpdate Pointer to C_DecryptFinal Pointer to C_DigestInit Pointer to C_Digest Pointer to C_DigestUpdate Pointer to C_DigestKey Pointer to C_DigestFinal Pointer to C_SignInit Pointer to C_Sign Pointer to C_SignUpdate Pointer to C_SignFinal Pointer to C_SignRecoverInit Pointer to C_SignRecover Pointer to C_VerifyInit Pointer to C_Verify Pointer to C_VerifyUpdate Pointer to C_VerifyFinal Pointer to C_VerifyRecoverInit Pointer to C_VerifyRecover Pointer to C_DigestEncryptUpdate Pointer to C_DecryptDigestUpdate Pointer to C_SignEncryptUpdate Pointer to C_DecryptVerifyUpdate Pointer to C_GenerateKey Pointer to C_GenerateKeyPair Pointer to C_WrapKey Pointer to C_UnwrapKey Pointer to C_DeriveKey Pointer to C_SeedRandom Pointer to C_GenerateRandom Pointer to C_GetFunctionStatus Pointer to C_CancelFunction Pointer to C_WaitForSlotEvent Provides general information about Cryptoki Cryptoki interface version number, for compatibility with future revisions of this interface. ID of the Cryptoki library manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags reserved for future versions. Must be zero for this version Character-string description of the library. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Cryptoki library version number Specifies a particular mechanism and any parameters it requires The type of mechanism Pointer to the parameter if required by the mechanism Length of the parameter in bytes Provides information about a particular mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Bit flags specifying mechanism capabilities Information about a session ID of the slot that interfaces with the token The state of the session Bit flags that define the type of session An error code defined by the cryptographic device. Used for errors not covered by Cryptoki. Provides information about a slot Character-string description of the slot. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the slot manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bits flags that provide capabilities of the slot. Version number of the slot's hardware Version number of the slot's firmware Provides information about a token Application-defined label, assigned during token initialization. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the device manufacturer. Must be padded with the blank character (‘ ‘). Should not be nullterminated. Model of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Character-string serial number of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of firmware Current time as a character-string of length 16, represented in the format YYYYMMDDhhmmssxx (4 characters for the year; 2 characters each for the month, the day, the hour, the minute, and the second; and 2 additional reserved ‘0' characters). The value of this field only makes sense for tokens equipped with a clock, as indicated in the token information flags. Describes the version Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns a string that represents the current CK_VERSION structure. String that represents the current CK_VERSION structure. Holds delegates for all PKCS#11 functions Delegate for C_Initialize Delegate for C_Finalize Delegate for C_GetInfo Delegate for C_GetFunctionList Delegate for C_GetSlotList Delegate for C_GetSlotInfo Delegate for C_GetTokenInfo Delegate for C_GetMechanismList Delegate for C_GetMechanismInfo Delegate for C_InitToken Delegate for C_InitPIN Delegate for C_SetPIN Delegate for C_OpenSession Delegate for C_CloseSession Delegate for C_CloseAllSessions Delegate for C_GetSessionInfo Delegate for C_GetOperationState Delegate for C_SetOperationState Delegate for C_Login Delegate for C_Logout Delegate for C_CreateObject Delegate for C_CopyObject Delegate for C_DestroyObject Delegate for C_GetObjectSize Delegate for C_GetAttributeValue Delegate for C_SetAttributeValue Delegate for C_FindObjectsInit Delegate for C_FindObjects Delegate for C_FindObjectsFinal Delegate for C_EncryptInit Delegate for C_Encrypt Delegate for C_EncryptUpdate Delegate for C_EncryptFinal Delegate for C_DecryptInit Delegate for C_Decrypt Delegate for C_DecryptUpdate Delegate for C_DecryptFinal Delegate for C_DigestInit Delegate for C_Digest Delegate for C_DigestUpdate Delegate for C_DigestKey Delegate for C_DigestFinal Delegate for C_SignInit Delegate for C_Sign Delegate for C_SignUpdate Delegate for C_SignFinal Delegate for C_SignRecoverInit Delegate for C_SignRecover Delegate for C_VerifyInit Delegate for C_Verify Delegate for C_VerifyUpdate Delegate for C_VerifyFinal Delegate for C_VerifyRecoverInit Delegate for C_VerifyRecover Delegate for C_DigestEncryptUpdate Delegate for C_DecryptDigestUpdate Delegate for C_SignEncryptUpdate Delegate for C_DecryptVerifyUpdate Delegate for C_GenerateKey Delegate for C_GenerateKeyPair Delegate for C_WrapKey Delegate for C_UnwrapKey Delegate for C_DeriveKey Delegate for C_SeedRandom Delegate for C_GenerateRandom Delegate for C_GetFunctionStatus Delegate for C_CancelFunction Delegate for C_WaitForSlotEvent Initializes new instance of Delegates class Handle to the PKCS#11 library Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Get delegates with C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates with C_GetFunctionList function from the statically linked PKCS#11 library Get delegates without C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates without C_GetFunctionList function from the statically linked PKCS#11 library Get delegates from unmanaged function pointers Structure which contains cryptoki function pointers Structure that provides the parameters to the CKM_AES_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_AES_CTR mechanism The number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_ARIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CTR mechanism Specifies the number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_AES_CCM mechanism Length of the data Pointer to the nonce Length of the nonce Pointer to additional authentication data Length of additional authentication data Length of the MAC (output following cipher text) in bytes Structure that provides the parameters to the CKM_CMS_SIG mechanism Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data NULL-terminated string indicating complete MIME Content-type of message to be signed or null if the message is a MIME object Pointer to DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes Length in bytes of the value pointed to by RequestedAttributes Pointer to DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Length in bytes, of the value pointed to by RequiredAttributes Structure that provides the parameters to the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms IV value Data value part that must be a multiple of 8 bytes long Length of data in bytes Structure that provides and returns parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Mechanism value for the base hash used in PQG generation (CKM) Pointer to seed value used to generate PQ and G Length of seed value Index value for generating G Structure that provides the parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's EC public key Pointer to other party's EC public key value Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Structure that provides the parameters to the CKM_ECDH_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Length in bytes of the shared info Data shared between the two parties Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Handle to the first party's ephemeral public key Provides the parameter to the CKM_EXTRACT_KEY_FROM_KEY mechanism Specifies which bit of the base key should be used as the first bit of the derived key Structure that provides the parameters to the CKM_AES_GCM mechanism Pointer to initialization vector Length of initialization vector in bytes Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Pointer to additional authentication data Length of additional authentication data in bytes Length of authentication tag (output following cipher text) in bits Structure that provides the parameters to the CKM_GOSTR3410_DERIVE mechanism Additional key diversification algorithm (CKD) Pointer to data with public key of a receiver Length of data with public key of a receiver. Must be 64. Pointer to a UKM data Length of UKM data in bytes. Must be 8. Structure that provides the parameters to the CKM_GOSTR3410_KEY_WRAP mechanism Pointer to a data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Length of data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Pointer to a data with UKM Length of UKM data Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Structure that provides the parameters to the CKM_KEA_DERIVE mechanism Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Size of random Ra and Rb, in bytes Pointer to Ra data Pointer to Rb data Other party's KEA public key size Pointer to other party's KEA public key value Provides the parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Pointer to the byte string Length of the byte string Structure that provides the parameters to the CKM_KEY_WRAP_SET_OAEP mechanism Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Length in bytes of concatenation of hash of plaintext data (if present) and extra data (if present) or 0 if neither is present Structure that provides the parameters to CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Pointer to the underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Pointer to an input seed Length in bytes of the input seed Structure that provides the parameters to the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Length of the MAC produced, in bytes Structure that includes the type, value and length of an OTP parameter Parameter type Pointer to the value of the parameter Length in bytes of the value Structure that is used to provide parameters for OTP mechanisms in a generic fashion Pointer to an array of OTP parameters (CK_OTP_PARAM structures) The number of parameters in the array Structure that is returned by all OTP mechanisms in successful calls to C_Sign (C_SignFinal) Pointer to an array of OTP parameter values (CK_OTP_PARAM structures) The number of parameters in the array Structure which provides all of the necessary information required by the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Pointer to the location that receives the 8-byte initialization vector (IV), if an IV is required Points to the password to be used in the PBE key generation Length in bytes of the password information Points to the salt to be used in the PBE key generation Length in bytes of the salt information Number of iterations required for the generation Structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Corrected structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Structure that provides the parameters to the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Structure that provides the parameters to the CKM_RC2_MAC_GENERAL mechanism The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Provides the parameters to the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Effective number of bits in the RC2 search space Structure that provides the parameters to the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Pointer to initialization vector (IV) for CBC encryption Length of initialization vector (must be same as blocksize) Structure that provides the parameters to the CKM_RC5_MAC_GENERAL mechanism Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Structure that provides the parameters to the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Structure that provides the parameters to the CKM_RSA_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Pointer to the parameters of the temporary AES key wrapping (CK_RSA_PKCS_OAEP_PARAMS) Structure that provides the parameters to the CKM_RSA_PKCS_OAEP mechanism Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Length of the encoding parameter source input Structure that provides the parameters to the CKM_RSA_PKCS_PSS mechanism Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Structure that provides the parameters to the CKM_SEED_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_SKIPJACK_PRIVATE_WRAP mechanism Length of the password Pointer to the buffer which contains the user-supplied password Other party's key exchange public key size Pointer to other party's key exchange public key value Length of prime and base values Length of subprime value Size of random Ra, in bytes Pointer to Ra data Pointer to Prime, p, value Pointer to Base, g, value Pointer to Subprime, q, value Structure that provides the parameters to the CKM_SKIPJACK_RELAYX mechanism Length of old wrapped key in bytes Pointer to old wrapper key Length of the old password Pointer to the buffer which contains the old user-supplied password Old key exchange public key size Pointer to old key exchange public key value Size of old random Ra in bytes Pointer to old Ra data Length of the new password Pointer to the buffer which contains the new usersupplied password New key exchange public key size Pointer to new key exchange public key value Size of new random Ra in bytes Pointer to new Ra data Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Pointer to a location which receives the initialization vector (IV) created for the client (if any) Pointer to a location which receives the initialization vector (IV) created for the server (if any) Structure that provides the parameters to the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Structure that provides the parameters to the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Structure which provides information about the random data of a client and a server in an SSL context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS12_MASTER_KEY_DERIVE mechanism Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS_KDF mechanism Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Pointer to the label for this key derivation Length of the label in bytes Random data for the key derivation Pointer to the context data for this key derivation Length of the context data in bytes Structure that provides the parameters to the CKM_TLS_MAC mechanism Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Structure, which provides the parameters to the CKM_TLS_PRF mechanism Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_WTLS_SEVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting MAC secret key Key handle for the resulting secret key Pointer to a location which receives the initialization vector (IV) created (if any) Structure that provides the parameters to the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_WTLS_KEY_MAT_OUT structure which receives the handles for the keys generated and the IV Structure, which provides the parameters to the CKM_WTLS_MASTER_KEY_DERIVE mechanism Digest mechanism to be used (CKM) Client's and server's random data information Pointer to single byte which receives the WTLS protocol version information Structure, which provides the parameters to the CKM_WTLS_PRF mechanism Digest mechanism to be used (CKM) Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure, which provides information about the random data of a client and a server in a WTLS context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_X9_42_DH_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's X9.42 Diffie-Hellman public key Pointer to other party's X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_MQV_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Low level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Handle to the PKCS#11 library Handle to the PKCS#11 library. Use with caution! Delegates for PKCS#11 functions Loads PCKS#11 library Library name or path Loads PCKS#11 library Library name or path Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Unloads PKCS#11 library. Called automaticaly when object is being disposed. Initializes the Cryptoki library CK_C_INITIALIZE_ARGS structure containing information on how the library should deal with multi-threaded access or null if an application will not be accessing Cryptoki through multiple threads simultaneously CKR_ARGUMENTS_BAD, CKR_CANT_LOCK, CKR_CRYPTOKI_ALREADY_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NEED_TO_CREATE_THREADS, CKR_OK Called to indicate that an application is finished with the Cryptoki library. It should be the last Cryptoki call made by an application. Reserved for future versions. For this version, it should be set to null. CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns general information about Cryptoki Structure that receives the information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns a pointer to the Cryptoki library's list of function pointers Pointer to a value which will receive a pointer to the library's CK_FUNCTION_LIST structure CKR_ARGUMENTS_BAD, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains a list of slots in the system Indicates whether the list obtained includes only those slots with a token present (true) or all slots (false) If set to null then the number of slots is returned in "count" parameter, without actually returning a list of slots. If not set to null then "count" parameter must contain the lenght of slotList array and slot list is returned in "slotList" parameter. Location that receives the number of slots CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains information about a particular slot in the system The ID of the slot Structure that receives the slot information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID Obtains information about a particular token in the system The ID of the token's slot Structure that receives the token information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains a list of mechanism types supported by a token The ID of the token's slot If set to null then the number of mechanisms is returned in "count" parameter, without actually returning a list of mechanisms. If not set to null then "count" parameter must contain the lenght of mechanismList array and mechanism list is returned in "mechanismList" parameter. Location that receives the number of mechanisms CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains information about a particular mechanism possibly supported by a token The ID of the token's slot The type of mechanism Structure that receives the mechanism information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Initializes a token The ID of the token's slot SO's initial PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes 32-byte long label of the token which must be padded with blank characters CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Initializes the normal user's PIN The session's handle Normal user's PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_SESSION_CLOSED, CKR_SESSION_READ_ONLY, CKR_SESSION_HANDLE_INVALID, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN, CKR_ARGUMENTS_BAD Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in The session's handle Old PIN or null to use protected authentication path (pinpad) The length of the old PIN in bytes New PIN or null to use protected authentication path (pinpad) The length of the new PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Opens a session between an application and a token in a particular slot The ID of the token's slot Flags indicating the type of session An application defined pointer to be passed to the notification callback The address of the notification callback function Location that receives the handle for the new session CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_COUNT, CKR_SESSION_PARALLEL_NOT_SUPPORTED, CKR_SESSION_READ_WRITE_SO_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Closes a session between an application and a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Closes all sessions an application has with a token The ID of the token's slot CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT Obtains information about a session The session's handle Structure that receives the session information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Obtains a copy of the cryptographic operations state of a session encoded as byte array The session's handle If set to null then the length of state is returned in "operationStateLen" parameter, without actually returning a state. If not set to null then "operationStateLen" parameter must contain the lenght of operationState array and state is returned in "operationState" parameter. Location that receives the length in bytes of the state CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_STATE_UNSAVEABLE, CKR_ARGUMENTS_BAD Restores the cryptographic operations state of a session from bytes obtained with C_GetOperationState The session's handle Saved session state Length of saved session state Handle to the key which will be used for an ongoing encryption or decryption operation in the restored session or CK_INVALID_HANDLE if not needed Handle to the key which will be used for an ongoing operation in the restored session or CK_INVALID_HANDLE if not needed CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_CHANGED, CKR_KEY_NEEDED, CKR_KEY_NOT_NEEDED, CKR_OK, CKR_SAVED_STATE_INVALID, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Logs a user into a token The session's handle The user type User's PIN or null to use protected authentication path (pinpad) Length of user's PIN CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY_EXISTS, CKR_USER_ALREADY_LOGGED_IN, CKR_USER_ANOTHER_ALREADY_LOGGED_IN, CKR_USER_PIN_NOT_INITIALIZED, CKR_USER_TOO_MANY_TYPES, CKR_USER_TYPE_INVALID Logs a user out from a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Creates a new object The session's handle Object's template The number of attributes in the template Location that receives the new object's handle CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Copies an object, creating a new object for the copy The session's handle The object's handle Template for the new object The number of attributes in the template Location that receives the handle for the copy of the object CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Destroys an object The session's handle The object's handle CKR_ACTION_PROHIBITED, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED Gets the size of an object in bytes The session's handle The object's handle Location that receives the size in bytes of the object CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_INFORMATION_SENSITIVE, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Obtains the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be obtained, and receives the attribute values The number of attributes in the template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_SENSITIVE, CKR_ATTRIBUTE_TYPE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Modifies the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be modified and their new values The number of attributes in the template CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Initializes a search for token and session objects that match a template The session's handle Search template that specifies the attribute values to match The number of attributes in the search template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a search for token and session objects that match a template, obtaining additional object handles The session's handle Location that receives the list (array) of additional object handles The maximum number of object handles to be returned Location that receives the actual number of object handles returned CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Terminates a search for token and session objects The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes an encryption operation The session's handle The encryption mechanism The handle of the encryption key CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Encrypts single-part data The session's handle Data to be encrypted Length of data in bytes If set to null then the length of encrypted data is returned in "encryptedDataLen" parameter, without actually returning encrypted data. If not set to null then "encryptedDataLen" parameter must contain the lenght of encryptedData array and encrypted data is returned in "encryptedData" parameter. Location that holds the length in bytes of the encrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part encryption operation, processing another data part The session's handle The data part to be encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part encryption operation The session's handle If set to null then the length of last encrypted data part is returned in "lastEncryptedPartLen" parameter, without actually returning last encrypted data part. If not set to null then "lastEncryptedPartLen" parameter must contain the lenght of lastEncryptedPart array and last encrypted data part is returned in "lastEncryptedPart" parameter. Location that holds the length of the last encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a decryption operation The session's handle The decryption mechanism The handle of the decryption key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Decrypts encrypted data in a single part The session's handle Encrypted data The length of the encrypted data If set to null then the length of decrypted data is returned in "dataLen" parameter, without actually returning decrypted data. If not set to null then "dataLen" parameter must contain the lenght of data array and decrypted data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part decryption operation, processing another encrypted data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part decryption operation The session's handle If set to null then the length of last decrypted data part is returned in "lastPartLen" parameter, without actually returning last decrypted data part. If not set to null then "lastPartLen" parameter must contain the lenght of lastPart array and last decrypted data part is returned in "lastPart" parameter. Location that holds the length of the last decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a message-digesting operation The session's handle The digesting mechanism CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Digests data in a single part The session's handle Data to be digested The length of the data to be digested If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation by digesting the value of a secret key The session's handle The handle of the secret key to be digested CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_INDIGESTIBLE, CKR_KEY_SIZE_RANGE, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part message-digesting operation, returning the message digest The session's handle If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a signature operation, where the signature is an appendix to the data The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED,CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single part, where the signature is an appendix to the data The session's handle Data to be signed The length of the data If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Continues a multi-part signature operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part signature operation, returning the signature The session's handle If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Initializes a signature operation, where the data can be recovered from the signature The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single operation, where the data can be recovered from the signature The session's handle Data to be signed The length of data to be signed If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a verification operation, where the signature is an appendix to the data The session's handle The verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the signature is an appendix to the data The session's handle Data that were signed The length of the data Signature of data The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Continues a multi-part verification operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part verification operation, checking the signature The session's handle Signature The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Initializes a signature verification operation, where the data is recovered from the signature The session's handle Verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the data is recovered from the signature The session's handle Signature The length of signature If set to null then the length of recovered data is returned in "dataLen" parameter, without actually returning recovered data. If not set to null then "dataLen" parameter must contain the lenght of data array and recovered data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_LEN_RANGE, CKR_SIGNATURE_INVALID Continues multi-part digest and encryption operations, processing another data part The session's handle The data part to be digested and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined decryption and digest operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined signature and encryption operation, processing another data part The session's handle The data part to be signed and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part combined decryption and verification operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Generates a secret key or set of domain parameters, creating a new object The session's handle Key generation mechanism The template for the new key or set of domain parameters The number of attributes in the template Location that receives the handle of the new key or set of domain parameters CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Generates a public/private key pair, creating new key objects The session's handle Key generation mechanism The template for the public key The number of attributes in the public-key template The template for the private key The number of attributes in the private-key template Location that receives the handle of the new public key Location that receives the handle of the new private key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Wraps (i.e., encrypts) a private or secret key The session's handle Wrapping mechanism The handle of the wrapping key The handle of the key to be wrapped If set to null then the length of wrapped key is returned in "wrappedKeyLen" parameter, without actually returning wrapped key. If not set to null then "wrappedKeyLen" parameter must contain the lenght of wrappedKey array and wrapped key is returned in "wrappedKey" parameter. Location that receives the length of the wrapped key CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_NOT_WRAPPABLE, CKR_KEY_SIZE_RANGE, CKR_KEY_UNEXTRACTABLE, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPING_KEY_HANDLE_INVALID, CKR_WRAPPING_KEY_SIZE_RANGE, CKR_WRAPPING_KEY_TYPE_INCONSISTENT Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object The session's handle Unwrapping mechanism The handle of the unwrapping key Wrapped key The length of the wrapped key The template for the new key The number of attributes in the template Location that receives the handle of the unwrapped key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_UNWRAPPING_KEY_HANDLE_INVALID, CKR_UNWRAPPING_KEY_SIZE_RANGE, CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPED_KEY_INVALID, CKR_WRAPPED_KEY_LEN_RANGE Derives a key from a base key, creating a new key object The session's handle Key derivation mechanism The handle of the base key The template for the new key The number of attributes in the template Location that receives the handle of the derived key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Mixes additional seed material into the token's random number generator The session's handle The seed material The length of the seed material CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_SEED_NOT_SUPPORTED, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Generates random or pseudo-random data The session's handle Location that receives the random data The length in bytes of the random or pseudo-random data to be generated CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Waits for a slot event, such as token insertion or token removal, to occur Determines whether or not the C_WaitForSlotEvent call blocks (i.e., waits for a slot event to occur) Location which will receive the ID of the slot that the event occurred in Reserved for future versions (should be null) CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NO_EVENT, CKR_OK Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information Slot identifier True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all slots where token that matches PKCS#11 URI is present PKCS#11 URI Low level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI CKR_OK if successful; any other value otherwise Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI Utility class that helps to manage CK_ATTRIBUTE structure Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with no value Attribute type Attribute of given type structure with no value Creates attribute of given type with ulong value Attribute type Attribute value Attribute of given type with ulong value Creates attribute of given type with CKC value Attribute type Attribute value Attribute of given type with CKC value Creates attribute of given type with CKK value Attribute type Attribute value Attribute of given type with CKK value Creates attribute of given type with CKO value Attribute type Attribute value Attribute of given type with CKO value Creates attribute of given type with ulong value Attribute type Attribute value Attribute of given type with ulong value Reads value of attribute and returns it as ulong Attribute whose value should be read Location that receives attribute value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Creates attribute of given type with bool value Attribute type Attribute value Attribute of given type with bool value Reads value of attribute and returns it as bool Attribute whose value should be read Location that receives attribute value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Creates attribute of given type with string value Attribute type Attribute value Attribute of given type with string value Reads value of attribute and returns it as string Attribute whose value should be read Location that receives attribute value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Creates attribute of given type with byte array value Attribute type Attribute value Attribute of given type with byte array value Reads value of attribute and returns it as byte array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Creates attribute of given type with DateTime (CK_DATE) value Attribute type Attribute value Attribute of given type with DateTime value Reads value of attribute and returns it as DateTime (CK_DATE) Attribute whose value should be read Location that receives attribute value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Creates attribute of given type with attribute array value Attribute type Attribute value Attribute of given type with attribute array value Reads value of attribute and returns it as attribute array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with ulong array value Attribute type Attribute value Attribute of given type with ulong array value Creates attribute of given type with ulong array value Attribute type Attribute value Attribute of given type with ulong array value Reads value of attribute and returns it as ulong array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Creates attribute of given type with mechanism array value Attribute type Attribute value Attribute of given type with mechanism array value Reads value of attribute and returns it as mechanism array Attribute whose value should be read Location that receives attribute value Creates attribute of given type with value copied from managed byte array to the newly allocated unmanaged memory Attribute type Attribute value Attribute of given type with specified value Copies attribute value from unmanaged memory to managed byte array Attribute whose value should be read Managed copy of attribute value Utility class that helps to manage CK_MECHANISM structure Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with no parameter Mechanism type Mechanism of given type with no parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with byte array parameter Mechanism type Mechanism parameter Mechanism of given type with byte array parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with structure as parameter Mechanism type Structure with mechanism parameters Mechanism of given type with structure as parameter Creates mechanism of given type with parameter copied from managed byte array to the newly allocated unmanaged memory Mechanism type Mechanism parameter Mechanism of given type with specified parameter Defines the type, value, and length of an attribute The attribute type Pointer to the value of the attribute Length in bytes of the value Defines the type, value, and length of an attribute. This class can be used with Silverlight 5 version of Marshal.PtrToStructure(IntPtr, object) which does not support value types (structs). The attribute type Pointer to the value of the attribute Length in bytes of the value Copies instance members to CK_ATTRIBUTE struct Destination CK_ATTRIBUTE struct Optional arguments for the C_Initialize function Pointer to a function to use for creating mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for destroying mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for locking mutex objects (not supported by Pkcs11Interop) Pointer to a function to use for unlocking mutex objects (not supported by Pkcs11Interop) Bit flags specifying options Reserved for future use Structure which contains a Cryptoki version and a function pointer to each function in the Cryptoki API Cryptoki version Pointer to C_Initialize Pointer to C_Finalize Pointer to C_GetInfo Pointer to C_GetFunctionList Pointer to C_GetSlotList Pointer to C_GetSlotInfo Pointer to C_GetTokenInfo Pointer to C_GetMechanismList Pointer to C_GetMechanismInfo Pointer to C_InitToken Pointer to C_InitPIN Pointer to C_SetPIN Pointer to C_OpenSession Pointer to C_CloseSession Pointer to C_CloseAllSessions Pointer to C_GetSessionInfo Pointer to C_GetOperationState Pointer to C_SetOperationState Pointer to C_Login Pointer to C_Logout Pointer to C_CreateObject Pointer to C_CopyObject Pointer to C_DestroyObject Pointer to C_GetObjectSize Pointer to C_GetAttributeValue Pointer to C_SetAttributeValue Pointer to C_FindObjectsInit Pointer to C_FindObjects Pointer to C_FindObjectsFinal Pointer to C_EncryptInit Pointer to C_Encrypt Pointer to C_EncryptUpdate Pointer to C_EncryptFinal Pointer to C_DecryptInit Pointer to C_Decrypt Pointer to C_DecryptUpdate Pointer to C_DecryptFinal Pointer to C_DigestInit Pointer to C_Digest Pointer to C_DigestUpdate Pointer to C_DigestKey Pointer to C_DigestFinal Pointer to C_SignInit Pointer to C_Sign Pointer to C_SignUpdate Pointer to C_SignFinal Pointer to C_SignRecoverInit Pointer to C_SignRecover Pointer to C_VerifyInit Pointer to C_Verify Pointer to C_VerifyUpdate Pointer to C_VerifyFinal Pointer to C_VerifyRecoverInit Pointer to C_VerifyRecover Pointer to C_DigestEncryptUpdate Pointer to C_DecryptDigestUpdate Pointer to C_SignEncryptUpdate Pointer to C_DecryptVerifyUpdate Pointer to C_GenerateKey Pointer to C_GenerateKeyPair Pointer to C_WrapKey Pointer to C_UnwrapKey Pointer to C_DeriveKey Pointer to C_SeedRandom Pointer to C_GenerateRandom Pointer to C_GetFunctionStatus Pointer to C_CancelFunction Pointer to C_WaitForSlotEvent Provides general information about Cryptoki Cryptoki interface version number, for compatibility with future revisions of this interface. ID of the Cryptoki library manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags reserved for future versions. Must be zero for this version Character-string description of the library. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Cryptoki library version number Specifies a particular mechanism and any parameters it requires The type of mechanism Pointer to the parameter if required by the mechanism Length of the parameter in bytes Provides information about a particular mechanism The minimum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) The maximum size of the key for the mechanism (whether this is measured in bits or in bytes is mechanism-dependent) Bit flags specifying mechanism capabilities Information about a session ID of the slot that interfaces with the token The state of the session Bit flags that define the type of session An error code defined by the cryptographic device. Used for errors not covered by Cryptoki. Provides information about a slot Character-string description of the slot. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the slot manufacturer. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bits flags that provide capabilities of the slot. Version number of the slot's hardware Version number of the slot's firmware Provides information about a token Application-defined label, assigned during token initialization. Must be padded with the blank character (‘ ‘). Should not be null-terminated. ID of the device manufacturer. Must be padded with the blank character (‘ ‘). Should not be nullterminated. Model of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Character-string serial number of the device. Must be padded with the blank character (‘ ‘). Should not be null-terminated. Bit flags indicating capabilities and status of the device Maximum number of sessions that can be opened with the token at one time by a single application Number of sessions that this application currently has open with the token Maximum number of read/write sessions that can be opened with the token at one time by a single application Number of read/write sessions that this application currently has open with the token Maximum length in bytes of the PIN Minimum length in bytes of the PIN The total amount of memory on the token in bytes in which public objects may be stored The amount of free (unused) memory on the token in bytes for public objects The total amount of memory on the token in bytes in which private objects may be stored The amount of free (unused) memory on the token in bytes for private objects Version number of hardware Version number of firmware Current time as a character-string of length 16, represented in the format YYYYMMDDhhmmssxx (4 characters for the year; 2 characters each for the month, the day, the hour, the minute, and the second; and 2 additional reserved ‘0' characters). The value of this field only makes sense for tokens equipped with a clock, as indicated in the token information flags. Describes the version Major version number (the integer portion of the version) Minor version number (the hundredths portion of the version) Returns a string that represents the current CK_VERSION structure. String that represents the current CK_VERSION structure. Holds delegates for all PKCS#11 functions Delegate for C_Initialize Delegate for C_Finalize Delegate for C_GetInfo Delegate for C_GetFunctionList Delegate for C_GetSlotList Delegate for C_GetSlotInfo Delegate for C_GetTokenInfo Delegate for C_GetMechanismList Delegate for C_GetMechanismInfo Delegate for C_InitToken Delegate for C_InitPIN Delegate for C_SetPIN Delegate for C_OpenSession Delegate for C_CloseSession Delegate for C_CloseAllSessions Delegate for C_GetSessionInfo Delegate for C_GetOperationState Delegate for C_SetOperationState Delegate for C_Login Delegate for C_Logout Delegate for C_CreateObject Delegate for C_CopyObject Delegate for C_DestroyObject Delegate for C_GetObjectSize Delegate for C_GetAttributeValue Delegate for C_SetAttributeValue Delegate for C_FindObjectsInit Delegate for C_FindObjects Delegate for C_FindObjectsFinal Delegate for C_EncryptInit Delegate for C_Encrypt Delegate for C_EncryptUpdate Delegate for C_EncryptFinal Delegate for C_DecryptInit Delegate for C_Decrypt Delegate for C_DecryptUpdate Delegate for C_DecryptFinal Delegate for C_DigestInit Delegate for C_Digest Delegate for C_DigestUpdate Delegate for C_DigestKey Delegate for C_DigestFinal Delegate for C_SignInit Delegate for C_Sign Delegate for C_SignUpdate Delegate for C_SignFinal Delegate for C_SignRecoverInit Delegate for C_SignRecover Delegate for C_VerifyInit Delegate for C_Verify Delegate for C_VerifyUpdate Delegate for C_VerifyFinal Delegate for C_VerifyRecoverInit Delegate for C_VerifyRecover Delegate for C_DigestEncryptUpdate Delegate for C_DecryptDigestUpdate Delegate for C_SignEncryptUpdate Delegate for C_DecryptVerifyUpdate Delegate for C_GenerateKey Delegate for C_GenerateKeyPair Delegate for C_WrapKey Delegate for C_UnwrapKey Delegate for C_DeriveKey Delegate for C_SeedRandom Delegate for C_GenerateRandom Delegate for C_GetFunctionStatus Delegate for C_CancelFunction Delegate for C_WaitForSlotEvent Initializes new instance of Delegates class Handle to the PKCS#11 library Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Get delegates with C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates with C_GetFunctionList function from the statically linked PKCS#11 library Get delegates without C_GetFunctionList function from the dynamically loaded shared PKCS#11 library Handle to the PKCS#11 library Get delegates without C_GetFunctionList function from the statically linked PKCS#11 library Get delegates from unmanaged function pointers Structure which contains cryptoki function pointers Structure that provides the parameters to the CKM_AES_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_AES_CTR mechanism The number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_ARIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CBC_ENCRYPT_DATA mechanism 16-octet initialization vector Pointer to data to encrypt Length of data to encrypt Structure that provides the parameters to the CKM_CAMELLIA_CTR mechanism Specifies the number of bits in the counter block (cb) that shall be incremented Specifies the counter block Structure that provides the parameters to the CKM_AES_CCM mechanism Length of the data Pointer to the nonce Length of the nonce Pointer to additional authentication data Length of additional authentication data Length of the MAC (output following cipher text) in bytes Structure that provides the parameters to the CKM_CMS_SIG mechanism Object handle for a certificate associated with the signing key Mechanism to use when signing a constructed CMS SignedAttributes value Mechanism to use when digesting the data NULL-terminated string indicating complete MIME Content-type of message to be signed or null if the message is a MIME object Pointer to DER-encoded list of CMS Attributes the caller requests to be included in the signed attributes Length in bytes of the value pointed to by RequestedAttributes Pointer to DER-encoded list of CMS Attributes (with accompanying values) required to be included in the resulting signed attributes Length in bytes, of the value pointed to by RequiredAttributes Structure that provides the parameters to the CKM_DES_CBC_ENCRYPT_DATA and CKM_DES3_CBC_ENCRYPT_DATA mechanisms IV value Data value part that must be a multiple of 8 bytes long Length of data in bytes Structure that provides and returns parameters for the CKM_DSA_PROBABLISTIC_PARAMETER_GEN, CKM_DSA_SHAWE_TAYLOR_PARAMETER_GEN a CKM_DSA_FIPS_G_GEN mechanisms Mechanism value for the base hash used in PQG generation (CKM) Pointer to seed value used to generate PQ and G Length of seed value Index value for generating G Structure that provides the parameters for the CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's EC public key Pointer to other party's EC public key value Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Structure that provides the parameters to the CKM_ECDH_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Key derivation function used on the shared secret value to generate AES key (CKD) Length in bytes of the shared info Data shared between the two parties Structure that provides the parameters to the CKM_ECMQV_DERIVE mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the shared info Some data shared between the two parties The length in bytes of the other party's first EC public key Pointer to other party's first EC public key value The length in bytes of the second EC private key Key handle for second EC private key value The length in bytes of the other party's second EC public key Pointer to other party's second EC public key value Handle to the first party's ephemeral public key Provides the parameter to the CKM_EXTRACT_KEY_FROM_KEY mechanism Specifies which bit of the base key should be used as the first bit of the derived key Structure that provides the parameters to the CKM_AES_GCM mechanism Pointer to initialization vector Length of initialization vector in bytes Member is defined in PKCS#11 v2.40e1 headers but the description is not present in the specification Pointer to additional authentication data Length of additional authentication data in bytes Length of authentication tag (output following cipher text) in bits Structure that provides the parameters to the CKM_GOSTR3410_DERIVE mechanism Additional key diversification algorithm (CKD) Pointer to data with public key of a receiver Length of data with public key of a receiver. Must be 64. Pointer to a UKM data Length of UKM data in bytes. Must be 8. Structure that provides the parameters to the CKM_GOSTR3410_KEY_WRAP mechanism Pointer to a data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Length of data with DER-encoding of the object identifier indicating the data object type of GOST 28147-89 Pointer to a data with UKM Length of UKM data Key handle of a sender for wrapping operation or key handle of a receiver for unwrapping operation Structure that provides the parameters to the CKM_KEA_DERIVE mechanism Option for generating the key (called a TEK). True if the sender (originator) generates the TEK, false if the recipient is regenerating the TEK. Size of random Ra and Rb, in bytes Pointer to Ra data Pointer to Rb data Other party's KEA public key size Pointer to other party's KEA public key value Provides the parameters for the CKM_CONCATENATE_BASE_AND_DATA, CKM_CONCATENATE_DATA_AND_BASE and CKM_XOR_BASE_AND_DATA mechanisms Pointer to the byte string Length of the byte string Structure that provides the parameters to the CKM_KEY_WRAP_SET_OAEP mechanism Block contents byte Concatenation of hash of plaintext data (if present) and extra data (if present) Length in bytes of concatenation of hash of plaintext data (if present) and extra data (if present) or 0 if neither is present Structure that provides the parameters to CKM_KIP_DERIVE, CKM_KIP_WRAP and CKM_KIP_MAC mechanisms Pointer to the underlying cryptographic mechanism (CKM) Handle to a key that will contribute to the entropy of the derived key (CKM_KIP_DERIVE) or will be used in the MAC operation (CKM_KIP_MAC) Pointer to an input seed Length in bytes of the input seed Structure that provides the parameters to the general-length MACing mechanisms (DES, DES3, CAST, CAST3, CAST128 (CAST5), IDEA, CDMF and AES), the general length HMACing mechanisms (MD2, MD5, SHA-1, SHA-256, SHA-384, SHA-512, RIPEMD-128 and RIPEMD-160) and the two SSL 3.0 MACing mechanisms (MD5 and SHA-1) Length of the MAC produced, in bytes Structure that includes the type, value and length of an OTP parameter Parameter type Pointer to the value of the parameter Length in bytes of the value Structure that is used to provide parameters for OTP mechanisms in a generic fashion Pointer to an array of OTP parameters (CK_OTP_PARAM structures) The number of parameters in the array Structure that is returned by all OTP mechanisms in successful calls to C_Sign (C_SignFinal) Pointer to an array of OTP parameter values (CK_OTP_PARAM structures) The number of parameters in the array Structure which provides all of the necessary information required by the CKM_PBE mechanisms and the CKM_PBA_SHA1_WITH_SHA1_HMAC mechanism Pointer to the location that receives the 8-byte initialization vector (IV), if an IV is required Points to the password to be used in the PBE key generation Length in bytes of the password information Points to the salt to be used in the PBE key generation Length in bytes of the salt information Number of iterations required for the generation Structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Corrected structure that provides the parameters to the CKM_PKCS5_PBKD2 mechanism Source of the salt value (CKZ) Data used as the input for the salt source Length of the salt source input Number of iterations to perform when generating each block of random data Pseudo-random function to used to generate the key (CKP) Data used as the input for PRF in addition to the salt value Length of the input data for the PRF Points to the password to be used in the PBE key generation Length in bytes of the password information Structure that provides the parameters to the CKM_RC2_CBC and CKM_RC2_CBC_PAD mechanisms The effective number of bits in the RC2 search space The initialization vector (IV) for cipher block chaining mode Structure that provides the parameters to the CKM_RC2_MAC_GENERAL mechanism The effective number of bits in the RC2 search space Length of the MAC produced, in bytes Provides the parameters to the CKM_RC2_ECB and CKM_RC2_MAC mechanisms Effective number of bits in the RC2 search space Structure that provides the parameters to the CKM_RC5_CBC and CKM_RC5_CBC_PAD mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Pointer to initialization vector (IV) for CBC encryption Length of initialization vector (must be same as blocksize) Structure that provides the parameters to the CKM_RC5_MAC_GENERAL mechanism Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Length of the MAC produced, in bytes Structure that provides the parameters to the CKM_RC5_ECB and CKM_RC5_MAC mechanisms Wordsize of RC5 cipher in bytes Number of rounds of RC5 encipherment Structure that provides the parameters to the CKM_RSA_AES_KEY_WRAP mechanism Length of the temporary AES key in bits Pointer to the parameters of the temporary AES key wrapping (CK_RSA_PKCS_OAEP_PARAMS) Structure that provides the parameters to the CKM_RSA_PKCS_OAEP mechanism Mechanism ID of the message digest algorithm used to calculate the digest of the encoding parameter (CKM) Mask generation function to use on the encoded block (CKG) Source of the encoding parameter (CKZ) Data used as the input for the encoding parameter source Length of the encoding parameter source input Structure that provides the parameters to the CKM_RSA_PKCS_PSS mechanism Hash algorithm used in the PSS encoding (CKM) Mask generation function to use on the encoded block (CKG) Length, in bytes, of the salt value used in the PSS encoding Structure that provides the parameters to the CKM_SEED_CBC_ENCRYPT_DATA mechanism IV value Data value part that must be a multiple of 16 bytes long Length of data in bytes Structure that provides the parameters to the CKM_SKIPJACK_PRIVATE_WRAP mechanism Length of the password Pointer to the buffer which contains the user-supplied password Other party's key exchange public key size Pointer to other party's key exchange public key value Length of prime and base values Length of subprime value Size of random Ra, in bytes Pointer to Ra data Pointer to Prime, p, value Pointer to Base, g, value Pointer to Subprime, q, value Structure that provides the parameters to the CKM_SKIPJACK_RELAYX mechanism Length of old wrapped key in bytes Pointer to old wrapper key Length of the old password Pointer to the buffer which contains the old user-supplied password Old key exchange public key size Pointer to old key exchange public key value Size of old random Ra in bytes Pointer to old Ra data Length of the new password Pointer to the buffer which contains the new usersupplied password New key exchange public key size Pointer to new key exchange public key value Size of new random Ra in bytes Pointer to new Ra data Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting Client MAC Secret key Key handle for the resulting Server MAC Secret key Key handle for the resulting Client Secret key Key handle for the resulting Server Secret key Pointer to a location which receives the initialization vector (IV) created for the client (if any) Pointer to a location which receives the initialization vector (IV) created for the server (if any) Structure that provides the parameters to the CKM_SSL3_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase or if no IV is required, the length should be set to 0 Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Structure that provides the parameters to the CKM_SSL3_MASTER_KEY_DERIVE and CKM_SSL3_MASTER_KEY_DERIVE_DH mechanisms Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Structure which provides information about the random data of a client and a server in an SSL context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_TLS12_KEY_AND_MAC_DERIVE mechanism The length (in bits) of the MACing keys agreed upon during the protocol handshake phase The length (in bits) of the secret keys agreed upon during the protocol handshake phase The length (in bits) of the IV agreed upon during the protocol handshake phase Flag which must be set to false because export cipher suites must not be used in TLS 1.1 and later Client's and server's random data information Points to a CK_SSL3_KEY_MAT_OUT structure which receives the handles for the keys generated and the IVs Base hash used in the underlying TLS1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS12_MASTER_KEY_DERIVE mechanism Client's and server's random data information Pointer to a CK_VERSION structure which receives the SSL protocol version information Base hash used in the underlying TLS 1.2 PRF operation used to derive the master key (CKM) Structure that provides the parameters to the CKM_TLS_KDF mechanism Hash mechanism used in the TLS 1.2 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Pointer to the label for this key derivation Length of the label in bytes Random data for the key derivation Pointer to the context data for this key derivation Length of the context data in bytes Structure that provides the parameters to the CKM_TLS_MAC mechanism Hash mechanism used in the TLS12 PRF construct or CKM_TLS_PRF to use with the TLS 1.0 and 1.1 PRF construct (CKM) Length of the MAC tag required or offered Should be set to "1" for "server finished" label or to "2" for "client finished" label Structure, which provides the parameters to the CKM_TLS_PRF mechanism Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure that contains the resulting key handles and initialization vectors after performing a C_DeriveKey function with the CKM_WTLS_SEVER_KEY_AND_MAC_DERIVE or with the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanism Key handle for the resulting MAC secret key Key handle for the resulting secret key Pointer to a location which receives the initialization vector (IV) created (if any) Structure that provides the parameters to the CKM_WTLS_SERVER_KEY_AND_MAC_DERIVE and the CKM_WTLS_CLIENT_KEY_AND_MAC_DERIVE mechanisms The digest mechanism to be used (CKM) The length (in bits) of the MACing key agreed upon during the protocol handshake phase The length (in bits) of the secret key agreed upon during the handshake phase The length (in bits) of the IV agreed upon during the handshake phase or if no IV is required, the length should be set to 0 The current sequence number used for records sent by the client and server respectively Flag which indicates whether the keys have to be derived for an export version of the protocol Client's and server's random data information Points to a CK_WTLS_KEY_MAT_OUT structure which receives the handles for the keys generated and the IV Structure, which provides the parameters to the CKM_WTLS_MASTER_KEY_DERIVE mechanism Digest mechanism to be used (CKM) Client's and server's random data information Pointer to single byte which receives the WTLS protocol version information Structure, which provides the parameters to the CKM_WTLS_PRF mechanism Digest mechanism to be used (CKM) Pointer to the input seed Length in bytes of the input seed Pointer to the identifying label Length in bytes of the identifying label Pointer receiving the output of the operation Pointer to the length in bytes that the output to be created shall have, has to hold the desired length as input and will receive the calculated length as output Structure, which provides information about the random data of a client and a server in a WTLS context Pointer to the client's random data Length in bytes of the client's random data Pointer to the server's random data Length in bytes of the server's random data Structure that provides the parameters to the CKM_X9_42_DH_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's X9.42 Diffie-Hellman public key Pointer to other party's X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation mechanisms Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Structure that provides the parameters to the CKM_X9_42_MQV_DERIVE key derivation mechanism Key derivation function used on the shared secret value (CKD) The length in bytes of the other info Some data shared between the two parties The length in bytes of the other party's first X9.42 Diffie-Hellman public key Pointer to other party's first X9.42 Diffie-Hellman public key value The length in bytes of the second X9.42 Diffie-Hellman private key Key handle for second X9.42 Diffie-Hellman private key value The length in bytes of the other party's second X9.42 Diffie-Hellman public key Pointer to other party's second X9.42 Diffie-Hellman public key value Handle to the first party's ephemeral public key Low level PKCS#11 wrapper Flag indicating whether instance has been disposed Flag indicating whether instance has been disposed Handle to the PKCS#11 library Handle to the PKCS#11 library. Use with caution! Delegates for PKCS#11 functions Loads PCKS#11 library Library name or path Loads PCKS#11 library Library name or path Flag indicating whether cryptoki function pointers should be acquired via C_GetFunctionList (true) or via platform native function (false) Unloads PKCS#11 library. Called automaticaly when object is being disposed. Initializes the Cryptoki library CK_C_INITIALIZE_ARGS structure containing information on how the library should deal with multi-threaded access or null if an application will not be accessing Cryptoki through multiple threads simultaneously CKR_ARGUMENTS_BAD, CKR_CANT_LOCK, CKR_CRYPTOKI_ALREADY_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NEED_TO_CREATE_THREADS, CKR_OK Called to indicate that an application is finished with the Cryptoki library. It should be the last Cryptoki call made by an application. Reserved for future versions. For this version, it should be set to null. CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns general information about Cryptoki Structure that receives the information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Returns a pointer to the Cryptoki library's list of function pointers Pointer to a value which will receive a pointer to the library's CK_FUNCTION_LIST structure CKR_ARGUMENTS_BAD, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains a list of slots in the system Indicates whether the list obtained includes only those slots with a token present (true) or all slots (false) If set to null then the number of slots is returned in "count" parameter, without actually returning a list of slots. If not set to null then "count" parameter must contain the lenght of slotList array and slot list is returned in "slotList" parameter. Location that receives the number of slots CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK Obtains information about a particular slot in the system The ID of the slot Structure that receives the slot information CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID Obtains information about a particular token in the system The ID of the token's slot Structure that receives the token information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains a list of mechanism types supported by a token The ID of the token's slot If set to null then the number of mechanisms is returned in "count" parameter, without actually returning a list of mechanisms. If not set to null then "count" parameter must contain the lenght of mechanismList array and mechanism list is returned in "mechanismList" parameter. Location that receives the number of mechanisms CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Obtains information about a particular mechanism possibly supported by a token The ID of the token's slot The type of mechanism Structure that receives the mechanism information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_ARGUMENTS_BAD Initializes a token The ID of the token's slot SO's initial PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes 32-byte long label of the token which must be padded with blank characters CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Initializes the normal user's PIN The session's handle Normal user's PIN or null to use protected authentication path (pinpad) The length of the PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_SESSION_CLOSED, CKR_SESSION_READ_ONLY, CKR_SESSION_HANDLE_INVALID, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN, CKR_ARGUMENTS_BAD Modifies the PIN of the user that is currently logged in, or the CKU_USER PIN if the session is not logged in The session's handle Old PIN or null to use protected authentication path (pinpad) The length of the old PIN in bytes New PIN or null to use protected authentication path (pinpad) The length of the new PIN in bytes CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_INCORRECT, CKR_PIN_INVALID, CKR_PIN_LEN_RANGE, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Opens a session between an application and a token in a particular slot The ID of the token's slot Flags indicating the type of session An application defined pointer to be passed to the notification callback The address of the notification callback function Location that receives the handle for the new session CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_COUNT, CKR_SESSION_PARALLEL_NOT_SUPPORTED, CKR_SESSION_READ_WRITE_SO_EXISTS, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT, CKR_TOKEN_NOT_RECOGNIZED, CKR_TOKEN_WRITE_PROTECTED, CKR_ARGUMENTS_BAD Closes a session between an application and a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Closes all sessions an application has with a token The ID of the token's slot CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SLOT_ID_INVALID, CKR_TOKEN_NOT_PRESENT Obtains information about a session The session's handle Structure that receives the session information CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Obtains a copy of the cryptographic operations state of a session encoded as byte array The session's handle If set to null then the length of state is returned in "operationStateLen" parameter, without actually returning a state. If not set to null then "operationStateLen" parameter must contain the lenght of operationState array and state is returned in "operationState" parameter. Location that receives the length in bytes of the state CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_STATE_UNSAVEABLE, CKR_ARGUMENTS_BAD Restores the cryptographic operations state of a session from bytes obtained with C_GetOperationState The session's handle Saved session state Length of saved session state Handle to the key which will be used for an ongoing encryption or decryption operation in the restored session or CK_INVALID_HANDLE if not needed Handle to the key which will be used for an ongoing operation in the restored session or CK_INVALID_HANDLE if not needed CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_CHANGED, CKR_KEY_NEEDED, CKR_KEY_NOT_NEEDED, CKR_OK, CKR_SAVED_STATE_INVALID, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_ARGUMENTS_BAD Logs a user into a token The session's handle The user type User's PIN or null to use protected authentication path (pinpad) Length of user's PIN CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_PIN_INCORRECT, CKR_PIN_LOCKED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY_EXISTS, CKR_USER_ALREADY_LOGGED_IN, CKR_USER_ANOTHER_ALREADY_LOGGED_IN, CKR_USER_PIN_NOT_INITIALIZED, CKR_USER_TOO_MANY_TYPES, CKR_USER_TYPE_INVALID Logs a user out from a token The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Creates a new object The session's handle Object's template The number of attributes in the template Location that receives the new object's handle CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Copies an object, creating a new object for the copy The session's handle The object's handle Template for the new object The number of attributes in the template Location that receives the handle for the copy of the object CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Destroys an object The session's handle The object's handle CKR_ACTION_PROHIBITED, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TOKEN_WRITE_PROTECTED Gets the size of an object in bytes The session's handle The object's handle Location that receives the size in bytes of the object CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_INFORMATION_SENSITIVE, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Obtains the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be obtained, and receives the attribute values The number of attributes in the template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_SENSITIVE, CKR_ATTRIBUTE_TYPE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Modifies the value of one or more attributes of an object The session's handle The object's handle Template that specifies which attribute values are to be modified and their new values The number of attributes in the template CKR_ACTION_PROHIBITED, CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OBJECT_HANDLE_INVALID, CKR_OK, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Initializes a search for token and session objects that match a template The session's handle Search template that specifies the attribute values to match The number of attributes in the search template CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a search for token and session objects that match a template, obtaining additional object handles The session's handle Location that receives the list (array) of additional object handles The maximum number of object handles to be returned Location that receives the actual number of object handles returned CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Terminates a search for token and session objects The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes an encryption operation The session's handle The encryption mechanism The handle of the encryption key CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Encrypts single-part data The session's handle Data to be encrypted Length of data in bytes If set to null then the length of encrypted data is returned in "encryptedDataLen" parameter, without actually returning encrypted data. If not set to null then "encryptedDataLen" parameter must contain the lenght of encryptedData array and encrypted data is returned in "encryptedData" parameter. Location that holds the length in bytes of the encrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part encryption operation, processing another data part The session's handle The data part to be encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part encryption operation The session's handle If set to null then the length of last encrypted data part is returned in "lastEncryptedPartLen" parameter, without actually returning last encrypted data part. If not set to null then "lastEncryptedPartLen" parameter must contain the lenght of lastEncryptedPart array and last encrypted data part is returned in "lastEncryptedPart" parameter. Location that holds the length of the last encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a decryption operation The session's handle The decryption mechanism The handle of the decryption key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Decrypts encrypted data in a single part The session's handle Encrypted data The length of the encrypted data If set to null then the length of decrypted data is returned in "dataLen" parameter, without actually returning decrypted data. If not set to null then "dataLen" parameter must contain the lenght of data array and decrypted data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part decryption operation, processing another encrypted data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part decryption operation The session's handle If set to null then the length of last decrypted data part is returned in "lastPartLen" parameter, without actually returning last decrypted data part. If not set to null then "lastPartLen" parameter must contain the lenght of lastPart array and last decrypted data part is returned in "lastPart" parameter. Location that holds the length of the last decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a message-digesting operation The session's handle The digesting mechanism CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Digests data in a single part The session's handle Data to be digested The length of the data to be digested If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part message-digesting operation by digesting the value of a secret key The session's handle The handle of the secret key to be digested CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_INDIGESTIBLE, CKR_KEY_SIZE_RANGE, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part message-digesting operation, returning the message digest The session's handle If set to null then the length of digest is returned in "digestLen" parameter, without actually returning digest. If not set to null then "digestLen" parameter must contain the lenght of digest array and digest is returned in "digest" parameter. Location that holds the length of the message digest CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Initializes a signature operation, where the signature is an appendix to the data The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED,CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single part, where the signature is an appendix to the data The session's handle Data to be signed The length of the data If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Continues a multi-part signature operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Finishes a multi-part signature operation, returning the signature The session's handle If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_FUNCTION_REJECTED Initializes a signature operation, where the data can be recovered from the signature The session's handle Signature mechanism Handle of the signature key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Signs data in a single operation, where the data can be recovered from the signature The session's handle Data to be signed The length of data to be signed If set to null then the length of signature is returned in "signatureLen" parameter, without actually returning signature. If not set to null then "signatureLen" parameter must contain the lenght of signature array and signature is returned in "signature" parameter. Location that holds the length of the signature CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Initializes a verification operation, where the signature is an appendix to the data The session's handle The verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the signature is an appendix to the data The session's handle Data that were signed The length of the data Signature of data The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Continues a multi-part verification operation, processing another data part The session's handle Data part The length of the data part CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Finishes a multi-part verification operation, checking the signature The session's handle Signature The length of signature CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_INVALID, CKR_SIGNATURE_LEN_RANGE Initializes a signature verification operation, where the data is recovered from the signature The session's handle Verification mechanism The handle of the verification key CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_FUNCTION_NOT_PERMITTED, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Verifies a signature in a single-part operation, where the data is recovered from the signature The session's handle Signature The length of signature If set to null then the length of recovered data is returned in "dataLen" parameter, without actually returning recovered data. If not set to null then "dataLen" parameter must contain the lenght of data array and recovered data is returned in "data" parameter. Location that holds the length of the decrypted data CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_INVALID, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SIGNATURE_LEN_RANGE, CKR_SIGNATURE_INVALID Continues multi-part digest and encryption operations, processing another data part The session's handle The data part to be digested and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined decryption and digest operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Continues a multi-part combined signature and encryption operation, processing another data part The session's handle The data part to be signed and encrypted Length of data part in bytes If set to null then the length of encrypted data part is returned in "encryptedPartLen" parameter, without actually returning encrypted data part. If not set to null then "encryptedPartLen" parameter must contain the lenght of encryptedPart array and encrypted data part is returned in "encryptedPart" parameter. Location that holds the length in bytes of the encrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Continues a multi-part combined decryption and verification operation, processing another data part The session's handle Encrypted data part Length of the encrypted data part If set to null then the length of decrypted data part is returned in "partLen" parameter, without actually returning decrypted data part. If not set to null then "partLen" parameter must contain the lenght of part array and decrypted data part is returned in "part" parameter. Location that holds the length of the decrypted data part CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DATA_LEN_RANGE, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_ENCRYPTED_DATA_INVALID, CKR_ENCRYPTED_DATA_LEN_RANGE, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_NOT_INITIALIZED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID Generates a secret key or set of domain parameters, creating a new object The session's handle Key generation mechanism The template for the new key or set of domain parameters The number of attributes in the template Location that receives the handle of the new key or set of domain parameters CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Generates a public/private key pair, creating new key objects The session's handle Key generation mechanism The template for the public key The number of attributes in the public-key template The template for the private key The number of attributes in the private-key template Location that receives the handle of the new public key Location that receives the handle of the new private key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Wraps (i.e., encrypts) a private or secret key The session's handle Wrapping mechanism The handle of the wrapping key The handle of the key to be wrapped If set to null then the length of wrapped key is returned in "wrappedKeyLen" parameter, without actually returning wrapped key. If not set to null then "wrappedKeyLen" parameter must contain the lenght of wrappedKey array and wrapped key is returned in "wrappedKey" parameter. Location that receives the length of the wrapped key CKR_ARGUMENTS_BAD, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_NOT_WRAPPABLE, CKR_KEY_SIZE_RANGE, CKR_KEY_UNEXTRACTABLE, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPING_KEY_HANDLE_INVALID, CKR_WRAPPING_KEY_SIZE_RANGE, CKR_WRAPPING_KEY_TYPE_INCONSISTENT Unwraps (i.e. decrypts) a wrapped key, creating a new private key or secret key object The session's handle Unwrapping mechanism The handle of the unwrapping key Wrapped key The length of the wrapped key The template for the new key The number of attributes in the template Location that receives the handle of the unwrapped key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_BUFFER_TOO_SMALL, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_UNWRAPPING_KEY_HANDLE_INVALID, CKR_UNWRAPPING_KEY_SIZE_RANGE, CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, CKR_USER_NOT_LOGGED_IN, CKR_WRAPPED_KEY_INVALID, CKR_WRAPPED_KEY_LEN_RANGE Derives a key from a base key, creating a new key object The session's handle Key derivation mechanism The handle of the base key The template for the new key The number of attributes in the template Location that receives the handle of the derived key CKR_ARGUMENTS_BAD, CKR_ATTRIBUTE_READ_ONLY, CKR_ATTRIBUTE_TYPE_INVALID, CKR_ATTRIBUTE_VALUE_INVALID, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_CURVE_NOT_SUPPORTED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_DOMAIN_PARAMS_INVALID, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_KEY_HANDLE_INVALID, CKR_KEY_SIZE_RANGE, CKR_KEY_TYPE_INCONSISTENT, CKR_MECHANISM_INVALID, CKR_MECHANISM_PARAM_INVALID, CKR_OK, CKR_OPERATION_ACTIVE, CKR_PIN_EXPIRED, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_READ_ONLY, CKR_TEMPLATE_INCOMPLETE, CKR_TEMPLATE_INCONSISTENT, CKR_TOKEN_WRITE_PROTECTED, CKR_USER_NOT_LOGGED_IN Mixes additional seed material into the token's random number generator The session's handle The seed material The length of the seed material CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_SEED_NOT_SUPPORTED, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Generates random or pseudo-random data The session's handle Location that receives the random data The length in bytes of the random or pseudo-random data to be generated CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_DEVICE_ERROR, CKR_DEVICE_MEMORY, CKR_DEVICE_REMOVED, CKR_FUNCTION_CANCELED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_OK, CKR_OPERATION_ACTIVE, CKR_RANDOM_NO_RNG, CKR_SESSION_CLOSED, CKR_SESSION_HANDLE_INVALID, CKR_USER_NOT_LOGGED_IN Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Legacy function which should simply return the value CKR_FUNCTION_NOT_PARALLEL The session's handle CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_FUNCTION_NOT_PARALLEL, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_SESSION_HANDLE_INVALID, CKR_SESSION_CLOSED Waits for a slot event, such as token insertion or token removal, to occur Determines whether or not the C_WaitForSlotEvent call blocks (i.e., waits for a slot event to occur) Location which will receive the ID of the slot that the event occurred in Reserved for future versions (should be null) CKR_ARGUMENTS_BAD, CKR_CRYPTOKI_NOT_INITIALIZED, CKR_FUNCTION_FAILED, CKR_GENERAL_ERROR, CKR_HOST_MEMORY, CKR_NO_EVENT, CKR_OK Disposes object Disposes object Flag indicating whether managed resources should be disposed Class destructor that disposes object if caller forgot to do so Utility class connecting PKCS#11 URI and Pkcs11Interop types Checks whether PKCS#11 library information matches PKCS#11 URI PKCS#11 URI PKCS#11 library information True if PKCS#11 library information matches PKCS#11 URI Checks whether slot information matches PKCS#11 URI PKCS#11 URI Slot information Slot identifier True if slot information matches PKCS#11 URI Checks whether token information matches PKCS#11 URI PKCS#11 URI Token information True if token information matches PKCS#11 URI Checks whether object attributes match PKCS#11 URI PKCS#11 URI Object attributes True if object attributes match PKCS#11 URI Obtains a list of all slots where token that matches PKCS#11 URI is present PKCS#11 URI Low level PKCS#11 wrapper Flag indicating whether the list obtained includes only those slots with a token present (true), or all slots (false) List of slots matching PKCS#11 URI CKR_OK if successful; any other value otherwise Returns list of object attributes defined by PKCS#11 URI PKCS#11 URI List of object attributes defined by PKCS#11 URI