2N/A/* $Revision: 1.10 $ */ 2N/A/* License to copy and use this software is granted provided that it is 2N/A * identified as "RSA Security Inc. PKCS #11 Cryptographic Token Interface 2N/A * (Cryptoki)" in all material mentioning or referencing this software. 2N/A * License is also granted to make and use derivative works provided that 2N/A * such works are identified as "derived from the RSA Security Inc. PKCS #11 2N/A * Cryptographic Token Interface (Cryptoki)" in all material mentioning or 2N/A * referencing the derived work. 2N/A * RSA Security Inc. makes no representations concerning either the 2N/A * merchantability of this software or the suitability of this software for 2N/A * any particular purpose. It is provided "as is" without express or implied 2N/A * warranty of any kind. 2N/A/* See top of pkcs11.h for information about the macros that 2N/A * must be defined and the structure-packing conventions that 2N/A * must be set before including this file. */ 2N/A/* an unsigned 8-bit value */ 2N/A/* an unsigned 8-bit character */ 2N/A/* an 8-bit UTF-8 character */ 2N/A/* a BYTE-sized Boolean flag */ 2N/A/* an unsigned value, at least 32 bits long */ 2N/A/* a signed value, the same size as a CK_ULONG */ 2N/A/* CK_LONG is new for v2.0 */ 2N/A/* at least 32 bits; each bit is a Boolean flag */ 2N/A/* some special values for certain CK_ULONG variables */ 2N/A/* Pointer to a CK_VOID_PTR-- i.e., pointer to pointer to void */ 2N/A/* The following value is always invalid if used as a session */ 2N/A/* handle or object handle */ 2N/A /* manufacturerID and libraryDecription have been changed from 2N/A * CK_CHAR to CK_UTF8CHAR for v2.10 */ 2N/A /* libraryDescription and libraryVersion are new for v2.0 */ 2N/A/* CK_NOTIFICATION enumerates the types of notifications that 2N/A * Cryptoki provides to an application */ 2N/A/* CK_NOTIFICATION has been changed from an enum to a CK_ULONG 2N/A/* The following notification is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_SLOT_INFO provides information about a slot */ 2N/A /* slotDescription and manufacturerID have been changed from 2N/A * CK_CHAR to CK_UTF8CHAR for v2.10 */ 2N/A /* hardwareVersion and firmwareVersion are new for v2.0 */ 2N/A/* flags: bit flags that provide capabilities of the slot 2N/A * Bit Flag Mask Meaning 2N/A/* CK_TOKEN_INFO provides information about a token */ 2N/A /* label, manufacturerID, and model have been changed from 2N/A * CK_CHAR to CK_UTF8CHAR for v2.10 */ 2N/A /* ulMaxSessionCount, ulSessionCount, ulMaxRwSessionCount, 2N/A * ulRwSessionCount, ulMaxPinLen, and ulMinPinLen have all been 2N/A * changed from CK_USHORT to CK_ULONG for v2.0 */ 2N/A /* hardwareVersion, firmwareVersion, and time are new for 2N/A/* The flags parameter is defined as follows: 2N/A * Bit Flag Mask Meaning 2N/A/* CKF_RESTORE_KEY_NOT_NEEDED is new for v2.0. If it is set, 2N/A * that means that *every* time the state of cryptographic 2N/A * operations of a session is successfully saved, all keys 2N/A * needed to continue those operations are stored in the state */ 2N/A/* CKF_CLOCK_ON_TOKEN is new for v2.0. If it is set, that means 2N/A * that the token has some sort of clock. The time on that 2N/A * clock is returned in the token info structure */ 2N/A/* CKF_PROTECTED_AUTHENTICATION_PATH is new for v2.0. If it is 2N/A * set, that means that there is some way for the user to login 2N/A * without sending a PIN through the Cryptoki library itself */ 2N/A/* CKF_DUAL_CRYPTO_OPERATIONS is new for v2.0. If it is true, 2N/A * that means that a single session with the token can perform 2N/A * dual simultaneous cryptographic operations (digest and 2N/A * encrypt; decrypt and digest; sign and encrypt; and decrypt 2N/A/* CKF_TOKEN_INITIALIZED if new for v2.10. If it is true, the 2N/A * token has been initialized using C_InitializeToken or an 2N/A * equivalent mechanism outside the scope of PKCS #11. 2N/A * Calling C_InitializeToken when this flag is set will cause 2N/A * the token to be reinitialized. */ 2N/A/* CKF_SECONDARY_AUTHENTICATION if new for v2.10. If it is 2N/A * true, the token supports secondary authentication for 2N/A * private key objects. This flag is deprecated in v2.11 and 2N/A/* CKF_USER_PIN_COUNT_LOW if new for v2.10. If it is true, an 2N/A * incorrect user login PIN has been entered at least once 2N/A * since the last successful authentication. */ 2N/A/* CKF_USER_PIN_FINAL_TRY if new for v2.10. If it is true, 2N/A * supplying an incorrect user PIN will it to become locked. */ 2N/A/* CKF_USER_PIN_LOCKED if new for v2.10. If it is true, the 2N/A * user PIN has been locked. User login to the token is not 2N/A/* CKF_USER_PIN_TO_BE_CHANGED if new for v2.10. If it is true, 2N/A * the user PIN value is the default value set by token 2N/A * initialization or manufacturing, or the PIN has been 2N/A * expired by the card. */ 2N/A/* CKF_SO_PIN_COUNT_LOW if new for v2.10. If it is true, an 2N/A * incorrect SO login PIN has been entered at least once since 2N/A * the last successful authentication. */ 2N/A/* CKF_SO_PIN_FINAL_TRY if new for v2.10. If it is true, 2N/A * supplying an incorrect SO PIN will it to become locked. */ 2N/A/* CKF_SO_PIN_LOCKED if new for v2.10. If it is true, the SO 2N/A * PIN has been locked. SO login to the token is not possible. 2N/A/* CKF_SO_PIN_TO_BE_CHANGED if new for v2.10. If it is true, 2N/A * the SO PIN value is the default value set by token 2N/A * initialization or manufacturing, or the PIN has been 2N/A * expired by the card. */ 2N/A/* CK_SESSION_HANDLE is a Cryptoki-assigned value that 2N/A * identifies a session */ 2N/A/* CK_USER_TYPE enumerates the types of Cryptoki users */ 2N/A/* CK_USER_TYPE has been changed from an enum to a CK_ULONG for 2N/A/* Security Officer */ 2N/A/* Context specific (added in v2.20) */ 2N/A/* CK_STATE enumerates the session states */ 2N/A/* CK_STATE has been changed from an enum to a CK_ULONG for 2N/A/* CK_SESSION_INFO provides information about a session */ 2N/A /* ulDeviceError was changed from CK_USHORT to CK_ULONG for 2N/A/* The flags are defined in the following table: 2N/A * Bit Flag Mask Meaning 2N/A/* CK_OBJECT_HANDLE is a token-specific identifier for an 2N/A/* CK_OBJECT_CLASS is a value that identifies the classes (or 2N/A * types) of objects that Cryptoki recognizes. It is defined 2N/A/* CK_OBJECT_CLASS was changed from CK_USHORT to CK_ULONG for 2N/A/* The following classes of objects are defined: */ 2N/A/* CKO_HW_FEATURE is new for v2.10 */ 2N/A/* CKO_DOMAIN_PARAMETERS is new for v2.11 */ 2N/A/* CKO_MECHANISM is new for v2.20 */ 2N/A/* CKO_OTP_KEY is new for PKCS #11 v2.20 amendment 1 */ 2N/A/* CK_HW_FEATURE_TYPE is new for v2.10. CK_HW_FEATURE_TYPE is a 2N/A * value that identifies the hardware feature type of an object 2N/A * with CK_OBJECT_CLASS equal to CKO_HW_FEATURE. */ 2N/A/* The following hardware feature types are defined */ 2N/A/* CKH_USER_INTERFACE is new for v2.20 */ 2N/A/* CK_KEY_TYPE is a value that identifies a key type */ 2N/A/* CK_KEY_TYPE was changed from CK_USHORT to CK_ULONG for v2.0 */ 2N/A/* the following key types are defined: */ 2N/A/* CKK_ECDSA and CKK_KEA are new for v2.0 */ 2N/A/* CKK_ECDSA is deprecated in v2.11, CKK_EC is preferred. */ 2N/A/* all these key types are new for v2.0 */ 2N/A/* CKK_CAST5 is deprecated in v2.11, CKK_CAST128 is preferred. */ 2N/A/* BlowFish and TwoFish are new for v2.20 */ 2N/A/* SecurID, HOTP, and ACTI are new for PKCS #11 v2.20 amendment 1 */ 2N/A/* Camellia is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* ARIA is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_CERTIFICATE_TYPE is a value that identifies a certificate 2N/A/* CK_CERTIFICATE_TYPE was changed from CK_USHORT to CK_ULONG 2N/A/* The following certificate types are defined: */ 2N/A/* CKC_X_509_ATTR_CERT is new for v2.10 */ 2N/A/* CKC_WTLS is new for v2.20 */ 2N/A/* CK_ATTRIBUTE_TYPE is a value that identifies an attribute 2N/A/* CK_ATTRIBUTE_TYPE was changed from CK_USHORT to CK_ULONG for 2N/A/* The CKF_ARRAY_ATTRIBUTE flag identifies an attribute which 2N/A consists of an array of values. */ 2N/A/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 2N/A and relates to the CKA_OTP_FORMAT attribute */ 2N/A/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 2N/A and relates to the CKA_OTP_..._REQUIREMENT attributes */ 2N/A/* The following attribute types are defined: */ 2N/A/* CKA_OBJECT_ID is new for v2.10 */ 2N/A/* CKA_AC_ISSUER, CKA_OWNER, and CKA_ATTR_TYPES are new 2N/A/* CKA_TRUSTED is new for v2.11 */ 2N/A/* CKA_CERTIFICATE_CATEGORY ... 2N/A * CKA_CHECK_VALUE are new for v2.20 */ 2N/A/* CKA_PRIME_BITS and CKA_SUB_PRIME_BITS are new for v2.11 */ 2N/A/* (To retain backwards-compatibility) */ 2N/A/* CKA_EXTRACTABLE, CKA_LOCAL, CKA_NEVER_EXTRACTABLE, 2N/A * CKA_ALWAYS_SENSITIVE, CKA_MODIFIABLE, CKA_ECDSA_PARAMS, 2N/A * and CKA_EC_POINT are new for v2.0 */ 2N/A/* CKA_KEY_GEN_MECHANISM is new for v2.11 */ 2N/A/* CKA_ECDSA_PARAMS is deprecated in v2.11, 2N/A * CKA_EC_PARAMS is preferred. */ 2N/A/* CKA_SECONDARY_AUTH, CKA_AUTH_PIN_FLAGS, 2N/A * are new for v2.10. Deprecated in v2.11 and onwards. */ 2N/A/* CKA_ALWAYS_AUTHENTICATE ... 2N/A * CKA_UNWRAP_TEMPLATE are new for v2.20 */ 2N/A/* CKA_OTP... atttributes are new for PKCS #11 v2.20 amendment 3. */ 2N/A/* CKA_HW_FEATURE_TYPE, CKA_RESET_ON_INIT, and CKA_HAS_RESET 2N/A * are new for v2.10 */ 2N/A/* The following attributes are new for v2.20 */ 2N/A/* CK_ATTRIBUTE is a structure that includes the type, length 2N/A * and value of an attribute */ 2N/A /* ulValueLen went from CK_USHORT to CK_ULONG for v2.0 */ 2N/A/* CK_DATE is a structure that defines a date */ 2N/A/* CK_MECHANISM_TYPE is a value that identifies a mechanism 2N/A/* CK_MECHANISM_TYPE was changed from CK_USHORT to CK_ULONG for 2N/A/* the following mechanism types are defined: */ 2N/A/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS 2N/A * are new for v2.0. They are mechanisms which hash and sign */ 2N/A/* CKM_RIPEMD128_RSA_PKCS, CKM_RIPEMD160_RSA_PKCS, and 2N/A * CKM_RSA_PKCS_OAEP are new for v2.10 */ 2N/A/* CKM_RSA_X9_31_KEY_PAIR_GEN, CKM_RSA_X9_31, CKM_SHA1_RSA_X9_31, 2N/A * CKM_RSA_PKCS_PSS, and CKM_SHA1_RSA_PKCS_PSS are new for v2.11 */ 2N/A/* CKM_X9_42_DH_KEY_PAIR_GEN, CKM_X9_42_DH_DERIVE, 2N/A * CKM_X9_42_DH_HYBRID_DERIVE, and CKM_X9_42_MQV_DERIVE are new for 2N/A/* CKM_SHA256/384/512 are new for v2.20 */ 2N/A/* SHA-224 RSA mechanisms are new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */ 2N/A/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */ 2N/A/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN, 2N/A * CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC, 2N/A * CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */ 2N/A/* the following four DES mechanisms are new for v2.20 */ 2N/A/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */ 2N/A/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */ 2N/A/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */ 2N/A/* CKM_RIPEMD128, CKM_RIPEMD128_HMAC, 2N/A * CKM_RIPEMD128_HMAC_GENERAL, CKM_RIPEMD160, CKM_RIPEMD160_HMAC, 2N/A * and CKM_RIPEMD160_HMAC_GENERAL are new for v2.10 */ 2N/A/* CKM_SHA256/384/512 are new for v2.20 */ 2N/A/* SHA-224 is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* SecurID is new for PKCS #11 v2.20 amendment 1 */ 2N/A/* HOTP is new for PKCS #11 v2.20 amendment 1 */ 2N/A/* ACTI is new for PKCS #11 v2.20 amendment 1 */ 2N/A/* All of the following mechanisms are new for v2.0 */ 2N/A/* Note that CAST128 and CAST5 are the same algorithm */ 2N/A/* CKM_SSL3_MASTER_KEY_DERIVE_DH, CKM_TLS_PRE_MASTER_KEY_GEN, 2N/A * CKM_TLS_MASTER_KEY_DERIVE, CKM_TLS_KEY_AND_MAC_DERIVE, and 2N/A * CKM_TLS_MASTER_KEY_DERIVE_DH are new for v2.11 */ 2N/A/* CKM_TLS_PRF is new for v2.20 */ 2N/A/* CKM_SHA256/384/512 are new for v2.20 */ 2N/A/* SHA-224 key derivation is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CKM_PKCS5_PBKD2 is new for v2.10 */ 2N/A/* WTLS mechanisms are new for v2.20 */ 2N/A/* CKM_CMS_SIG is new for v2.20 */ 2N/A/* CKM_KIP mechanisms are new for PKCS #11 v2.20 amendment 2 */ 2N/A/* Camellia is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* ARIA is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* Fortezza mechanisms */ 2N/A/* CKM_ECDSA_KEY_PAIR_GEN is deprecated in v2.11, 2N/A * CKM_EC_KEY_PAIR_GEN is preferred */ 2N/A/* CKM_ECDH1_DERIVE, CKM_ECDH1_COFACTOR_DERIVE, and CKM_ECMQV_DERIVE 2N/A * are new for v2.11 */ 2N/A/* CKM_AES_KEY_GEN, CKM_AES_ECB, CKM_AES_CBC, CKM_AES_MAC, 2N/A * CKM_AES_MAC_GENERAL, CKM_AES_CBC_PAD, CKM_DSA_PARAMETER_GEN, 2N/A * CKM_DH_PKCS_PARAMETER_GEN, and CKM_X9_42_DH_PARAMETER_GEN are 2N/A/* AES counter mode is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* BlowFish and TwoFish are new for v2.20 */ 2N/A/* CKM_xxx_ENCRYPT_DATA mechanisms are new for v2.20 */ 2N/A/* CK_MECHANISM is a structure that specifies a particular 2N/A /* ulParameterLen was changed from CK_USHORT to CK_ULONG for 2N/A/* CK_MECHANISM_INFO provides information about a particular 2N/A/* The flags are defined as follows: 2N/A * Bit Flag Mask Meaning */ 2N/A#
define CKF_HW 0x00000001 /* performed by HW */ 2N/A/* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN, 2N/A * CKG_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER, 2N/A * CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP, 2N/A * and CKF_DERIVE are new for v2.0. They specify whether or not 2N/A * a mechanism can be used for a particular task */ 2N/A/* CKF_EC_F_P, CKF_EC_F_2M, CKF_EC_ECPARAMETERS, CKF_EC_NAMEDCURVE, 2N/A * CKF_EC_UNCOMPRESS, and CKF_EC_COMPRESS are new for v2.11. They 2N/A * describe a token's EC capabilities not available in mechanism 2N/A/* CK_RV is a value that identifies the return value of a 2N/A * Cryptoki function */ 2N/A/* CK_RV was changed from CK_USHORT to CK_ULONG for v2.0 */ 2N/A/* CKR_FLAGS_INVALID was removed for v2.0 */ 2N/A/* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */ 2N/A/* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS, 2N/A * and CKR_CANT_LOCK are new for v2.01 */ 2N/A/* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */ 2N/A/* CKR_KEY_SENSITIVE was removed for v2.0 */ 2N/A/* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED, 2N/A * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED, 2N/A * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for 2N/A/* CKR_OBJECT_CLASS_INCONSISTENT and CKR_OBJECT_CLASS_INVALID 2N/A * were removed for v2.0 */ 2N/A/* CKR_PIN_EXPIRED and CKR_PIN_LOCKED are new for v2.0 */ 2N/A/* CKR_SESSION_READ_ONLY_EXISTS and 2N/A * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */ 2N/A/* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES 2N/A * are new to v2.01 */ 2N/A/* These are new to v2.0 */ 2N/A/* These are new to v2.11 */ 2N/A/* These are new to v2.0 */ 2N/A/* These are new to v2.01 */ 2N/A/* The following return values are new for PKCS #11 v2.20 amendment 3 */ 2N/A/* This is new to v2.20 */ 2N/A/* CK_NOTIFY is an application callback that processes events */ 2N/A/* CK_FUNCTION_LIST is a structure holding a Cryptoki spec 2N/A * version and pointers of appropriate types to all the 2N/A * Cryptoki functions */ 2N/A/* CK_FUNCTION_LIST is new for v2.0 */ 2N/A/* CK_CREATEMUTEX is an application callback for creating a 2N/A/* CK_DESTROYMUTEX is an application callback for destroying a 2N/A/* CK_LOCKMUTEX is an application callback for locking a mutex */ 2N/A/* CK_UNLOCKMUTEX is an application callback for unlocking a 2N/A/* CK_C_INITIALIZE_ARGS provides the optional arguments to 2N/A/* flags: bit flags that provide capabilities of the slot 2N/A * Bit Flag Mask Meaning 2N/A/* additional flags for parameters to functions */ 2N/A/* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */ 2N/A/* CK_RSA_PKCS_OAEP_MGF_TYPE is new for v2.10. 2N/A * CK_RSA_PKCS_OAEP_MGF_TYPE is used to indicate the Message 2N/A * Generation Function (MGF) applied to a message block when 2N/A * formatting a message block for the PKCS #1 OAEP encryption 2N/A/* The following MGFs are defined */ 2N/A/* CKG_MGF1_SHA256, CKG_MGF1_SHA384, and CKG_MGF1_SHA512 2N/A * are new for v2.20 */ 2N/A/* SHA-224 is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_RSA_PKCS_OAEP_SOURCE_TYPE is new for v2.10. 2N/A * CK_RSA_PKCS_OAEP_SOURCE_TYPE is used to indicate the source 2N/A * of the encoding parameter when formatting a message block 2N/A * for the PKCS #1 OAEP encryption scheme. */ 2N/A/* The following encoding parameter sources are defined */ 2N/A/* CK_RSA_PKCS_OAEP_PARAMS is new for v2.10. 2N/A * CK_RSA_PKCS_OAEP_PARAMS provides the parameters to the 2N/A * CKM_RSA_PKCS_OAEP mechanism. */ 2N/A/* CK_RSA_PKCS_PSS_PARAMS is new for v2.11. 2N/A * CK_RSA_PKCS_PSS_PARAMS provides the parameters to the 2N/A * CKM_RSA_PKCS_PSS mechanism(s). */ 2N/A/* CK_EC_KDF_TYPE is new for v2.11. */ 2N/A/* The following EC Key Derivation Functions are defined */ 2N/A/* CK_ECDH1_DERIVE_PARAMS is new for v2.11. 2N/A * CK_ECDH1_DERIVE_PARAMS provides the parameters to the 2N/A * CKM_ECDH1_DERIVE and CKM_ECDH1_COFACTOR_DERIVE mechanisms, 2N/A * where each party contributes one key pair. 2N/A/* CK_ECDH2_DERIVE_PARAMS is new for v2.11. 2N/A * CK_ECDH2_DERIVE_PARAMS provides the parameters to the 2N/A * CKM_ECMQV_DERIVE mechanism, where each party contributes two key pairs. */ 2N/A/* Typedefs and defines for the CKM_X9_42_DH_KEY_PAIR_GEN and the 2N/A * CKM_X9_42_DH_PARAMETER_GEN mechanisms (new for PKCS #11 v2.11) */ 2N/A/* The following X9.42 DH key derivation functions are defined 2N/A (besides CKD_NULL already defined : */ 2N/A/* CK_X9_42_DH1_DERIVE_PARAMS is new for v2.11. 2N/A * CK_X9_42_DH1_DERIVE_PARAMS provides the parameters to the 2N/A * CKM_X9_42_DH_DERIVE key derivation mechanism, where each party 2N/A * contributes one key pair */ 2N/A/* CK_X9_42_DH2_DERIVE_PARAMS is new for v2.11. 2N/A * CK_X9_42_DH2_DERIVE_PARAMS provides the parameters to the 2N/A * CKM_X9_42_DH_HYBRID_DERIVE and CKM_X9_42_MQV_DERIVE key derivation 2N/A * mechanisms, where each party contributes two key pairs */ 2N/A/* CK_KEA_DERIVE_PARAMS provides the parameters to the 2N/A * CKM_KEA_DERIVE mechanism */ 2N/A/* CK_KEA_DERIVE_PARAMS is new for v2.0 */ 2N/A/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and 2N/A * CKM_RC2_MAC mechanisms. An instance of CK_RC2_PARAMS just 2N/A * holds the effective keysize */ 2N/A/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC 2N/A /* ulEffectiveBits was changed from CK_USHORT to CK_ULONG for 2N/A/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the 2N/A * CKM_RC2_MAC_GENERAL mechanism */ 2N/A/* CK_RC2_MAC_GENERAL_PARAMS is new for v2.0 */ 2N/A/* CK_RC5_PARAMS provides the parameters to the CKM_RC5_ECB and 2N/A * CKM_RC5_MAC mechanisms */ 2N/A/* CK_RC5_PARAMS is new for v2.0 */ 2N/A/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC 2N/A/* CK_RC5_CBC_PARAMS is new for v2.0 */ 2N/A/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the 2N/A * CKM_RC5_MAC_GENERAL mechanism */ 2N/A/* CK_RC5_MAC_GENERAL_PARAMS is new for v2.0 */ 2N/A/* CK_MAC_GENERAL_PARAMS provides the parameters to most block 2N/A * ciphers' MAC_GENERAL mechanisms. Its value is the length of 2N/A/* CK_MAC_GENERAL_PARAMS is new for v2.0 */ 2N/A/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the 2N/A * CKM_SKIPJACK_PRIVATE_WRAP mechanism */ 2N/A/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS is new for v2.0 */ 2N/A/* CK_SKIPJACK_RELAYX_PARAMS provides the parameters to the 2N/A * CKM_SKIPJACK_RELAYX mechanism */ 2N/A/* CK_SKIPJACK_RELAYX_PARAMS is new for v2.0 */ 2N/A/* CK_KEY_WRAP_SET_OAEP_PARAMS provides the parameters to the 2N/A * CKM_KEY_WRAP_SET_OAEP mechanism */ 2N/A/* CK_KEY_WRAP_SET_OAEP_PARAMS is new for v2.0 */ 2N/A/* CK_TLS_PRF_PARAMS is new for version 2.20 */ 2N/A/* WTLS is new for version 2.20 */ 2N/A/* CMS is new for version 2.20 */ 2N/A/* The CK_EXTRACT_PARAMS is used for the 2N/A * CKM_EXTRACT_KEY_FROM_KEY mechanism. It specifies which bit 2N/A * of the base key should be used as the first bit of the 2N/A/* CK_EXTRACT_PARAMS is new for v2.0 */ 2N/A/* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is new for v2.10. 2N/A * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is used to 2N/A * indicate the Pseudo-Random Function (PRF) used to generate 2N/A * key bits using PKCS #5 PBKDF2. */ 2N/A/* The following PRFs are defined in PKCS #5 v2.0. */ 2N/A/* CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is new for v2.10. 2N/A * CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is used to indicate the 2N/A * source of the salt value when deriving a key using PKCS #5 2N/A/* The following salt value sources are defined in PKCS #5 v2.0. */ 2N/A/* CK_PKCS5_PBKD2_PARAMS is new for v2.10. 2N/A * CK_PKCS5_PBKD2_PARAMS is a structure that provides the 2N/A * parameters to the CKM_PKCS5_PBKD2 mechanism. */ 2N/A/* All CK_OTP structs are new for PKCS #11 v2.20 amendment 3 */ 2N/A/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 */ 2N/A/* The following OTP-related defines are new for PKCS #11 v2.20 amendment 1 */ 2N/A/* CK_KIP_PARAMS is new for PKCS #11 v2.20 amendment 2 */ 2N/A/* CK_AES_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_CAMELLIA_CTR_PARAMS is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_CAMELLIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */ 2N/A/* CK_ARIA_CBC_ENCRYPT_DATA_PARAMS is new for PKCS #11 v2.20 amendment 3 */