pkcs11t.h
来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C头文件 代码 · 共 1,116 行 · 第 1/3 页
H
1,116 行
#define CKR_SESSION_PARALLEL_NOT_SUPPORTED 0x000000B4#define CKR_SESSION_READ_ONLY 0x000000B5#define CKR_SESSION_EXISTS 0x000000B6/* CKR_SESSION_READ_ONLY_EXISTS and * CKR_SESSION_READ_WRITE_SO_EXISTS are new for v2.0 */#define CKR_SESSION_READ_ONLY_EXISTS 0x000000B7#define CKR_SESSION_READ_WRITE_SO_EXISTS 0x000000B8#define CKR_SIGNATURE_INVALID 0x000000C0#define CKR_SIGNATURE_LEN_RANGE 0x000000C1#define CKR_TEMPLATE_INCOMPLETE 0x000000D0#define CKR_TEMPLATE_INCONSISTENT 0x000000D1#define CKR_TOKEN_NOT_PRESENT 0x000000E0#define CKR_TOKEN_NOT_RECOGNIZED 0x000000E1#define CKR_TOKEN_WRITE_PROTECTED 0x000000E2#define CKR_UNWRAPPING_KEY_HANDLE_INVALID 0x000000F0#define CKR_UNWRAPPING_KEY_SIZE_RANGE 0x000000F1#define CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT 0x000000F2#define CKR_USER_ALREADY_LOGGED_IN 0x00000100#define CKR_USER_NOT_LOGGED_IN 0x00000101#define CKR_USER_PIN_NOT_INITIALIZED 0x00000102#define CKR_USER_TYPE_INVALID 0x00000103/* CKR_USER_ANOTHER_ALREADY_LOGGED_IN and CKR_USER_TOO_MANY_TYPES * are new to v2.01 */#define CKR_USER_ANOTHER_ALREADY_LOGGED_IN 0x00000104#define CKR_USER_TOO_MANY_TYPES 0x00000105#define CKR_WRAPPED_KEY_INVALID 0x00000110#define CKR_WRAPPED_KEY_LEN_RANGE 0x00000112#define CKR_WRAPPING_KEY_HANDLE_INVALID 0x00000113#define CKR_WRAPPING_KEY_SIZE_RANGE 0x00000114#define CKR_WRAPPING_KEY_TYPE_INCONSISTENT 0x00000115#define CKR_RANDOM_SEED_NOT_SUPPORTED 0x00000120/* These are new to v2.0 */#define CKR_RANDOM_NO_RNG 0x00000121#define CKR_BUFFER_TOO_SMALL 0x00000150#define CKR_SAVED_STATE_INVALID 0x00000160#define CKR_INFORMATION_SENSITIVE 0x00000170#define CKR_STATE_UNSAVEABLE 0x00000180/* These are new to v2.01 */#define CKR_CRYPTOKI_NOT_INITIALIZED 0x00000190#define CKR_CRYPTOKI_ALREADY_INITIALIZED 0x00000191#define CKR_MUTEX_BAD 0x000001A0#define CKR_MUTEX_NOT_LOCKED 0x000001A1#define CKR_VENDOR_DEFINED 0x80000000/* CK_NOTIFY is an application callback that processes events */typedef CK_CALLBACK_FUNCTION(CK_RV, CK_NOTIFY)( CK_SESSION_HANDLE hSession, /* the session's handle */ CK_NOTIFICATION event, CK_VOID_PTR pApplication /* passed to C_OpenSession */);/* CK_FUNCTION_LIST is a structure holding a PKCS #11 spec * version and pointers of appropriate types to all the * PKCS #11 functions *//* CK_FUNCTION_LIST is new for v2.0 */typedef struct CK_FUNCTION_LIST CK_FUNCTION_LIST;typedef CK_FUNCTION_LIST CK_PTR CK_FUNCTION_LIST_PTR;typedef CK_FUNCTION_LIST_PTR CK_PTR CK_FUNCTION_LIST_PTR_PTR;/* CK_CREATEMUTEX is an application callback for creating a * mutex object */typedef CK_CALLBACK_FUNCTION(CK_RV, CK_CREATEMUTEX)( CK_VOID_PTR_PTR ppMutex /* location to receive ptr to mutex */);/* CK_DESTROYMUTEX is an application callback for destroying a * mutex object */typedef CK_CALLBACK_FUNCTION(CK_RV, CK_DESTROYMUTEX)( CK_VOID_PTR pMutex /* pointer to mutex */);/* CK_LOCKMUTEX is an application callback for locking a mutex */typedef CK_CALLBACK_FUNCTION(CK_RV, CK_LOCKMUTEX)( CK_VOID_PTR pMutex /* pointer to mutex */);/* CK_UNLOCKMUTEX is an application callback for unlocking a * mutex */typedef CK_CALLBACK_FUNCTION(CK_RV, CK_UNLOCKMUTEX)( CK_VOID_PTR pMutex /* pointer to mutex */);/* CK_C_INITIALIZE_ARGS provides the optional arguments to * C_Initialize */typedef struct CK_C_INITIALIZE_ARGS { CK_CREATEMUTEX CreateMutex; CK_DESTROYMUTEX DestroyMutex; CK_LOCKMUTEX LockMutex; CK_UNLOCKMUTEX UnlockMutex; CK_FLAGS flags; CK_VOID_PTR pReserved;} CK_C_INITIALIZE_ARGS;/* flags: bit flags that provide capabilities of the slot * Bit Flag Mask Meaning */#define CKF_LIBRARY_CANT_CREATE_OS_THREADS 0x00000001#define CKF_OS_LOCKING_OK 0x00000002typedef CK_C_INITIALIZE_ARGS CK_PTR CK_C_INITIALIZE_ARGS_PTR;/* additional flags for parameters to functions *//* CKF_DONT_BLOCK is for the function C_WaitForSlotEvent */#define CKF_DONT_BLOCK 1/* CK_KEA_DERIVE_PARAMS provides the parameters to the * CKM_KEA_DERIVE mechanism *//* CK_KEA_DERIVE_PARAMS is new for v2.0 */typedef struct CK_KEA_DERIVE_PARAMS { CK_BBOOL isSender; CK_ULONG ulRandomLen; CK_BYTE_PTR pRandomA; CK_BYTE_PTR pRandomB; CK_ULONG ulPublicDataLen; CK_BYTE_PTR pPublicData;} CK_KEA_DERIVE_PARAMS;typedef CK_KEA_DERIVE_PARAMS CK_PTR CK_KEA_DERIVE_PARAMS_PTR;/* CK_RC2_PARAMS provides the parameters to the CKM_RC2_ECB and * CKM_RC2_MAC mechanisms. An instance of CK_RC2_PARAMS just * holds the effective keysize */typedef CK_ULONG CK_RC2_PARAMS;typedef CK_RC2_PARAMS CK_PTR CK_RC2_PARAMS_PTR;/* CK_RC2_CBC_PARAMS provides the parameters to the CKM_RC2_CBC * mechanism */typedef struct CK_RC2_CBC_PARAMS { /* ulEffectiveBits was changed from CK_USHORT to CK_ULONG for * v2.0 */ CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ CK_BYTE iv[8]; /* IV for CBC mode */} CK_RC2_CBC_PARAMS;typedef CK_RC2_CBC_PARAMS CK_PTR CK_RC2_CBC_PARAMS_PTR;/* CK_RC2_MAC_GENERAL_PARAMS provides the parameters for the * CKM_RC2_MAC_GENERAL mechanism *//* CK_RC2_MAC_GENERAL_PARAMS is new for v2.0 */typedef struct CK_RC2_MAC_GENERAL_PARAMS { CK_ULONG ulEffectiveBits; /* effective bits (1-1024) */ CK_ULONG ulMacLength; /* Length of MAC in bytes */} CK_RC2_MAC_GENERAL_PARAMS;typedef CK_RC2_MAC_GENERAL_PARAMS CK_PTR \ CK_RC2_MAC_GENERAL_PARAMS_PTR;/* CK_RC5_PARAMS provides the parameters to the CKM_RC5_ECB and * CKM_RC5_MAC mechanisms *//* CK_RC5_PARAMS is new for v2.0 */typedef struct CK_RC5_PARAMS { CK_ULONG ulWordsize; /* wordsize in bits */ CK_ULONG ulRounds; /* number of rounds */} CK_RC5_PARAMS;typedef CK_RC5_PARAMS CK_PTR CK_RC5_PARAMS_PTR;/* CK_RC5_CBC_PARAMS provides the parameters to the CKM_RC5_CBC * mechanism *//* CK_RC5_CBC_PARAMS is new for v2.0 */typedef struct CK_RC5_CBC_PARAMS { CK_ULONG ulWordsize; /* wordsize in bits */ CK_ULONG ulRounds; /* number of rounds */ CK_BYTE_PTR pIv; /* pointer to IV */ CK_ULONG ulIvLen; /* length of IV in bytes */} CK_RC5_CBC_PARAMS;typedef CK_RC5_CBC_PARAMS CK_PTR CK_RC5_CBC_PARAMS_PTR;/* CK_RC5_MAC_GENERAL_PARAMS provides the parameters for the * CKM_RC5_MAC_GENERAL mechanism *//* CK_RC5_MAC_GENERAL_PARAMS is new for v2.0 */typedef struct CK_RC5_MAC_GENERAL_PARAMS { CK_ULONG ulWordsize; /* wordsize in bits */ CK_ULONG ulRounds; /* number of rounds */ CK_ULONG ulMacLength; /* Length of MAC in bytes */} CK_RC5_MAC_GENERAL_PARAMS;typedef CK_RC5_MAC_GENERAL_PARAMS CK_PTR \ CK_RC5_MAC_GENERAL_PARAMS_PTR;/* CK_MAC_GENERAL_PARAMS provides the parameters to most block * ciphers' MAC_GENERAL mechanisms. Its value is the length of * the MAC *//* CK_MAC_GENERAL_PARAMS is new for v2.0 */typedef CK_ULONG CK_MAC_GENERAL_PARAMS;typedef CK_MAC_GENERAL_PARAMS CK_PTR CK_MAC_GENERAL_PARAMS_PTR;/* CK_SKIPJACK_PRIVATE_WRAP_PARAMS provides the parameters to the * CKM_SKIPJACK_PRIVATE_WRAP mechanism *//* CK_SKIPJACK_PRIVATE_WRAP_PARAMS is new for v2.0 */typedef struct CK_SKIPJACK_PRIVATE_WRAP_PARAMS { CK_ULONG ulPasswordLen; CK_BYTE_PTR pPassword; CK_ULONG ulPublicDataLen; CK_BYTE_PTR pPublicData; CK_ULONG ulPAndGLen; CK_ULONG ulQLen; CK_ULONG ulRandomLen; CK_BYTE_PTR pRandomA; CK_BYTE_PTR pPrimeP; CK_BYTE_PTR pBaseG; CK_BYTE_PTR pSubprimeQ;} CK_SKIPJACK_PRIVATE_WRAP_PARAMS;typedef CK_SKIPJACK_PRIVATE_WRAP_PARAMS CK_PTR \ CK_SKIPJACK_PRIVATE_WRAP_PTR;/* CK_SKIPJACK_RELAYX_PARAMS provides the parameters to the * CKM_SKIPJACK_RELAYX mechanism *//* CK_SKIPJACK_RELAYX_PARAMS is new for v2.0 */typedef struct CK_SKIPJACK_RELAYX_PARAMS { CK_ULONG ulOldWrappedXLen; CK_BYTE_PTR pOldWrappedX; CK_ULONG ulOldPasswordLen; CK_BYTE_PTR pOldPassword; CK_ULONG ulOldPublicDataLen; CK_BYTE_PTR pOldPublicData; CK_ULONG ulOldRandomLen; CK_BYTE_PTR pOldRandomA; CK_ULONG ulNewPasswordLen; CK_BYTE_PTR pNewPassword; CK_ULONG ulNewPublicDataLen; CK_BYTE_PTR pNewPublicData; CK_ULONG ulNewRandomLen; CK_BYTE_PTR pNewRandomA;} CK_SKIPJACK_RELAYX_PARAMS;typedef CK_SKIPJACK_RELAYX_PARAMS CK_PTR \ CK_SKIPJACK_RELAYX_PARAMS_PTR;typedef struct CK_PBE_PARAMS { CK_CHAR_PTR pInitVector; CK_CHAR_PTR pPassword; CK_ULONG ulPasswordLen; CK_CHAR_PTR pSalt; CK_ULONG ulSaltLen; CK_ULONG ulIteration;} CK_PBE_PARAMS;typedef CK_PBE_PARAMS CK_PTR CK_PBE_PARAMS_PTR;/* CK_KEY_WRAP_SET_OAEP_PARAMS provides the parameters to the * CKM_KEY_WRAP_SET_OAEP mechanism *//* CK_KEY_WRAP_SET_OAEP_PARAMS is new for v2.0 */typedef struct CK_KEY_WRAP_SET_OAEP_PARAMS { CK_BYTE bBC; /* block contents byte */ CK_BYTE_PTR pX; /* extra data */ CK_ULONG ulXLen; /* length of extra data in bytes */} CK_KEY_WRAP_SET_OAEP_PARAMS;typedef CK_KEY_WRAP_SET_OAEP_PARAMS CK_PTR \ CK_KEY_WRAP_SET_OAEP_PARAMS_PTR;typedef struct CK_SSL3_RANDOM_DATA { CK_BYTE_PTR pClientRandom; CK_ULONG ulClientRandomLen; CK_BYTE_PTR pServerRandom; CK_ULONG ulServerRandomLen;} CK_SSL3_RANDOM_DATA;typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS { CK_SSL3_RANDOM_DATA RandomInfo; CK_VERSION_PTR pVersion;} CK_SSL3_MASTER_KEY_DERIVE_PARAMS;typedef struct CK_SSL3_MASTER_KEY_DERIVE_PARAMS CK_PTR \ CK_SSL3_MASTER_KEY_DERIVE_PARAMS_PTR;typedef struct CK_SSL3_KEY_MAT_OUT { CK_OBJECT_HANDLE hClientMacSecret; CK_OBJECT_HANDLE hServerMacSecret; CK_OBJECT_HANDLE hClientKey; CK_OBJECT_HANDLE hServerKey; CK_BYTE_PTR pIVClient; CK_BYTE_PTR pIVServer;} CK_SSL3_KEY_MAT_OUT;typedef CK_SSL3_KEY_MAT_OUT CK_PTR CK_SSL3_KEY_MAT_OUT_PTR;typedef struct CK_SSL3_KEY_MAT_PARAMS { CK_ULONG ulMacSizeInBits; CK_ULONG ulKeySizeInBits; CK_ULONG ulIVSizeInBits; CK_BBOOL bIsExport; CK_SSL3_RANDOM_DATA RandomInfo; CK_SSL3_KEY_MAT_OUT_PTR pReturnedKeyMaterial;} CK_SSL3_KEY_MAT_PARAMS;typedef CK_SSL3_KEY_MAT_PARAMS CK_PTR CK_SSL3_KEY_MAT_PARAMS_PTR;typedef struct CK_KEY_DERIVATION_STRING_DATA { CK_BYTE_PTR pData; CK_ULONG ulLen;} CK_KEY_DERIVATION_STRING_DATA;typedef CK_KEY_DERIVATION_STRING_DATA CK_PTR \ CK_KEY_DERIVATION_STRING_DATA_PTR;/* The CK_EXTRACT_PARAMS is used for the * CKM_EXTRACT_KEY_FROM_KEY mechanism. It specifies which bit * of the base key should be used as the first bit of the * derived key *//* CK_EXTRACT_PARAMS is new for v2.0 */typedef CK_ULONG CK_EXTRACT_PARAMS;typedef CK_EXTRACT_PARAMS CK_PTR CK_EXTRACT_PARAMS_PTR;/* Do not attempt to use these. They are only used by NETSCAPE's internal * PKCS #11 interface. Most of these are place holders for other mechanism * and will change in the future. */#define CKM_NETSCAPE_PBE_KEY_GEN 0x80000001L#define CKM_NETSCAPE_PBE_SHA1_DES_CBC 0x80000002L#define CKM_NETSCAPE_PBE_SHA1_TRIPLE_DES_CBC 0x80000003L#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC2_CBC 0x80000004L#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC2_CBC 0x80000005L#define CKM_NETSCAPE_PBE_SHA1_40_BIT_RC4 0x80000006L#define CKM_NETSCAPE_PBE_SHA1_128_BIT_RC4 0x80000007L#define CKM_NETSCAPE_PBE_SHA1_FAULTY_3DES_CBC 0x80000008L#define CKM_TLS_MASTER_KEY_DERIVE 0x80000371L#define CKM_TLS_KEY_AND_MAC_DERIVE 0x80000372L#define CKM_TLS_PRF_GENERAL 0x80000373L/* define used to pass in the database key for DSA private keys */#define CKA_NETSCAPE_DB 0xD5A0DB00L#define CKA_NETSCAPE_TRUST 0x80000001L/* undo packing */#include "pkcs11u.h"#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?