⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkcs11t.h

📁 windows操作系统下CSP的实现源代码,此代码实现加密解密及签名认证功能
💻 H
📖 第 1 页 / 共 4 页
字号:
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_RSA_PKCS_OAEP_MGF_TYPE is new for v2.10.  * CK_RSA_PKCS_OAEP_MGF_TYPE  is used to indicate the Message  * Generation Function (MGF) applied to a message block when  * formatting a message block for the PKCS #1 OAEP encryption  * scheme. */typedef CK_ULONG CK_RSA_PKCS_MGF_TYPE;typedef CK_RSA_PKCS_MGF_TYPE CK_PTR CK_RSA_PKCS_MGF_TYPE_PTR;/* The following MGFs are defined */#define CKG_MGF1_SHA1         0x00000001/* CK_RSA_PKCS_OAEP_SOURCE_TYPE is new for v2.10.  * CK_RSA_PKCS_OAEP_SOURCE_TYPE  is used to indicate the source * of the encoding parameter when formatting a message block  * for the PKCS #1 OAEP encryption scheme. */typedef CK_ULONG CK_RSA_PKCS_OAEP_SOURCE_TYPE;typedef CK_RSA_PKCS_OAEP_SOURCE_TYPE CK_PTR CK_RSA_PKCS_OAEP_SOURCE_TYPE_PTR;/* The following encoding parameter sources are defined */#define CKZ_DATA_SPECIFIED    0x00000001/* CK_RSA_PKCS_OAEP_PARAMS is new for v2.10. * CK_RSA_PKCS_OAEP_PARAMS provides the parameters to the  * CKM_RSA_PKCS_OAEP mechanism. */typedef struct CK_RSA_PKCS_OAEP_PARAMS {	CK_MECHANISM_TYPE hashAlg;	CK_RSA_PKCS_MGF_TYPE mgf;	CK_RSA_PKCS_OAEP_SOURCE_TYPE source;	CK_VOID_PTR pSourceData;	CK_ULONG ulSourceDataLen;} CK_RSA_PKCS_OAEP_PARAMS;typedef CK_RSA_PKCS_OAEP_PARAMS CK_PTR CK_RSA_PKCS_OAEP_PARAMS_PTR;/* CK_RSA_PKCS_PSS_PARAMS is new for v2.11. * CK_RSA_PKCS_PSS_PARAMS provides the parameters to the * CKM_RSA_PKCS_PSS mechanism(s). */typedef struct CK_RSA_PKCS_PSS_PARAMS {	CK_MECHANISM_TYPE    hashAlg;	CK_RSA_PKCS_MGF_TYPE mgf;	CK_ULONG             sLen;} CK_RSA_PKCS_PSS_PARAMS;/* 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_BYTE_PTR      pInitVector;  CK_UTF8CHAR_PTR  pPassword;  CK_ULONG         ulPasswordLen;  CK_BYTE_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;/* CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is new for v2.10. * CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE is used to  * indicate the Pseudo-Random Function (PRF) used to generate  * key bits using PKCS #5 PBKDF2. */typedef CK_ULONG CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE;typedef CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE CK_PTR CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE_PTR;/* The following PRFs are defined in PKCS #5 v2.0. */#define CKP_PKCS5_PBKD2_HMAC_SHA1 0x00000001/* CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is new for v2.10. * CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE is used to indicate the  * source of the salt value when deriving a key using PKCS #5  * PBKDF2. */typedef CK_ULONG CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE;typedef CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE CK_PTR CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE_PTR;/* The following salt value sources are defined in PKCS #5 v2.0. */#define CKZ_SALT_SPECIFIED        0x00000001/* CK_PKCS5_PBKD2_PARAMS is new for v2.10. * CK_PKCS5_PBKD2_PARAMS is a structure that provides the  * parameters to the CKM_PKCS5_PBKD2 mechanism. */typedef struct CK_PKCS5_PBKD2_PARAMS {	CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE           saltSource;	CK_VOID_PTR                                pSaltSourceData;	CK_ULONG                                   ulSaltSourceDataLen;	CK_ULONG                                   iterations;	CK_PKCS5_PBKD2_PSEUDO_RANDOM_FUNCTION_TYPE prf;	CK_VOID_PTR                                pPrfData;	CK_ULONG                                   ulPrfDataLen;	CK_UTF8CHAR_PTR                            pPassword;	CK_ULONG_PTR                               ulPasswordLen;} CK_PKCS5_PBKD2_PARAMS;typedef CK_PKCS5_PBKD2_PARAMS CK_PTR CK_PKCS5_PBKD2_PARAMS_PTR;#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -