nssckt.h

来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· C头文件 代码 · 共 1,124 行 · 第 1/3 页

H
1,124
字号
typedef CK_ULONG          CK_ATTRIBUTE_TYPE;typedef CK_ATTRIBUTE_TYPE CK_PTR CK_ATTRIBUTE_TYPE_PTR;/* The following attribute types are defined: */#define CKA_CLASS              0x00000000#define CKA_TOKEN              0x00000001#define CKA_PRIVATE            0x00000002#define CKA_LABEL              0x00000003#define CKA_APPLICATION        0x00000010#define CKA_VALUE              0x00000011#define CKA_CERTIFICATE_TYPE   0x00000080#define CKA_ISSUER             0x00000081#define CKA_SERIAL_NUMBER      0x00000082#define CKA_KEY_TYPE           0x00000100#define CKA_SUBJECT            0x00000101#define CKA_ID                 0x00000102#define CKA_SENSITIVE          0x00000103#define CKA_ENCRYPT            0x00000104#define CKA_DECRYPT            0x00000105#define CKA_WRAP               0x00000106#define CKA_UNWRAP             0x00000107#define CKA_SIGN               0x00000108#define CKA_SIGN_RECOVER       0x00000109#define CKA_VERIFY             0x0000010A#define CKA_VERIFY_RECOVER     0x0000010B#define CKA_DERIVE             0x0000010C#define CKA_START_DATE         0x00000110#define CKA_END_DATE           0x00000111#define CKA_MODULUS            0x00000120#define CKA_MODULUS_BITS       0x00000121#define CKA_PUBLIC_EXPONENT    0x00000122#define CKA_PRIVATE_EXPONENT   0x00000123#define CKA_PRIME_1            0x00000124#define CKA_PRIME_2            0x00000125#define CKA_EXPONENT_1         0x00000126#define CKA_EXPONENT_2         0x00000127#define CKA_COEFFICIENT        0x00000128#define CKA_PRIME              0x00000130#define CKA_SUBPRIME           0x00000131#define CKA_BASE               0x00000132#define CKA_VALUE_BITS         0x00000160#define CKA_VALUE_LEN          0x00000161/* CKA_EXTRACTABLE, CKA_LOCAL, CKA_NEVER_EXTRACTABLE, * CKA_ALWAYS_SENSITIVE, and CKA_MODIFIABLE are new for v2.0 */#define CKA_EXTRACTABLE        0x00000162#define CKA_LOCAL              0x00000163#define CKA_NEVER_EXTRACTABLE  0x00000164#define CKA_ALWAYS_SENSITIVE   0x00000165#define CKA_MODIFIABLE         0x00000170#define CKA_VENDOR_DEFINED     0x80000000/* CK_ATTRIBUTE is a structure that includes the type, length * and value of an attribute */typedef struct CK_ATTRIBUTE {  CK_ATTRIBUTE_TYPE type;  CK_VOID_PTR       pValue;  /* ulValueLen went from CK_USHORT to CK_ULONG for v2.0 */  CK_ULONG          ulValueLen;  /* in bytes */} CK_ATTRIBUTE;typedef CK_ATTRIBUTE CK_PTR CK_ATTRIBUTE_PTR;/* CK_DATE is a structure that defines a date */typedef struct CK_DATE{  CK_CHAR       year[4];   /* the year ("1900" - "9999") */  CK_CHAR       month[2];  /* the month ("01" - "12") */  CK_CHAR       day[2];    /* the day   ("01" - "31") */} CK_DATE;/* CK_MECHANISM_TYPE is a value that identifies a mechanism * type *//* CK_MECHANISM_TYPE was changed from CK_USHORT to CK_ULONG for * v2.0 */typedef CK_ULONG          CK_MECHANISM_TYPE;/* the following mechanism types are defined: */#define CKM_RSA_PKCS_KEY_PAIR_GEN      0x00000000#define CKM_RSA_PKCS                   0x00000001#define CKM_RSA_9796                   0x00000002#define CKM_RSA_X_509                  0x00000003/* CKM_MD2_RSA_PKCS, CKM_MD5_RSA_PKCS, and CKM_SHA1_RSA_PKCS * are new for v2.0.  They are mechanisms which hash and sign */#define CKM_MD2_RSA_PKCS               0x00000004#define CKM_MD5_RSA_PKCS               0x00000005#define CKM_SHA1_RSA_PKCS              0x00000006#define CKM_DSA_KEY_PAIR_GEN           0x00000010#define CKM_DSA                        0x00000011#define CKM_DSA_SHA1                   0x00000012#define CKM_DH_PKCS_KEY_PAIR_GEN       0x00000020#define CKM_DH_PKCS_DERIVE             0x00000021#define CKM_RC2_KEY_GEN                0x00000100#define CKM_RC2_ECB                    0x00000101#define CKM_RC2_CBC                    0x00000102#define CKM_RC2_MAC                    0x00000103/* CKM_RC2_MAC_GENERAL and CKM_RC2_CBC_PAD are new for v2.0 */#define CKM_RC2_MAC_GENERAL            0x00000104#define CKM_RC2_CBC_PAD                0x00000105#define CKM_RC4_KEY_GEN                0x00000110#define CKM_RC4                        0x00000111#define CKM_DES_KEY_GEN                0x00000120#define CKM_DES_ECB                    0x00000121#define CKM_DES_CBC                    0x00000122#define CKM_DES_MAC                    0x00000123/* CKM_DES_MAC_GENERAL and CKM_DES_CBC_PAD are new for v2.0 */#define CKM_DES_MAC_GENERAL            0x00000124#define CKM_DES_CBC_PAD                0x00000125#define CKM_DES2_KEY_GEN               0x00000130#define CKM_DES3_KEY_GEN               0x00000131#define CKM_DES3_ECB                   0x00000132#define CKM_DES3_CBC                   0x00000133#define CKM_DES3_MAC                   0x00000134/* CKM_DES3_MAC_GENERAL, CKM_DES3_CBC_PAD, CKM_CDMF_KEY_GEN, * CKM_CDMF_ECB, CKM_CDMF_CBC, CKM_CDMF_MAC, * CKM_CDMF_MAC_GENERAL, and CKM_CDMF_CBC_PAD are new for v2.0 */#define CKM_DES3_MAC_GENERAL           0x00000135#define CKM_DES3_CBC_PAD               0x00000136#define CKM_CDMF_KEY_GEN               0x00000140#define CKM_CDMF_ECB                   0x00000141#define CKM_CDMF_CBC                   0x00000142#define CKM_CDMF_MAC                   0x00000143#define CKM_CDMF_MAC_GENERAL           0x00000144#define CKM_CDMF_CBC_PAD               0x00000145#define CKM_MD2                        0x00000200/* CKM_MD2_HMAC and CKM_MD2_HMAC_GENERAL are new for v2.0 */#define CKM_MD2_HMAC                   0x00000201#define CKM_MD2_HMAC_GENERAL           0x00000202#define CKM_MD5                        0x00000210/* CKM_MD5_HMAC and CKM_MD5_HMAC_GENERAL are new for v2.0 */#define CKM_MD5_HMAC                   0x00000211#define CKM_MD5_HMAC_GENERAL           0x00000212#define CKM_SHA_1                      0x00000220/* CKM_SHA_1_HMAC and CKM_SHA_1_HMAC_GENERAL are new for v2.0 */#define CKM_SHA_1_HMAC                 0x00000221#define CKM_SHA_1_HMAC_GENERAL         0x00000222/* All of the following mechanisms are new for v2.0 *//* Note that CAST128 and CAST5 are the same algorithm */#define CKM_CAST_KEY_GEN               0x00000300#define CKM_CAST_ECB                   0x00000301#define CKM_CAST_CBC                   0x00000302#define CKM_CAST_MAC                   0x00000303#define CKM_CAST_MAC_GENERAL           0x00000304#define CKM_CAST_CBC_PAD               0x00000305#define CKM_CAST3_KEY_GEN              0x00000310#define CKM_CAST3_ECB                  0x00000311#define CKM_CAST3_CBC                  0x00000312#define CKM_CAST3_MAC                  0x00000313#define CKM_CAST3_MAC_GENERAL          0x00000314#define CKM_CAST3_CBC_PAD              0x00000315#define CKM_CAST5_KEY_GEN              0x00000320#define CKM_CAST128_KEY_GEN            0x00000320#define CKM_CAST5_ECB                  0x00000321#define CKM_CAST128_ECB                0x00000321#define CKM_CAST5_CBC                  0x00000322#define CKM_CAST128_CBC                0x00000322#define CKM_CAST5_MAC                  0x00000323#define CKM_CAST128_MAC                0x00000323#define CKM_CAST5_MAC_GENERAL          0x00000324#define CKM_CAST128_MAC_GENERAL        0x00000324#define CKM_CAST5_CBC_PAD              0x00000325#define CKM_CAST128_CBC_PAD            0x00000325#define CKM_RC5_KEY_GEN                0x00000330#define CKM_RC5_ECB                    0x00000331#define CKM_RC5_CBC                    0x00000332#define CKM_RC5_MAC                    0x00000333#define CKM_RC5_MAC_GENERAL            0x00000334#define CKM_RC5_CBC_PAD                0x00000335#define CKM_IDEA_KEY_GEN               0x00000340#define CKM_IDEA_ECB                   0x00000341#define CKM_IDEA_CBC                   0x00000342#define CKM_IDEA_MAC                   0x00000343#define CKM_IDEA_MAC_GENERAL           0x00000344#define CKM_IDEA_CBC_PAD               0x00000345#define CKM_GENERIC_SECRET_KEY_GEN     0x00000350#define CKM_CONCATENATE_BASE_AND_KEY   0x00000360#define CKM_CONCATENATE_BASE_AND_DATA  0x00000362#define CKM_CONCATENATE_DATA_AND_BASE  0x00000363#define CKM_XOR_BASE_AND_DATA          0x00000364#define CKM_EXTRACT_KEY_FROM_KEY       0x00000365#define CKM_SSL3_PRE_MASTER_KEY_GEN    0x00000370#define CKM_SSL3_MASTER_KEY_DERIVE     0x00000371#define CKM_SSL3_KEY_AND_MAC_DERIVE    0x00000372#define CKM_SSL3_MD5_MAC               0x00000380#define CKM_SSL3_SHA1_MAC              0x00000381#define CKM_MD5_KEY_DERIVATION         0x00000390#define CKM_MD2_KEY_DERIVATION         0x00000391#define CKM_SHA1_KEY_DERIVATION        0x00000392#define CKM_PBE_MD2_DES_CBC            0x000003A0#define CKM_PBE_MD5_DES_CBC            0x000003A1#define CKM_PBE_MD5_CAST_CBC           0x000003A2#define CKM_PBE_MD5_CAST3_CBC          0x000003A3#define CKM_PBE_MD5_CAST5_CBC          0x000003A4#define CKM_PBE_MD5_CAST128_CBC        0x000003A4#define CKM_PBE_SHA1_CAST5_CBC         0x000003A5#define CKM_PBE_SHA1_CAST128_CBC       0x000003A5#define CKM_PBE_SHA1_RC4_128           0x000003A6#define CKM_PBE_SHA1_RC4_40            0x000003A7#define CKM_PBE_SHA1_DES3_EDE_CBC      0x000003A8#define CKM_PBE_SHA1_DES2_EDE_CBC      0x000003A9#define CKM_PBE_SHA1_RC2_128_CBC       0x000003AA#define CKM_PBE_SHA1_RC2_40_CBC        0x000003AB#define CKM_PBA_SHA1_WITH_SHA1_HMAC    0x000003C0#define CKM_KEY_WRAP_LYNKS             0x00000400#define CKM_KEY_WRAP_SET_OAEP          0x00000401/* Fortezza mechanisms */#define CKM_SKIPJACK_KEY_GEN           0x00001000#define CKM_SKIPJACK_ECB64             0x00001001#define CKM_SKIPJACK_CBC64             0x00001002#define CKM_SKIPJACK_OFB64             0x00001003#define CKM_SKIPJACK_CFB64             0x00001004#define CKM_SKIPJACK_CFB32             0x00001005#define CKM_SKIPJACK_CFB16             0x00001006#define CKM_SKIPJACK_CFB8              0x00001007#define CKM_SKIPJACK_WRAP              0x00001008#define CKM_SKIPJACK_PRIVATE_WRAP      0x00001009#define CKM_SKIPJACK_RELAYX            0x0000100a#define CKM_KEA_KEY_PAIR_GEN           0x00001010#define CKM_KEA_KEY_DERIVE             0x00001011#define CKM_FORTEZZA_TIMESTAMP         0x00001020#define CKM_BATON_KEY_GEN              0x00001030#define CKM_BATON_ECB128               0x00001031#define CKM_BATON_ECB96                0x00001032#define CKM_BATON_CBC128               0x00001033#define CKM_BATON_COUNTER              0x00001034#define CKM_BATON_SHUFFLE              0x00001035#define CKM_BATON_WRAP                 0x00001036/* Cryptoki V2.01 probably won't actually have ECDSA in it */#define CKM_ECDSA_KEY_PAIR_GEN         0x00001040#define CKM_ECDSA                      0x00001041#define CKM_ECDSA_SHA1                 0x00001042#define CKM_JUNIPER_KEY_GEN            0x00001060#define CKM_JUNIPER_ECB128             0x00001061#define CKM_JUNIPER_CBC128             0x00001062#define CKM_JUNIPER_COUNTER            0x00001063#define CKM_JUNIPER_SHUFFLE            0x00001064#define CKM_JUNIPER_WRAP               0x00001065#define CKM_FASTHASH                   0x00001070#define CKM_VENDOR_DEFINED             0x80000000typedef CK_MECHANISM_TYPE CK_PTR CK_MECHANISM_TYPE_PTR;/* CK_MECHANISM is a structure that specifies a particular * mechanism  */typedef struct CK_MECHANISM {  CK_MECHANISM_TYPE mechanism;  CK_VOID_PTR       pParameter;  /* ulParameterLen was changed from CK_USHORT to CK_ULONG for   * v2.0 */  CK_ULONG          ulParameterLen;  /* in bytes */} CK_MECHANISM;typedef CK_MECHANISM CK_PTR CK_MECHANISM_PTR;/* CK_MECHANISM_INFO provides information about a particular * mechanism */typedef struct CK_MECHANISM_INFO {    CK_ULONG    ulMinKeySize;    CK_ULONG    ulMaxKeySize;    CK_FLAGS    flags;} CK_MECHANISM_INFO;/* The flags are defined as follows: *      Bit Flag               Mask        Meaning */#define CKF_HW                 0x00000001  /* performed by HW *//* The flags CKF_ENCRYPT, CKF_DECRYPT, CKF_DIGEST, CKF_SIGN, * CKG_SIGN_RECOVER, CKF_VERIFY, CKF_VERIFY_RECOVER, * CKF_GENERATE, CKF_GENERATE_KEY_PAIR, CKF_WRAP, CKF_UNWRAP, * and CKF_DERIVE are new for v2.0.  They specify whether or not * a mechanism can be used for a particular task */#define CKF_ENCRYPT            0x00000100#define CKF_DECRYPT            0x00000200#define CKF_DIGEST             0x00000400#define CKF_SIGN               0x00000800#define CKF_SIGN_RECOVER       0x00001000#define CKF_VERIFY             0x00002000#define CKF_VERIFY_RECOVER     0x00004000#define CKF_GENERATE           0x00008000#define CKF_GENERATE_KEY_PAIR  0x00010000#define CKF_WRAP               0x00020000#define CKF_UNWRAP             0x00040000#define CKF_DERIVE             0x00080000#define CKF_EXTENSION          0x80000000  /* FALSE for 2.01 */typedef CK_MECHANISM_INFO CK_PTR CK_MECHANISM_INFO_PTR;/* CK_RV is a value that identifies the return value of a * Cryptoki function *//* CK_RV was changed from CK_USHORT to CK_ULONG for v2.0 */typedef CK_ULONG          CK_RV;#define CKR_OK                                0x00000000#define CKR_CANCEL                            0x00000001#define CKR_HOST_MEMORY                       0x00000002#define CKR_SLOT_ID_INVALID                   0x00000003/* CKR_FLAGS_INVALID was removed for v2.0 *//* CKR_GENERAL_ERROR and CKR_FUNCTION_FAILED are new for v2.0 */#define CKR_GENERAL_ERROR                     0x00000005#define CKR_FUNCTION_FAILED                   0x00000006/* CKR_ARGUMENTS_BAD, CKR_NO_EVENT, CKR_NEED_TO_CREATE_THREADS, * and CKR_CANT_LOCK are new for v2.01 */#define CKR_ARGUMENTS_BAD                     0x00000007#define CKR_NO_EVENT                          0x00000008#define CKR_NEED_TO_CREATE_THREADS            0x00000009#define CKR_CANT_LOCK                         0x0000000A#define CKR_ATTRIBUTE_READ_ONLY               0x00000010#define CKR_ATTRIBUTE_SENSITIVE               0x00000011#define CKR_ATTRIBUTE_TYPE_INVALID            0x00000012#define CKR_ATTRIBUTE_VALUE_INVALID           0x00000013#define CKR_DATA_INVALID                      0x00000020#define CKR_DATA_LEN_RANGE                    0x00000021#define CKR_DEVICE_ERROR                      0x00000030#define CKR_DEVICE_MEMORY                     0x00000031#define CKR_DEVICE_REMOVED                    0x00000032#define CKR_ENCRYPTED_DATA_INVALID            0x00000040#define CKR_ENCRYPTED_DATA_LEN_RANGE          0x00000041#define CKR_FUNCTION_CANCELED                 0x00000050#define CKR_FUNCTION_NOT_PARALLEL             0x00000051/* CKR_FUNCTION_NOT_SUPPORTED is new for v2.0 */#define CKR_FUNCTION_NOT_SUPPORTED            0x00000054#define CKR_KEY_HANDLE_INVALID                0x00000060/* CKR_KEY_SENSITIVE was removed for v2.0 */#define CKR_KEY_SIZE_RANGE                    0x00000062#define CKR_KEY_TYPE_INCONSISTENT             0x00000063/* CKR_KEY_NOT_NEEDED, CKR_KEY_CHANGED, CKR_KEY_NEEDED, * CKR_KEY_INDIGESTIBLE, CKR_KEY_FUNCTION_NOT_PERMITTED, * CKR_KEY_NOT_WRAPPABLE, and CKR_KEY_UNEXTRACTABLE are new for * v2.0 */#define CKR_KEY_NOT_NEEDED                    0x00000064#define CKR_KEY_CHANGED                       0x00000065#define CKR_KEY_NEEDED                        0x00000066#define CKR_KEY_INDIGESTIBLE                  0x00000067#define CKR_KEY_FUNCTION_NOT_PERMITTED        0x00000068#define CKR_KEY_NOT_WRAPPABLE                 0x00000069#define CKR_KEY_UNEXTRACTABLE                 0x0000006A#define CKR_MECHANISM_INVALID                 0x00000070

⌨️ 快捷键说明

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