cssmtype.h
来自「Next BIOS Source code : Extensible Firmw」· C头文件 代码 · 共 1,558 行 · 第 1/5 页
H
1,558 行
CSSM_DL_UNKNOWN = 0,
CSSM_DL_CUSTOM = 1,
CSSM_DL_LDAP = 2,
CSSM_DL_ODBC = 3,
CSSM_DL_PKCS11 = 4,
CSSM_DL_FFS = 5, /* flat file system or fast file system */
CSSM_DL_MEMORY = 6,
CSSM_DL_REMOTEDIR = 7
} CSSM_DLTYPE, *CSSM_DLTYPE_PTR;
/* CSSM_DL_PKCS11_ATTRIBUTES */
typedef struct cssm_dl_pkcs11_attributes {
uint32 DeviceAccessFlags;
} CSSM_DL_PKCS11_ATTRIBUTES, *CSSM_DL_PKCS11_ATTRIBUTES_PTR;
typedef void *CSSM_DL_CUSTOM_ATTRIBUTES;
typedef void *CSSM_DL_LDAP_ATTRIBUTES;
typedef void *CSSM_DL_ODBC_ATTRIBUTES;
typedef void *CSSM_DL_FFS_ATTRIBUTES;
/*
CSSM_DL_WRAPPEDPRODUCTINFO
*/
typedef struct cssm_dl_wrappedproductinfo {
CSSM_VERSION StandardVersion; /* Version of standard this product conforms to */
CSSM_STRING StandardDescription; /* Description of standard this product conforms to */
CSSM_VERSION ProductVersion; /* Version of wrapped product/library */
CSSM_STRING ProductDescription; /* Description of wrapped product/library */
CSSM_STRING ProductVendor; /* Vendor of wrapped product/library */
uint32 ProductFlags; /* ProductFlags */
CSSM_NET_PROTOCOL NetworkProtocol;/* The network protocol supported by a remote storage service */
} CSSM_DL_WRAPPEDPRODUCTINFO, *CSSM_DL_WRAPPEDPRODUCTINFO_PTR;
typedef struct cssm_dlsubservice {
uint32 SubServiceId;
CSSM_STRING Description; /* Description of this sub service */
CSSM_DLTYPE Type;
union cssm_dlsubservice_attributes {
CSSM_DL_CUSTOM_ATTRIBUTES CustomAttributes;
CSSM_DL_LDAP_ATTRIBUTES LdapAttributes;
CSSM_DL_ODBC_ATTRIBUTES OdbcAttributes;
CSSM_DL_PKCS11_ATTRIBUTES_PTR Pkcs11Attributes;
CSSM_DL_FFS_ATTRIBUTES FfsAttributes;
} Attributes;
CSSM_DL_WRAPPEDPRODUCTINFO WrappedProduct;
CSSM_USER_AUTHENTICATION_MECHANISM AuthenticationMechanism;
/* meta information about the query support provided by the module */
uint32 NumberOfRelOperatorTypes;
CSSM_DB_OPERATOR_PTR RelOperatorTypes;
uint32 NumberOfConjOperatorTypes;
CSSM_DB_CONJUNCTIVE_PTR ConjOperatorTypes;
CSSM_BOOL QueryLimitsSupported;
/* meta information about the encapsulated data stores (if known) */
uint32 NumberOfDataStores;
CSSM_NAME_LIST_PTR DataStoreNames;
CSSM_DBINFO_PTR DataStoreInfo;
/* additional information */
void *Reserved;
} CSSM_DLSUBSERVICE, *CSSM_DLSUBSERVICE_PTR;
/* Static data associated with a data storage library add-in module */
typedef enum cssm_algorithms {
CSSM_ALGID_NONE = 0,
CSSM_ALGID_CUSTOM = CSSM_ALGID_NONE+1, /* Custom algorithm */
CSSM_ALGID_DH = CSSM_ALGID_NONE+2, /* Diffie Hellman key exchange algorithm */
CSSM_ALGID_PH = CSSM_ALGID_NONE+3, /* Pohlig Hellman key exchange algorithm */
CSSM_ALGID_KEA = CSSM_ALGID_NONE+4, /* Key Exchange Algorithm */
CSSM_ALGID_MD2 = CSSM_ALGID_NONE+5, /* MD2 hash algorithm (invented by Ron Rivest) */
CSSM_ALGID_MD4 = CSSM_ALGID_NONE+6, /* MD4 hash algorithm (invented by Ron Rivest) */
CSSM_ALGID_MD5 = CSSM_ALGID_NONE+7, /* MD5 hash algorithm (invented by Ron Rivest) */
CSSM_ALGID_SHA1 = CSSM_ALGID_NONE+8, /* Secure Hash Algorithm (developed by NIST/NSA) */
CSSM_ALGID_NHASH = CSSM_ALGID_NONE+9, /* N-Hash algorithm(developed by Nippon Telephone and Telegraph) */
CSSM_ALGID_HAVAL = CSSM_ALGID_NONE+10,/* HAVAL hash algorithm (MD5 variant) */
CSSM_ALGID_RIPEMD = CSSM_ALGID_NONE+11,/* RIPE-MD (160) hash algorithm (MD4 variant - developed for the European Community's RIPE project) */
CSSM_ALGID_IBCHASH = CSSM_ALGID_NONE+12,/* IBC-Hash (keyed hash algorithm or MAC) */
CSSM_ALGID_RIPEMAC = CSSM_ALGID_NONE+13,/* RIPE-MAC (invented by Bart Preneel) */
CSSM_ALGID_DES = CSSM_ALGID_NONE+14,/* Data Encryption Standard block cipher */
CSSM_ALGID_DESX = CSSM_ALGID_NONE+15,/* DESX block cipher (DES variant from RSA) */
CSSM_ALGID_RDES = CSSM_ALGID_NONE+16,/* RDES block cipher (DES variant) */
CSSM_ALGID_3DES_3KEY = CSSM_ALGID_NONE+17,/* Triple-DES block cipher (with 3 keys) */
CSSM_ALGID_3DES_2KEY = CSSM_ALGID_NONE+18,/* Triple-DES block cipher (with 2 keys) */
CSSM_ALGID_3DES_1KEY = CSSM_ALGID_NONE+19,/* Triple-DES block cipher (with 1 key) */
CSSM_ALGID_IDEA = CSSM_ALGID_NONE+20,/* IDEA block cipher (invented by Lai and Massey) */
CSSM_ALGID_RC2 = CSSM_ALGID_NONE+21,/* RC2 block cipher (invented by Ron Rivest) */
CSSM_ALGID_RC5 = CSSM_ALGID_NONE+22,/* RC5 block cipher (invented by Ron Rivest) */
CSSM_ALGID_RC4 = CSSM_ALGID_NONE+23,/* RC4 stream cipher (invented by Ron Rivest) */
CSSM_ALGID_SEAL = CSSM_ALGID_NONE+24,/* SEAL stream cipher (invented by Rogaway and Coppersmith) */
CSSM_ALGID_CAST = CSSM_ALGID_NONE+25,/* CAST block cipher (invented by Adams and Tavares) */
CSSM_ALGID_BLOWFISH = CSSM_ALGID_NONE+26,/* BLOWFISH block cipher (invented by Schneier) */
CSSM_ALGID_SKIPJACK = CSSM_ALGID_NONE+27,/* Skipjack block cipher (developed by NSA) */
CSSM_ALGID_LUCIFER = CSSM_ALGID_NONE+28,/* Lucifer block cipher (developed by IBM) */
CSSM_ALGID_MADRYGA = CSSM_ALGID_NONE+29,/* Madryga block cipher (invented by Madryga) */
CSSM_ALGID_FEAL = CSSM_ALGID_NONE+30,/* FEAL block cipher (invented by Shimizu and Miyaguchi) */
CSSM_ALGID_REDOC = CSSM_ALGID_NONE+31,/* REDOC 2 block cipher (invented by Michael Wood) */
CSSM_ALGID_REDOC3 = CSSM_ALGID_NONE+32,/* REDOC 3 block cipher (invented by Michael Wood) */
CSSM_ALGID_LOKI = CSSM_ALGID_NONE+33,/* LOKI block cipher */
CSSM_ALGID_KHUFU = CSSM_ALGID_NONE+34,/* KHUFU block cipher (invented by Ralph Merkle) */
CSSM_ALGID_KHAFRE = CSSM_ALGID_NONE+35,/* KHAFRE block cipher (invented by Ralph Merkle) */
CSSM_ALGID_MMB = CSSM_ALGID_NONE+36,/* MMB block cipher (IDEA variant) */
CSSM_ALGID_GOST = CSSM_ALGID_NONE+37,/* GOST block cipher (developed by the former Soviet Union) */
CSSM_ALGID_SAFER = CSSM_ALGID_NONE+38,/* SAFER K-64 block cipher (invented by Massey) */
CSSM_ALGID_CRAB = CSSM_ALGID_NONE+39,/* CRAB block cipher (invented by Kaliski and Robshaw) */
CSSM_ALGID_RSA = CSSM_ALGID_NONE+40,/* RSA public key cipher */
CSSM_ALGID_DSA = CSSM_ALGID_NONE+41,/* Digital Signature Algorithm */
CSSM_ALGID_MD5WithRSA= CSSM_ALGID_NONE+42,/* MD5/RSA signature algorithm */
CSSM_ALGID_MD2WithRSA= CSSM_ALGID_NONE+43,/* MD2/RSA signature algorithm */
CSSM_ALGID_ElGamal = CSSM_ALGID_NONE+44,/* ElGamal signature algorithm */
CSSM_ALGID_MD2Random = CSSM_ALGID_NONE+45,/* MD2-based random numbers */
CSSM_ALGID_MD5Random = CSSM_ALGID_NONE+46,/* MD5-based random numbers */
CSSM_ALGID_SHARandom = CSSM_ALGID_NONE+47,/* SHA-based random numbers */
CSSM_ALGID_DESRandom = CSSM_ALGID_NONE+48, /* DES-based random numbers */
CSSM_ALGID_SHA1WithRSA = CSSM_ALGID_NONE+49, /* SHA1/RSA signature algorithm */
CSSM_ALGID_RSA_PKCS = CSSM_ALGID_RSA, /* RSA as specified in PKCS #1 */
CSSM_ALGID_RSA_ISO9796 = CSSM_ALGID_NONE+50, /* RSA as specified in ISO 9796 */
CSSM_ALGID_RSA_RAW = CSSM_ALGID_NONE+51, /* Raw RSA as assumed in X.509 */
CSSM_ALGID_CDMF = CSSM_ALGID_NONE+52, /* CDMF block cipher */
CSSM_ALGID_CAST3 = CSSM_ALGID_NONE+53, /* Entrust's CAST3 block cipher */
CSSM_ALGID_CAST5 = CSSM_ALGID_NONE+54, /* Entrust's CAST5 block cipher */
CSSM_ALGID_GenericSecret = CSSM_ALGID_NONE+55, /* Generic secret operations */
CSSM_ALGID_ConcatBaseAndKey = CSSM_ALGID_NONE+56, /* Concatenate two keys, base key first */
CSSM_ALGID_ConcatKeyAndBase = CSSM_ALGID_NONE+57, /* Concatenate two keys, base key last */
CSSM_ALGID_ConcatBaseAndData = CSSM_ALGID_NONE+58, /* Concatenate base key and random data, key first */
CSSM_ALGID_ConcatDataAndBase = CSSM_ALGID_NONE+59, /* Concatenate base key and data, data first */
CSSM_ALGID_XORBaseAndData = CSSM_ALGID_NONE+60, /* XOR a byte string with the base key */
CSSM_ALGID_ExtractFromKey = CSSM_ALGID_NONE+61, /* Extract a key from base key, starting at arbitrary bit position */
CSSM_ALGID_SSL3PreMasterGen = CSSM_ALGID_NONE+62, /* Generate a 48 byte SSL 3 pre-master key */
CSSM_ALGID_SSL3MasterDerive = CSSM_ALGID_NONE+63, /* Derive an SSL 3 key from a pre-master key */
CSSM_ALGID_SSL3KeyAndMacDerive = CSSM_ALGID_NONE+64, /* Derive the keys and MACing keys for the SSL cipher suite */
CSSM_ALGID_SSL3MD5_MAC = CSSM_ALGID_NONE+65, /* Performs SSL 3 MD5 MACing */
CSSM_ALGID_SSL3SHA1_MAC = CSSM_ALGID_NONE+66, /* Performs SSL 3 SHA-1 MACing */
CSSM_ALGID_MD5_PBE = CSSM_ALGID_NONE+67, /* Generate key and IV by MD5 hashing a base key */
CSSM_ALGID_MD2_PBE = CSSM_ALGID_NONE+68, /* Generate key and IV by MD2 hashing a base key */
CSSM_ALGID_SHA1_PBE = CSSM_ALGID_NONE+69, /* Generate key and IV by SHA-1 hashing a base key */
CSSM_ALGID_WrapLynks = CSSM_ALGID_NONE+70, /* Spyrus LYNKS DES based wrapping scheme w/checksum */
CSSM_ALGID_WrapSET_OAEP = CSSM_ALGID_NONE+71, /* SET key wrapping */
CSSM_ALGID_BATON = CSSM_ALGID_NONE+72, /* Fortezza BATON cipher */
CSSM_ALGID_ECDSA = CSSM_ALGID_NONE+73, /* Elliptic Curve DSA */
CSSM_ALGID_MAYFLY = CSSM_ALGID_NONE+74, /* Fortezza MAYFLY cipher */
CSSM_ALGID_JUNIPER = CSSM_ALGID_NONE+75, /* Fortezza JUNIPER cipher */
CSSM_ALGID_FASTHASH = CSSM_ALGID_NONE+76, /* Fortezza FASTHASH */
CSSM_ALGID_3DES = CSSM_ALGID_NONE+77, /* Generic 3DES */
CSSM_ALGID_SSL3MD5 = CSSM_ALGID_NONE+78, /* SSL3MD5 */
CSSM_ALGID_SSL3SHA1 = CSSM_ALGID_NONE+79, /* SSL3SHA1 */
CSSM_ALGID_FortezzaTimestamp = CSSM_ALGID_NONE+80, /* FortezzaTimestamp */
CSSM_ALGID_SHA1WithDSA = CSSM_ALGID_NONE+81, /* SHA1WithDSA */
CSSM_ALGID_SHA1WithECDSA = CSSM_ALGID_NONE+82, /* SHA1WithECDSA */
CSSM_ALGID_DSA_BSAFE = CSSM_ALGID_NONE+83, /* BSafe Key format */
CSSM_ALGID_ECDH = CSSM_ALGID_NONE+84, /* Elliptic Curve DiffieHellman Key Exchange algorithm*/
CSSM_ALGID_ECMQV = CSSM_ALGID_NONE+85, /* Elliptic Curve MQV key exchange algorithm*/
CSSM_ALGID_PKCS12_SHA1_PBE = CSSM_ALGID_NONE+86, /* PKCS12 SHA-1 Password key derivation algorithm*/
CSSM_ALGID_ECNRA = CSSM_ALGID_NONE+87, /* Elliptic Curve Nyberg-Rueppel*/
CSSM_ALGID_SHA1WithECNRA = CSSM_ALGID_NONE+88, /* SHA-1 with Elliptic Curve Nyberg-Rueppel*/
CSSM_ALGID_ECES = CSSM_ALGID_NONE+89, /* Elliptic Curve Encryption Scheme*/
CSSM_ALGID_ECAES = CSSM_ALGID_NONE+90, /* Elliptic Curve Authenticate Encryption Scheme*/
CSSM_ALGID_SHA1HMAC = CSSM_ALGID_NONE+91, /* SHA1-MAC*/
CSSM_ALGID_FIPS186Random = CSSM_ALGID_NONE+92, /* FIPs86Random*/
CSSM_ALGID_ECC = CSSM_ALGID_NONE+93, /* ECC*/
CSSM_ALGID_MQV = CSSM_ALGID_NONE+94, /* Discrete-Log MQV key exchange algorithm*/
CSSM_ALGID_NRA = CSSM_ALGID_NONE+95, /* Discrete-Log Nyberg-Rueppel Signature scheme*/
CSSM_ALGID_LAST = CSSM_ALGID_NONE+96
} CSSM_ALGORITHMS;
typedef enum cssm_encrypt_mode {
CSSM_ALGMODE_NONE = 0,
CSSM_ALGMODE_CUSTOM = CSSM_ALGMODE_NONE+1, /* Custom mode */
CSSM_ALGMODE_ECB = CSSM_ALGMODE_NONE+2, /* Electronic Code Book */
CSSM_ALGMODE_ECBPad = CSSM_ALGMODE_NONE+3, /* ECB with padding */
CSSM_ALGMODE_CBC = CSSM_ALGMODE_NONE+4, /* Cipher Block Chaining */
CSSM_ALGMODE_CBC_IV8 = CSSM_ALGMODE_NONE+5, /* CBC with Initialization Vector of 8 bytes */
CSSM_ALGMODE_CBCPadIV8 = CSSM_ALGMODE_NONE+6, /* CBC with padding and Initialization Vector of 8 bytes */
CSSM_ALGMODE_CFB = CSSM_ALGMODE_NONE+7, /* Cipher FeedBack */
CSSM_ALGMODE_CFB_IV8 = CSSM_ALGMODE_NONE+8, /* CFB with Initialization Vector of 8 bytes */
CSSM_ALGMODE_CFBPadIV8 = CSSM_ALGMODE_NONE+9, /* CFB used in MS CAPI 2.0 */
CSSM_ALGMODE_OFB = CSSM_ALGMODE_NONE+10, /* Output FeedBack */
CSSM_ALGMODE_OFB_IV8 = CSSM_ALGMODE_NONE+11, /* OFB with Initialization Vector of 8 bytes */
CSSM_ALGMODE_OFBPadIV8 = CSSM_ALGMODE_NONE+12, /* OFB used in MS CAPI 2.0 */
CSSM_ALGMODE_COUNTER = CSSM_ALGMODE_NONE+13, /* Counter */
CSSM_ALGMODE_BC = CSSM_ALGMODE_NONE+14, /* Block Chaining */
CSSM_ALGMODE_PCBC = CSSM_ALGMODE_NONE+15, /* Propagating CBC */
CSSM_ALGMODE_CBCC = CSSM_ALGMODE_NONE+16, /* CBC with Checksum */
CSSM_ALGMODE_OFBNLF = CSSM_ALGMODE_NONE+17, /* OFB with NonLinear Function */
CSSM_ALGMODE_PBC = CSSM_ALGMODE_NONE+18, /* Plaintext Block Chaining */
CSSM_ALGMODE_PFB = CSSM_ALGMODE_NONE+19, /* Plaintext FeedBack */
CSSM_ALGMODE_CBCPD = CSSM_ALGMODE_NONE+20, /* CBC of Plaintext Difference */
CSSM_ALGMODE_PUBLIC_KEY = CSSM_ALGMODE_NONE+21, /* Encrypt with the public key */
CSSM_ALGMODE_PRIVATE_KEY= CSSM_ALGMODE_NONE+22, /* Encrypt with the private key */
CSSM_ALGMODE_SHUFFLE = CSSM_ALGMODE_NONE+23, /* Fortezza shuffle mode */
CSSM_ALGMODE_ECB64 = CSSM_ALGMODE_NONE+24,
CSSM_ALGMODE_CBC64 = CSSM_ALGMODE_NONE+25,
CSSM_ALGMODE_OFB64 = CSSM_ALGMODE_NONE+26,
CSSM_ALGMODE_CFB64 = CSSM_ALGMODE_NONE+27,
CSSM_ALGMODE_CFB32 = CSSM_ALGMODE_NONE+28,
CSSM_ALGMODE_CFB16 = CSSM_ALGMODE_NONE+29,
CSSM_ALGMODE_CFB8 = CSSM_ALGMODE_NONE+30,
CSSM_ALGMODE_WRAP = CSSM_ALGMODE_NONE+31,
CSSM_ALGMODE_PRIVATE_WRAP = CSSM_ALGMODE_NONE+32,
CSSM_ALGMODE_RELAYX = CSSM_ALGMODE_NONE+33,
CSSM_ALGMODE_ECB128 = CSSM_ALGMODE_NONE+34,
CSSM_ALGMODE_ECB96 = CSSM_ALGMODE_NONE+35,
CSSM_ALGMODE_CBC128 = CSSM_ALGMODE_NONE+36,
CSSM_ALGMODE_OAEP_HASH = CSSM_ALGMODE_NONE+37,
CSSM_ALGMODE_LAST = CSSM_ALGMODE_NONE+38
} CSSM_ENCRYPT_MODE;
typedef enum cssm_context_type {
CSSM_ALGCLASS_NONE = 0,
CSSM_ALGCLASS_CUSTOM = CSSM_ALGCLASS_NONE+1,
CSSM_ALGCLASS_KEYXCH = CSSM_ALGCLASS_NONE+2,
CSSM_ALGCLASS_SIGNATURE = CSSM_ALGCLASS_NONE+3,
CSSM_ALGCLASS_SYMMETRIC = CSSM_ALGCLASS_NONE+4,
CSSM_ALGCLASS_DIGEST = CSSM_ALGCLASS_NONE+5,
CSSM_ALGCLASS_RANDOMGEN = CSSM_ALGCLASS_NONE+6,
CSSM_ALGCLASS_UNIQUEGEN = CSSM_ALGCLASS_NONE+7,
CSSM_ALGCLASS_MAC = CSSM_ALGCLASS_NONE+8,
CSSM_ALGCLASS_ASYMMETRIC= CSSM_ALGCLASS_NONE+9,
CSSM_ALGCLASS_KEYGEN = CSSM_ALGCLASS_NONE+10,
CSSM_ALGCLASS_DERIVEKEY = CSSM_ALGCLASS_NONE+11
}CSSM_CONTEXT_TYPE;
/* Attribute data type tags */
#define CSSM_ATTRIBUTE_DATA_NONE 0x00000000
#define CSSM_ATTRIBUTE_DATA_UINT32 0x10000000
#define CSSM_ATTRIBUTE_DATA_CSSM_DATA 0x20000000
#define CSSM_ATTRIBUTE_DATA_CRYPTO_DATA 0x30000000
#define CSSM_ATTRIBUTE_DATA_KEY 0x40000000
#define CSSM_ATTRIBUTE_DATA_STRING 0x50000000
#define CSSM_ATTRIBUTE_DATA_DATE 0x60000000
#define CSSM_ATTRIBUTE_DATA_RANGE 0x70000000
#define CSSM_ATTRIBUTE_DATA_VERSION 0x01000000
#define CSSM_ATTRIBUTE_TYPE_MASK 0xFF000000
typedef enum cssm_attribute_type {
CSSM_ATTRIBUTE_NONE = 0,
CSSM_ATTRIBUTE_CUSTOM = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 1),
CSSM_ATTRIBUTE_DESCRIPTION = (CSSM_ATTRIBUTE_DATA_STRING | 2),
CSSM_ATTRIBUTE_KEY = (CSSM_ATTRIBUTE_DATA_KEY | 3),
CSSM_ATTRIBUTE_INIT_VECTOR = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 4),
CSSM_ATTRIBUTE_SALT = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 5),
CSSM_ATTRIBUTE_PADDING = (CSSM_ATTRIBUTE_DATA_UINT32 | 6),
CSSM_ATTRIBUTE_RANDOM = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 7),
CSSM_ATTRIBUTE_SEED = (CSSM_ATTRIBUTE_DATA_CRYPTO_DATA | 8),
CSSM_ATTRIBUTE_PASSPHRASE = (CSSM_ATTRIBUTE_DATA_CRYPTO_DATA | 9),
CSSM_ATTRIBUTE_KEY_LENGTH = (CSSM_ATTRIBUTE_DATA_UINT32 | 10),
CSSM_ATTRIBUTE_KEY_LENGTH_RANGE = (CSSM_ATTRIBUTE_DATA_RANGE | 11),
CSSM_ATTRIBUTE_BLOCK_SIZE = (CSSM_ATTRIBUTE_DATA_UINT32 | 12),
CSSM_ATTRIBUTE_OUTPUT_SIZE = (CSSM_ATTRIBUTE_DATA_UINT32 | 13),
CSSM_ATTRIBUTE_ROUNDS = (CSSM_ATTRIBUTE_DATA_UINT32 | 14),
CSSM_ATTRIBUTE_IV_SIZE = (CSSM_ATTRIBUTE_DATA_UINT32 | 15),
CSSM_ATTRIBUTE_ALG_PARAMS = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 16),
CSSM_ATTRIBUTE_LABEL = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 17),
CSSM_ATTRIBUTE_KEY_TYPE = (CSSM_ATTRIBUTE_DATA_UINT32 | 18),
CSSM_ATTRIBUTE_MODE = (CSSM_ATTRIBUTE_DATA_UINT32 | 19),
CSSM_ATTRIBUTE_EFFECTIVE_BITS = (CSSM_ATTRIBUTE_DATA_UINT32 | 20),
CSSM_ATTRIBUTE_START_DATE = (CSSM_ATTRIBUTE_DATA_DATE | 21),
CSSM_ATTRIBUTE_END_DATE = (CSSM_ATTRIBUTE_DATA_DATE | 22),
CSSM_ATTRIBUTE_KEYUSAGE = (CSSM_ATTRIBUTE_DATA_UINT32 | 23),
CSSM_ATTRIBUTE_KEYATTR = (CSSM_ATTRIBUTE_DATA_UINT32 | 24),
CSSM_ATTRIBUTE_VERSION = (CSSM_ATTRIBUTE_DATA_VERSION | 25),
CSSM_ATTRIBUTE_PRIME = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 26),
CSSM_ATTRIBUTE_BASE = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 27),
CSSM_ATTRIBUTE_SUBPRIME = (CSSM_ATTRIBUTE_DATA_CSSM_DATA | 28),
CSSM_ATTRIBUTE_ALG_ID = (CSSM_ATTRIBUTE_DATA_UINT32 | 29),
CSSM_ATTRIBUTE_ITERATION_COUNT = (CSSM_ATTRIBUTE_DATA_UINT32 | 30),
CSSM_ATTRIBUTE_ROUNDS_RANGE = (CSSM_ATTRIBUTE_DATA_RANGE | 31),
CSSM_ATTRIBUTE_CSP_HANDLE = (CSSM_ATTRIBUTE_DATA_UINT32 | 34)
} CSSM_ATTRIBUTE_TYPE;
typedef enum cssm_padding {
CSSM_PADDING_NONE = 0,
CSSM_PADDING_CUSTOM = CSSM_PADDING_NONE+1,
CSSM_PADDING_ZERO = CSSM_PADDING_NONE+2,
CSSM_PADDING_ONE = CSSM_PADDING_NONE+3,
CSSM_PADDING_ALTERNATE = CSSM_PADDING_NONE+4,
CSSM_PADDING_FF = CSSM_PADDING_NONE+5,
CSSM_PADDING_PKCS5 = CSSM_PADDING_NONE+6,
CSSM_PADDING_PKCS7 = CSSM_PADDING_NONE+7,
CSSM_PADDING_CipherStealing = CSSM_PADDING_NONE+8,
CSSM_PADDING_RANDOM = CSSM_PADDING_NONE+9
} CSSM_PADDING;
/*
CSSM_KEY & CSSM_KEYHEADER Data Structures
*/
/*
Blob Type
*/
#define CSSM_KEYBLOB_RAW 0 /* The blob is a clear, raw key */
#define CSSM_KEYBLOB_RAW_BERDER 1 /* The blob is a clear key, DER encoded */
#define CSSM_KEYBLOB_REFERENCE 2 /* The blob is a reference to a key */
#define CSSM_KEYBLOB_WRAPPED 3 /* The blob is a wrapped RAW key */
#define CSSM_KEYBLOB_WRAPPED_BERDER 4 /* The blob is a wrapped DER encoded key */
#define CSSM_KEYBLOB_OTHER 0xFFFFFFFF /* The blob is a wrapped DER encoded key */
/*
Raw Format
*/
#define CSSM_KEYBLOB_RAW_FORMAT_NONE 0 /* No further conversion need to be done */
#define CSSM_KEYBLOB_RAW_FORMAT_PKCS1 1 /* RSA PKCS1 V1.5 */
#define CSSM_KEYBLOB_RAW_FORMAT_PKCS3 2 /* RSA PKCS3 V1.5 */
#define CSSM_KEYBLOB_RAW_FORMAT_MSCAPI 3 /* Microsoft CAPI V2.0 */
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?