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 + -
显示快捷键?