+++ /dev/null
-/*
- * Copyright (c) 1999-2002,2004 Apple Computer, Inc. All Rights Reserved.
- *
- * @APPLE_LICENSE_HEADER_START@
- *
- * This file contains Original Code and/or Modifications of Original Code
- * as defined in and that are subject to the Apple Public Source License
- * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- *
- * The Original Code and all software distributed under the License are
- * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
- * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
- * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
- * Please see the License for the specific language governing rights and
- * limitations under the License.
- *
- * @APPLE_LICENSE_HEADER_END@
- *
- * cssmtype.h -- Common Security Services Manager Common Data Types
- */
-
-#ifndef _CSSMTYPE_H_
-#define _CSSMTYPE_H_ 1
-
-#include <Security/cssmconfig.h>
-
-/* ==========================================================================
- W A R N I N G : CDSA has been deprecated starting with 10.7. While the
- APIs will continue to work, developers should update their code to use
- the APIs that are suggested and NOT use the CDSA APIs
- ========================================================================== */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Handle types. */
-
-typedef CSSM_INTPTR CSSM_HANDLE, *CSSM_HANDLE_PTR;
-
-typedef uint64 CSSM_LONG_HANDLE, *CSSM_LONG_HANDLE_PTR;
-
-typedef CSSM_HANDLE CSSM_MODULE_HANDLE, *CSSM_MODULE_HANDLE_PTR;
-
-typedef CSSM_LONG_HANDLE CSSM_CC_HANDLE; /* Cryptographic Context Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_CSP_HANDLE; /* Cryptographic Service Provider Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_TP_HANDLE; /* Trust Policy Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_AC_HANDLE; /* Authorization Computation Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_CL_HANDLE; /* Certificate Library Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_DL_HANDLE; /* Data Storage Library Handle */
-
-typedef CSSM_MODULE_HANDLE CSSM_DB_HANDLE; /* Data Storage Database Handle */
-
-
-/* invalid or NULL value for any CSSM_HANDLE type */
-enum {
- CSSM_INVALID_HANDLE = 0
-};
-
-
-/* Data Types for Core Services */
-
-typedef sint32 CSSM_BOOL;
-enum {
- CSSM_FALSE = 0,
- CSSM_TRUE = !CSSM_FALSE
-};
-
-/* The standard declares this as uint32 but we changed it to sint32 to match OSStatus. */
-typedef sint32 CSSM_RETURN;
-enum {
- CSSM_OK = 0
-};
-
-enum {
- CSSM_MODULE_STRING_SIZE = 64
-};
-typedef char CSSM_STRING [CSSM_MODULE_STRING_SIZE + 4];
-
-typedef struct cssm_data {
- CSSM_SIZE Length; /* in bytes */
- uint8 *Data;
-} CSSM_DATA DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DATA_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_guid {
- uint32 Data1;
- uint16 Data2;
- uint16 Data3;
- uint8 Data4[8];
-} CSSM_GUID DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_GUID_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_BITMASK;
-typedef CSSM_BITMASK CSSM_KEY_HIERARCHY;
-enum {
- CSSM_KEY_HIERARCHY_NONE = 0,
- CSSM_KEY_HIERARCHY_INTEG = 1,
- CSSM_KEY_HIERARCHY_EXPORT = 2
-};
-
-typedef CSSM_BITMASK CSSM_PVC_MODE;
-enum {
- CSSM_PVC_NONE = 0,
- CSSM_PVC_APP = 1,
- CSSM_PVC_SP = 2
-};
-
-typedef uint32 CSSM_PRIVILEGE_SCOPE;
-enum {
- CSSM_PRIVILEGE_SCOPE_NONE = 0,
- CSSM_PRIVILEGE_SCOPE_PROCESS = 1,
- CSSM_PRIVILEGE_SCOPE_THREAD = 2
-};
-
-typedef struct cssm_version {
- uint32 Major;
- uint32 Minor;
-} CSSM_VERSION DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_VERSION_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_SERVICE_MASK;
-enum {
- CSSM_SERVICE_CSSM = 0x1,
- CSSM_SERVICE_CSP = 0x2,
- CSSM_SERVICE_DL = 0x4,
- CSSM_SERVICE_CL = 0x8,
- CSSM_SERVICE_TP = 0x10,
- CSSM_SERVICE_AC = 0x20,
- CSSM_SERVICE_KR = 0x40
-};
-
-typedef CSSM_SERVICE_MASK CSSM_SERVICE_TYPE;
-
-typedef struct cssm_subservice_uid {
- CSSM_GUID Guid;
- CSSM_VERSION Version;
- uint32 SubserviceId;
- CSSM_SERVICE_TYPE SubserviceType;
-} CSSM_SUBSERVICE_UID DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_SUBSERVICE_UID_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_MODULE_EVENT, *CSSM_MODULE_EVENT_PTR;
-enum {
- CSSM_NOTIFY_INSERT = 1,
- CSSM_NOTIFY_REMOVE = 2,
- CSSM_NOTIFY_FAULT = 3
-};
-
-typedef CSSM_RETURN (CSSMAPI *CSSM_API_ModuleEventHandler)
- (const CSSM_GUID *ModuleGuid,
- void* AppNotifyCallbackCtx,
- uint32 SubserviceId,
- CSSM_SERVICE_TYPE ServiceType,
- CSSM_MODULE_EVENT EventType);
-
-typedef uint32 CSSM_ATTACH_FLAGS;
-enum {
- CSSM_ATTACH_READ_ONLY = 0x00000001
-};
-
-/* Non-export privilege range: (0x00000000 - 0x7FFFFFFF) */
-/* Vendor specific range: (0x80000000 - 0xFFFFFFFF) */
-typedef uint64 CSSM_PRIVILEGE;
-typedef CSSM_PRIVILEGE CSSM_USEE_TAG;
-enum {
- CSSM_USEE_LAST = 0xFF,
- CSSM_USEE_NONE = 0,
- CSSM_USEE_DOMESTIC = 1,
- CSSM_USEE_FINANCIAL = 2,
- CSSM_USEE_KRLE = 3,
- CSSM_USEE_KRENT = 4,
- CSSM_USEE_SSL = 5,
- CSSM_USEE_AUTHENTICATION = 6,
- CSSM_USEE_KEYEXCH = 7,
- CSSM_USEE_MEDICAL = 8,
- CSSM_USEE_INSURANCE = 9,
- CSSM_USEE_WEAK = 10
-};
-
-typedef uint32 CSSM_NET_ADDRESS_TYPE;
-enum {
- CSSM_ADDR_NONE = 0,
- CSSM_ADDR_CUSTOM = 1,
- CSSM_ADDR_URL = 2, /* char* */
- CSSM_ADDR_SOCKADDR = 3,
- CSSM_ADDR_NAME = 4 /* char* - qualified by access method */
-};
-
-typedef struct cssm_net_address {
- CSSM_NET_ADDRESS_TYPE AddressType;
- CSSM_DATA Address;
-} CSSM_NET_ADDRESS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_NET_ADDRESS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_NET_PROTOCOL;
-enum {
- CSSM_NET_PROTO_NONE = 0, /* local */
- CSSM_NET_PROTO_CUSTOM = 1, /* proprietary implementation */
- CSSM_NET_PROTO_UNSPECIFIED = 2, /* implementation default */
- CSSM_NET_PROTO_LDAP = 3, /* light weight directory access protocol */
- CSSM_NET_PROTO_LDAPS = 4, /* ldap/ssl where SSL initiates the connection */
- CSSM_NET_PROTO_LDAPNS = 5, /* ldap where ldap negotiates an SSL session */
- CSSM_NET_PROTO_X500DAP = 6, /* x.500 Directory access protocol */
- CSSM_NET_PROTO_FTP = 7, /* ftp for cert/crl fetch */
- CSSM_NET_PROTO_FTPS = 8, /* ftp/ssl/tls where SSL/TLS initiates the connection */
- CSSM_NET_PROTO_OCSP = 9, /* online certificate status protocol */
- CSSM_NET_PROTO_CMP = 10, /* the cert request protocol in PKIX3 */
- CSSM_NET_PROTO_CMPS = 11 /* The ssl/tls derivative of CMP */
-};
-
-typedef CSSM_RETURN (CSSMAPI *CSSM_CALLBACK)
- (CSSM_DATA_PTR OutData, void *CallerCtx);
-
-typedef struct cssm_crypto_data {
- CSSM_DATA Param;
- CSSM_CALLBACK Callback;
- void *CallerCtx;
-} CSSM_CRYPTO_DATA DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CRYPTO_DATA_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef sint32 CSSM_WORDID_TYPE;
-enum {
- CSSM_WORDID__UNK_ = -1, /* not in dictionary */
- CSSM_WORDID__NLU_ = 0, /* not yet looked up */
- CSSM_WORDID__STAR_ = 1,
- CSSM_WORDID_A = 2,
- CSSM_WORDID_ACL = 3,
- CSSM_WORDID_ALPHA = 4,
- CSSM_WORDID_B = 5,
- CSSM_WORDID_BER = 6,
- CSSM_WORDID_BINARY = 7,
- CSSM_WORDID_BIOMETRIC = 8,
- CSSM_WORDID_C = 9,
- CSSM_WORDID_CANCELED = 10,
- CSSM_WORDID_CERT = 11,
- CSSM_WORDID_COMMENT = 12,
- CSSM_WORDID_CRL = 13,
- CSSM_WORDID_CUSTOM = 14,
- CSSM_WORDID_D = 15,
- CSSM_WORDID_DATE = 16,
- CSSM_WORDID_DB_DELETE = 17,
- CSSM_WORDID_DB_EXEC_STORED_QUERY = 18,
- CSSM_WORDID_DB_INSERT = 19,
- CSSM_WORDID_DB_MODIFY = 20,
- CSSM_WORDID_DB_READ = 21,
- CSSM_WORDID_DBS_CREATE = 22,
- CSSM_WORDID_DBS_DELETE = 23,
- CSSM_WORDID_DECRYPT = 24,
- CSSM_WORDID_DELETE = 25,
- CSSM_WORDID_DELTA_CRL = 26,
- CSSM_WORDID_DER = 27,
- CSSM_WORDID_DERIVE = 28,
- CSSM_WORDID_DISPLAY = 29,
- CSSM_WORDID_DO = 30,
- CSSM_WORDID_DSA = 31,
- CSSM_WORDID_DSA_SHA1 = 32,
- CSSM_WORDID_E = 33,
- CSSM_WORDID_ELGAMAL = 34,
- CSSM_WORDID_ENCRYPT = 35,
- CSSM_WORDID_ENTRY = 36,
- CSSM_WORDID_EXPORT_CLEAR = 37,
- CSSM_WORDID_EXPORT_WRAPPED = 38,
- CSSM_WORDID_G = 39,
- CSSM_WORDID_GE = 40,
- CSSM_WORDID_GENKEY = 41,
- CSSM_WORDID_HASH = 42,
- CSSM_WORDID_HASHED_PASSWORD = 43,
- CSSM_WORDID_HASHED_SUBJECT = 44,
- CSSM_WORDID_HAVAL = 45,
- CSSM_WORDID_IBCHASH = 46,
- CSSM_WORDID_IMPORT_CLEAR = 47,
- CSSM_WORDID_IMPORT_WRAPPED = 48,
- CSSM_WORDID_INTEL = 49,
- CSSM_WORDID_ISSUER = 50,
- CSSM_WORDID_ISSUER_INFO = 51,
- CSSM_WORDID_K_OF_N = 52,
- CSSM_WORDID_KEA = 53,
- CSSM_WORDID_KEYHOLDER = 54,
- CSSM_WORDID_L = 55,
- CSSM_WORDID_LE = 56,
- CSSM_WORDID_LOGIN = 57,
- CSSM_WORDID_LOGIN_NAME = 58,
- CSSM_WORDID_MAC = 59,
- CSSM_WORDID_MD2 = 60,
- CSSM_WORDID_MD2WITHRSA = 61,
- CSSM_WORDID_MD4 = 62,
- CSSM_WORDID_MD5 = 63,
- CSSM_WORDID_MD5WITHRSA = 64,
- CSSM_WORDID_N = 65,
- CSSM_WORDID_NAME = 66,
- CSSM_WORDID_NDR = 67,
- CSSM_WORDID_NHASH = 68,
- CSSM_WORDID_NOT_AFTER = 69,
- CSSM_WORDID_NOT_BEFORE = 70,
- CSSM_WORDID_NULL = 71,
- CSSM_WORDID_NUMERIC = 72,
- CSSM_WORDID_OBJECT_HASH = 73,
- CSSM_WORDID_ONE_TIME = 74,
- CSSM_WORDID_ONLINE = 75,
- CSSM_WORDID_OWNER = 76,
- CSSM_WORDID_P = 77,
- CSSM_WORDID_PAM_NAME = 78,
- CSSM_WORDID_PASSWORD = 79,
- CSSM_WORDID_PGP = 80,
- CSSM_WORDID_PREFIX = 81,
- CSSM_WORDID_PRIVATE_KEY = 82,
- CSSM_WORDID_PROMPTED_BIOMETRIC = 83,
- CSSM_WORDID_PROMPTED_PASSWORD = 84,
- CSSM_WORDID_PROPAGATE = 85,
- CSSM_WORDID_PROTECTED_BIOMETRIC = 86,
- CSSM_WORDID_PROTECTED_PASSWORD = 87,
- CSSM_WORDID_PROTECTED_PIN = 88,
- CSSM_WORDID_PUBLIC_KEY = 89,
- CSSM_WORDID_PUBLIC_KEY_FROM_CERT = 90,
- CSSM_WORDID_Q = 91,
- CSSM_WORDID_RANGE = 92,
- CSSM_WORDID_REVAL = 93,
- CSSM_WORDID_RIPEMAC = 94,
- CSSM_WORDID_RIPEMD = 95,
- CSSM_WORDID_RIPEMD160 = 96,
- CSSM_WORDID_RSA = 97,
- CSSM_WORDID_RSA_ISO9796 = 98,
- CSSM_WORDID_RSA_PKCS = 99,
- CSSM_WORDID_RSA_PKCS_MD5 = 100,
- CSSM_WORDID_RSA_PKCS_SHA1 = 101,
- CSSM_WORDID_RSA_PKCS1 = 102,
- CSSM_WORDID_RSA_PKCS1_MD5 = 103,
- CSSM_WORDID_RSA_PKCS1_SHA1 = 104,
- CSSM_WORDID_RSA_PKCS1_SIG = 105,
- CSSM_WORDID_RSA_RAW = 106,
- CSSM_WORDID_SDSIV1 = 107,
- CSSM_WORDID_SEQUENCE = 108,
- CSSM_WORDID_SET = 109,
- CSSM_WORDID_SEXPR = 110,
- CSSM_WORDID_SHA1 = 111,
- CSSM_WORDID_SHA1WITHDSA = 112,
- CSSM_WORDID_SHA1WITHECDSA = 113,
- CSSM_WORDID_SHA1WITHRSA = 114,
- CSSM_WORDID_SIGN = 115,
- CSSM_WORDID_SIGNATURE = 116,
- CSSM_WORDID_SIGNED_NONCE = 117,
- CSSM_WORDID_SIGNED_SECRET = 118,
- CSSM_WORDID_SPKI = 119,
- CSSM_WORDID_SUBJECT = 120,
- CSSM_WORDID_SUBJECT_INFO = 121,
- CSSM_WORDID_TAG = 122,
- CSSM_WORDID_THRESHOLD = 123,
- CSSM_WORDID_TIME = 124,
- CSSM_WORDID_URI = 125,
- CSSM_WORDID_VERSION = 126,
- CSSM_WORDID_X509_ATTRIBUTE = 127,
- CSSM_WORDID_X509V1 = 128,
- CSSM_WORDID_X509V2 = 129,
- CSSM_WORDID_X509V3 = 130,
- CSSM_WORDID_X9_ATTRIBUTE = 131,
- CSSM_WORDID_VENDOR_START = 0x00010000,
- CSSM_WORDID_VENDOR_END = 0x7FFF0000
-};
-
-typedef uint32 CSSM_LIST_ELEMENT_TYPE, *CSSM_LIST_ELEMENT_TYPE_PTR;
-enum {
- CSSM_LIST_ELEMENT_DATUM = 0x00,
- CSSM_LIST_ELEMENT_SUBLIST = 0x01,
- CSSM_LIST_ELEMENT_WORDID = 0x02
-};
-
-typedef uint32 CSSM_LIST_TYPE, *CSSM_LIST_TYPE_PTR;
-enum {
- CSSM_LIST_TYPE_UNKNOWN = 0,
- CSSM_LIST_TYPE_CUSTOM = 1,
- CSSM_LIST_TYPE_SEXPR = 2
-};
-
-typedef struct cssm_list_element *CSSM_LIST_ELEMENT_PTR;
-
-typedef struct cssm_list {
- CSSM_LIST_TYPE ListType; /* type of this list */
- CSSM_LIST_ELEMENT_PTR Head; /* head of the list */
- CSSM_LIST_ELEMENT_PTR Tail; /* tail of the list */
-} CSSM_LIST DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_LIST_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_list_element {
- struct cssm_list_element *NextElement; /* next list element */
- CSSM_WORDID_TYPE WordID; /* integer identifier associated */
- /* with a Word value */
- CSSM_LIST_ELEMENT_TYPE ElementType;
- union {
- CSSM_LIST Sublist; /* sublist */
- CSSM_DATA Word; /* a byte-string */
- } Element;
-} CSSM_LIST_ELEMENT;
-
-typedef struct { /* 5-tuple definition */
- CSSM_LIST Issuer; /* issuer, or empty if ACL */
- CSSM_LIST Subject; /* subject */
- CSSM_BOOL Delegate; /* permission to delegate */
- CSSM_LIST AuthorizationTag; /* authorization field */
- CSSM_LIST ValidityPeriod; /* validity information (dates) */
-} CSSM_TUPLE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TUPLE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tuplegroup {
- uint32 NumberOfTuples;
- CSSM_TUPLE_PTR Tuples;
-} CSSM_TUPLEGROUP DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TUPLEGROUP_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef CSSM_WORDID_TYPE CSSM_SAMPLE_TYPE;
-enum {
- CSSM_SAMPLE_TYPE_PASSWORD = CSSM_WORDID_PASSWORD,
- CSSM_SAMPLE_TYPE_HASHED_PASSWORD = CSSM_WORDID_HASHED_PASSWORD,
- CSSM_SAMPLE_TYPE_PROTECTED_PASSWORD = CSSM_WORDID_PROTECTED_PASSWORD,
- CSSM_SAMPLE_TYPE_PROMPTED_PASSWORD = CSSM_WORDID_PROMPTED_PASSWORD,
- CSSM_SAMPLE_TYPE_SIGNED_NONCE = CSSM_WORDID_SIGNED_NONCE,
- CSSM_SAMPLE_TYPE_SIGNED_SECRET = CSSM_WORDID_SIGNED_SECRET,
- CSSM_SAMPLE_TYPE_BIOMETRIC = CSSM_WORDID_BIOMETRIC,
- CSSM_SAMPLE_TYPE_PROTECTED_BIOMETRIC = CSSM_WORDID_PROTECTED_BIOMETRIC,
- CSSM_SAMPLE_TYPE_PROMPTED_BIOMETRIC = CSSM_WORDID_PROMPTED_BIOMETRIC,
- CSSM_SAMPLE_TYPE_THRESHOLD = CSSM_WORDID_THRESHOLD
-};
-
-typedef struct cssm_sample {
- CSSM_LIST TypedSample;
- const CSSM_SUBSERVICE_UID *Verifier;
-} CSSM_SAMPLE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_SAMPLE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_samplegroup {
- uint32 NumberOfSamples;
- const CSSM_SAMPLE *Samples;
-} CSSM_SAMPLEGROUP DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_SAMPLEGROUP_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef void *(CSSMAPI *CSSM_MALLOC)
- (CSSM_SIZE size,
- void *allocref);
-
-typedef void (CSSMAPI *CSSM_FREE)
- (void *memblock,
- void *allocref);
-
-typedef void *(CSSMAPI *CSSM_REALLOC)
- (void *memblock,
- CSSM_SIZE size,
- void *allocref);
-
-typedef void *(CSSMAPI *CSSM_CALLOC)
- (uint32 num,
- CSSM_SIZE size,
- void *allocref);
-
-typedef struct cssm_memory_funcs {
- CSSM_MALLOC malloc_func;
- CSSM_FREE free_func;
- CSSM_REALLOC realloc_func;
- CSSM_CALLOC calloc_func;
- void *AllocRef;
-} CSSM_MEMORY_FUNCS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_MEMORY_FUNCS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef CSSM_MEMORY_FUNCS CSSM_API_MEMORY_FUNCS;
-typedef CSSM_API_MEMORY_FUNCS *CSSM_API_MEMORY_FUNCS_PTR;
-
-typedef CSSM_RETURN (CSSMAPI * CSSM_CHALLENGE_CALLBACK)
- (const CSSM_LIST *Challenge,
- CSSM_SAMPLEGROUP_PTR Response,
- void *CallerCtx,
- const CSSM_MEMORY_FUNCS *MemFuncs);
-
-typedef uint32 CSSM_CERT_TYPE, *CSSM_CERT_TYPE_PTR;
-enum {
- CSSM_CERT_UNKNOWN = 0x00,
- CSSM_CERT_X_509v1 = 0x01,
- CSSM_CERT_X_509v2 = 0x02,
- CSSM_CERT_X_509v3 = 0x03,
- CSSM_CERT_PGP = 0x04,
- CSSM_CERT_SPKI = 0x05,
- CSSM_CERT_SDSIv1 = 0x06,
- CSSM_CERT_Intel = 0x08,
- CSSM_CERT_X_509_ATTRIBUTE = 0x09, /* X.509 attribute cert */
- CSSM_CERT_X9_ATTRIBUTE = 0x0A, /* X9 attribute cert */
- CSSM_CERT_TUPLE = 0x0B,
- CSSM_CERT_ACL_ENTRY = 0x0C,
- CSSM_CERT_MULTIPLE = 0x7FFE,
- CSSM_CERT_LAST = 0x7FFF,
- /* Applications wishing to define their own custom certificate
- type should define and publicly document a uint32 value greater
- than the CSSM_CL_CUSTOM_CERT_TYPE */
- CSSM_CL_CUSTOM_CERT_TYPE = 0x08000
-};
-
-typedef uint32 CSSM_CERT_ENCODING, *CSSM_CERT_ENCODING_PTR;
-enum {
- CSSM_CERT_ENCODING_UNKNOWN = 0x00,
- CSSM_CERT_ENCODING_CUSTOM = 0x01,
- CSSM_CERT_ENCODING_BER = 0x02,
- CSSM_CERT_ENCODING_DER = 0x03,
- CSSM_CERT_ENCODING_NDR = 0x04,
- CSSM_CERT_ENCODING_SEXPR = 0x05,
- CSSM_CERT_ENCODING_PGP = 0x06,
- CSSM_CERT_ENCODING_MULTIPLE = 0x7FFE,
- CSSM_CERT_ENCODING_LAST = 0x7FFF,
- /* Applications wishing to define their own custom certificate
- encoding should create a uint32 value greater than the
- CSSM_CL_CUSTOM_CERT_ENCODING */
- CSSM_CL_CUSTOM_CERT_ENCODING = 0x8000
-};
-
-typedef struct cssm_encoded_cert {
- CSSM_CERT_TYPE CertType; /* type of certificate */
- CSSM_CERT_ENCODING CertEncoding; /* encoding for this packed cert */
- CSSM_DATA CertBlob; /* packed cert */
-} CSSM_ENCODED_CERT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ENCODED_CERT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_CERT_PARSE_FORMAT, *CSSM_CERT_PARSE_FORMAT_PTR;
-enum {
- CSSM_CERT_PARSE_FORMAT_NONE = 0x00,
- CSSM_CERT_PARSE_FORMAT_CUSTOM = 0x01, /* void* */
- CSSM_CERT_PARSE_FORMAT_SEXPR = 0x02, /* CSSM_LIST */
- CSSM_CERT_PARSE_FORMAT_COMPLEX = 0x03, /* void* */
- CSSM_CERT_PARSE_FORMAT_OID_NAMED = 0x04, /* CSSM_FIELDGROUP */
- CSSM_CERT_PARSE_FORMAT_TUPLE = 0x05, /* CSSM_TUPLE */
- CSSM_CERT_PARSE_FORMAT_MULTIPLE = 0x7FFE,
-/* multiple forms, each cert carries a
- parse format indicator */
- CSSM_CERT_PARSE_FORMAT_LAST = 0x7FFF,
-/* Applications wishing to define their
- own custom parse format should create
- a * uint32 value greater than the
- CSSM_CL_CUSTOM_CERT_PARSE_FORMAT */
- CSSM_CL_CUSTOM_CERT_PARSE_FORMAT = 0x8000
-};
-
-typedef struct cssm_parsed_cert {
- CSSM_CERT_TYPE CertType; /* certificate type */
- CSSM_CERT_PARSE_FORMAT ParsedCertFormat;
- /* struct of ParsedCert */
- void *ParsedCert; /* parsed cert (to be typecast) */
-} CSSM_PARSED_CERT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_PARSED_CERT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_cert_pair {
- CSSM_ENCODED_CERT EncodedCert; /* an encoded certificate blob */
- CSSM_PARSED_CERT ParsedCert; /* equivalent parsed certificate */
-} CSSM_CERT_PAIR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CERT_PAIR_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_CERTGROUP_TYPE, *CSSM_CERTGROUP_TYPE_PTR;
-enum {
- CSSM_CERTGROUP_DATA = 0x00,
- CSSM_CERTGROUP_ENCODED_CERT = 0x01,
- CSSM_CERTGROUP_PARSED_CERT = 0x02,
- CSSM_CERTGROUP_CERT_PAIR = 0x03
-};
-
-typedef struct cssm_certgroup {
- CSSM_CERT_TYPE CertType;
- CSSM_CERT_ENCODING CertEncoding;
- uint32 NumCerts; /* # of certificates in this list */
- union {
- CSSM_DATA_PTR CertList; /* legacy list of single type certificate blobs */
- CSSM_ENCODED_CERT_PTR EncodedCertList;
- /* list of multi-type certificate blobs */
- CSSM_PARSED_CERT_PTR ParsedCertList;
- /* list of multi-type parsed certs */
- CSSM_CERT_PAIR_PTR PairCertList;
- /*list of single or multi-type certs with two representations: blob and parsed */
- } GroupList;
- CSSM_CERTGROUP_TYPE CertGroupType;
- /* type of structure in the GroupList */
- void *Reserved; /* reserved for implementation dependent use */
-} CSSM_CERTGROUP, *CSSM_CERTGROUP_PTR;
-
-typedef struct cssm_base_certs {
- CSSM_TP_HANDLE TPHandle;
- CSSM_CL_HANDLE CLHandle;
- CSSM_CERTGROUP Certs;
-} CSSM_BASE_CERTS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_BASE_CERTS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_access_credentials {
- CSSM_STRING EntryTag;
- CSSM_BASE_CERTS BaseCerts;
- CSSM_SAMPLEGROUP Samples;
- CSSM_CHALLENGE_CALLBACK Callback;
- void *CallerCtx;
-} CSSM_ACCESS_CREDENTIALS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACCESS_CREDENTIALS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef sint32 CSSM_ACL_SUBJECT_TYPE;
-enum {
- CSSM_ACL_SUBJECT_TYPE_ANY = CSSM_WORDID__STAR_,
- CSSM_ACL_SUBJECT_TYPE_THRESHOLD = CSSM_WORDID_THRESHOLD,
- CSSM_ACL_SUBJECT_TYPE_PASSWORD = CSSM_WORDID_PASSWORD,
- CSSM_ACL_SUBJECT_TYPE_PROTECTED_PASSWORD = CSSM_WORDID_PROTECTED_PASSWORD,
- CSSM_ACL_SUBJECT_TYPE_PROMPTED_PASSWORD = CSSM_WORDID_PROMPTED_PASSWORD,
- CSSM_ACL_SUBJECT_TYPE_PUBLIC_KEY = CSSM_WORDID_PUBLIC_KEY,
- CSSM_ACL_SUBJECT_TYPE_HASHED_SUBJECT = CSSM_WORDID_HASHED_SUBJECT,
- CSSM_ACL_SUBJECT_TYPE_BIOMETRIC = CSSM_WORDID_BIOMETRIC,
- CSSM_ACL_SUBJECT_TYPE_PROTECTED_BIOMETRIC = CSSM_WORDID_PROTECTED_BIOMETRIC,
- CSSM_ACL_SUBJECT_TYPE_PROMPTED_BIOMETRIC = CSSM_WORDID_PROMPTED_BIOMETRIC,
- CSSM_ACL_SUBJECT_TYPE_LOGIN_NAME = CSSM_WORDID_LOGIN_NAME,
- CSSM_ACL_SUBJECT_TYPE_EXT_PAM_NAME = CSSM_WORDID_PAM_NAME
-};
-
-/* Authorization tag type */
-typedef sint32 CSSM_ACL_AUTHORIZATION_TAG;
-enum {
- /* All vendor specific constants must be in the number range
- starting at CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START */
- CSSM_ACL_AUTHORIZATION_TAG_VENDOR_DEFINED_START = 0x00010000,
- /* No restrictions. Permission to perform all operations on
- the resource or available to an ACL owner. */
- CSSM_ACL_AUTHORIZATION_ANY = CSSM_WORDID__STAR_,
- /* Defined authorization tag values for CSPs */
- CSSM_ACL_AUTHORIZATION_LOGIN = CSSM_WORDID_LOGIN,
- CSSM_ACL_AUTHORIZATION_GENKEY = CSSM_WORDID_GENKEY,
- CSSM_ACL_AUTHORIZATION_DELETE = CSSM_WORDID_DELETE,
- CSSM_ACL_AUTHORIZATION_EXPORT_WRAPPED = CSSM_WORDID_EXPORT_WRAPPED,
- CSSM_ACL_AUTHORIZATION_EXPORT_CLEAR = CSSM_WORDID_EXPORT_CLEAR,
- CSSM_ACL_AUTHORIZATION_IMPORT_WRAPPED = CSSM_WORDID_IMPORT_WRAPPED,
- CSSM_ACL_AUTHORIZATION_IMPORT_CLEAR = CSSM_WORDID_IMPORT_CLEAR,
- CSSM_ACL_AUTHORIZATION_SIGN = CSSM_WORDID_SIGN,
- CSSM_ACL_AUTHORIZATION_ENCRYPT = CSSM_WORDID_ENCRYPT,
- CSSM_ACL_AUTHORIZATION_DECRYPT = CSSM_WORDID_DECRYPT,
- CSSM_ACL_AUTHORIZATION_MAC = CSSM_WORDID_MAC,
- CSSM_ACL_AUTHORIZATION_DERIVE = CSSM_WORDID_DERIVE,
- /* Defined authorization tag values for DLs */
- CSSM_ACL_AUTHORIZATION_DBS_CREATE = CSSM_WORDID_DBS_CREATE,
- CSSM_ACL_AUTHORIZATION_DBS_DELETE = CSSM_WORDID_DBS_DELETE,
- CSSM_ACL_AUTHORIZATION_DB_READ = CSSM_WORDID_DB_READ,
- CSSM_ACL_AUTHORIZATION_DB_INSERT = CSSM_WORDID_DB_INSERT,
- CSSM_ACL_AUTHORIZATION_DB_MODIFY = CSSM_WORDID_DB_MODIFY,
- CSSM_ACL_AUTHORIZATION_DB_DELETE = CSSM_WORDID_DB_DELETE
-};
-
-typedef struct cssm_authorizationgroup {
- uint32 NumberOfAuthTags;
- CSSM_ACL_AUTHORIZATION_TAG *AuthTags;
-} CSSM_AUTHORIZATIONGROUP DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_AUTHORIZATIONGROUP_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_acl_validity_period {
- CSSM_DATA StartDate;
- CSSM_DATA EndDate;
-} CSSM_ACL_VALIDITY_PERIOD DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_VALIDITY_PERIOD_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_acl_entry_prototype {
- CSSM_LIST TypedSubject;
- CSSM_BOOL Delegate;
- CSSM_AUTHORIZATIONGROUP Authorization;
- CSSM_ACL_VALIDITY_PERIOD TimeRange;
- CSSM_STRING EntryTag;
-} CSSM_ACL_ENTRY_PROTOTYPE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_ENTRY_PROTOTYPE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_acl_owner_prototype {
- CSSM_LIST TypedSubject;
- CSSM_BOOL Delegate;
-} CSSM_ACL_OWNER_PROTOTYPE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_OWNER_PROTOTYPE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef CSSM_RETURN (CSSMAPI * CSSM_ACL_SUBJECT_CALLBACK)
- (const CSSM_LIST *SubjectRequest,
- CSSM_LIST_PTR SubjectResponse,
- void *CallerContext,
- const CSSM_MEMORY_FUNCS *MemFuncs);
-
-typedef struct cssm_acl_entry_input {
- CSSM_ACL_ENTRY_PROTOTYPE Prototype;
- CSSM_ACL_SUBJECT_CALLBACK Callback;
- void *CallerContext;
-} CSSM_ACL_ENTRY_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_ENTRY_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_resource_control_context {
- CSSM_ACCESS_CREDENTIALS_PTR AccessCred;
- CSSM_ACL_ENTRY_INPUT InitialAclEntry;
-} CSSM_RESOURCE_CONTROL_CONTEXT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_RESOURCE_CONTROL_CONTEXT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef CSSM_HANDLE CSSM_ACL_HANDLE;
-
-typedef struct cssm_acl_entry_info {
- CSSM_ACL_ENTRY_PROTOTYPE EntryPublicInfo;
- CSSM_ACL_HANDLE EntryHandle;
-} CSSM_ACL_ENTRY_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_ENTRY_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_ACL_EDIT_MODE;
-enum {
- CSSM_ACL_EDIT_MODE_ADD = 1,
- CSSM_ACL_EDIT_MODE_DELETE = 2,
- CSSM_ACL_EDIT_MODE_REPLACE = 3
-};
-
-typedef struct cssm_acl_edit {
- CSSM_ACL_EDIT_MODE EditMode;
- CSSM_ACL_HANDLE OldEntryHandle;
- const CSSM_ACL_ENTRY_INPUT *NewEntry;
-} CSSM_ACL_EDIT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ACL_EDIT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-#if defined(WIN32)
-typedef FARPROC CSSM_PROC_ADDR;
-#else
-typedef void (CSSMAPI *CSSM_PROC_ADDR) ();
-#endif
-typedef CSSM_PROC_ADDR *CSSM_PROC_ADDR_PTR;
-
-typedef struct cssm_func_name_addr {
- CSSM_STRING Name;
- CSSM_PROC_ADDR Address;
-} CSSM_FUNC_NAME_ADDR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_FUNC_NAME_ADDR_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-
-/* Data Types for Cryptographic Services */
-
-typedef struct cssm_date {
- uint8 Year[4];
- uint8 Month[2];
- uint8 Day[2];
-} CSSM_DATE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DATE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_range {
- uint32 Min; /* inclusive minimum value */
- uint32 Max; /* inclusive maximum value */
-} CSSM_RANGE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_RANGE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_query_size_data {
- uint32 SizeInputBlock; /* size of input data block */
- uint32 SizeOutputBlock; /* size of resulting output data block */
-} CSSM_QUERY_SIZE_DATA DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_QUERY_SIZE_DATA_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_HEADERVERSION;
-enum {
- CSSM_KEYHEADER_VERSION = 2
-};
-
-typedef struct cssm_key_size {
- uint32 LogicalKeySizeInBits; /* Logical key size in bits */
- uint32 EffectiveKeySizeInBits; /* Effective key size in bits */
-} CSSM_KEY_SIZE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_KEY_SIZE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_KEYBLOB_TYPE;
-enum {
- CSSM_KEYBLOB_RAW = 0, /* The blob is a clear, raw key */
- CSSM_KEYBLOB_REFERENCE = 2, /* The blob is a reference to a key */
- CSSM_KEYBLOB_WRAPPED = 3, /* The blob is a wrapped RAW key */
- CSSM_KEYBLOB_OTHER = 0xFFFFFFFF
-};
-
-typedef uint32 CSSM_KEYBLOB_FORMAT;
-enum {
- /* Raw Format */
- CSSM_KEYBLOB_RAW_FORMAT_NONE = 0,
- /* No further conversion need to be done */
- CSSM_KEYBLOB_RAW_FORMAT_PKCS1 = 1, /* RSA PKCS1 V1.5 */
- CSSM_KEYBLOB_RAW_FORMAT_PKCS3 = 2, /* RSA PKCS3 V1.5 */
- CSSM_KEYBLOB_RAW_FORMAT_MSCAPI = 3, /* Microsoft CAPI V2.0 */
- CSSM_KEYBLOB_RAW_FORMAT_PGP = 4, /* PGP V */
- CSSM_KEYBLOB_RAW_FORMAT_FIPS186 = 5, /* US Gov. FIPS 186 - DSS V */
- CSSM_KEYBLOB_RAW_FORMAT_BSAFE = 6, /* RSA Bsafe V3.0 */
- CSSM_KEYBLOB_RAW_FORMAT_CCA = 9, /* CCA clear public key blob */
- CSSM_KEYBLOB_RAW_FORMAT_PKCS8 = 10, /* RSA PKCS8 V1.2 */
- CSSM_KEYBLOB_RAW_FORMAT_SPKI = 11, /* SPKI Specification */
- CSSM_KEYBLOB_RAW_FORMAT_OCTET_STRING = 12,
- CSSM_KEYBLOB_RAW_FORMAT_OTHER = 0xFFFFFFFF /* Other, CSP defined */
-};
-enum {
- /* Wrapped Format */
- CSSM_KEYBLOB_WRAPPED_FORMAT_NONE = 0,
- /* No further conversion need to be done */
- CSSM_KEYBLOB_WRAPPED_FORMAT_PKCS8 = 1, /* RSA PKCS8 V1.2 */
- CSSM_KEYBLOB_WRAPPED_FORMAT_PKCS7 = 2,
- CSSM_KEYBLOB_WRAPPED_FORMAT_MSCAPI = 3,
- CSSM_KEYBLOB_WRAPPED_FORMAT_OTHER = 0xFFFFFFFF /* Other, CSP defined */
-};
-enum {
- /* Reference Format */
- CSSM_KEYBLOB_REF_FORMAT_INTEGER = 0, /* Reference is a number or handle */
- CSSM_KEYBLOB_REF_FORMAT_STRING = 1, /* Reference is a string or label */
- CSSM_KEYBLOB_REF_FORMAT_SPKI = 2, /* Reference is an SPKI S-expression */
- /* to be evaluated to locate the key */
- CSSM_KEYBLOB_REF_FORMAT_OTHER = 0xFFFFFFFF /* Other, CSP defined */
-};
-
-typedef uint32 CSSM_KEYCLASS;
-enum {
- CSSM_KEYCLASS_PUBLIC_KEY = 0, /* Key is public key */
- CSSM_KEYCLASS_PRIVATE_KEY = 1, /* Key is private key */
- CSSM_KEYCLASS_SESSION_KEY = 2, /* Key is session or symmetric key */
- CSSM_KEYCLASS_SECRET_PART = 3, /* Key is part of secret key */
- CSSM_KEYCLASS_OTHER = 0xFFFFFFFF /* Other */
-};
-
-typedef uint32 CSSM_KEYATTR_FLAGS;
-enum {
- /* Valid only during call to an API. Will never be valid when set in a key header */
- CSSM_KEYATTR_RETURN_DEFAULT = 0x00000000,
- CSSM_KEYATTR_RETURN_DATA = 0x10000000,
- CSSM_KEYATTR_RETURN_REF = 0x20000000,
- CSSM_KEYATTR_RETURN_NONE = 0x40000000,
- /* Valid during an API call and in a key header */
- CSSM_KEYATTR_PERMANENT = 0x00000001,
- CSSM_KEYATTR_PRIVATE = 0x00000002,
- CSSM_KEYATTR_MODIFIABLE = 0x00000004,
- CSSM_KEYATTR_SENSITIVE = 0x00000008,
- CSSM_KEYATTR_EXTRACTABLE = 0x00000020,
- /* Valid only in a key header generated by a CSP, not valid during an API call */
- CSSM_KEYATTR_ALWAYS_SENSITIVE = 0x00000010,
- CSSM_KEYATTR_NEVER_EXTRACTABLE = 0x00000040
-};
-
-typedef uint32 CSSM_KEYUSE;
-enum {
- CSSM_KEYUSE_ANY = 0x80000000,
- CSSM_KEYUSE_ENCRYPT = 0x00000001,
- CSSM_KEYUSE_DECRYPT = 0x00000002,
- CSSM_KEYUSE_SIGN = 0x00000004,
- CSSM_KEYUSE_VERIFY = 0x00000008,
- CSSM_KEYUSE_SIGN_RECOVER = 0x00000010,
- CSSM_KEYUSE_VERIFY_RECOVER = 0x00000020,
- CSSM_KEYUSE_WRAP = 0x00000040,
- CSSM_KEYUSE_UNWRAP = 0x00000080,
- CSSM_KEYUSE_DERIVE = 0x00000100
-};
-
-typedef uint32 CSSM_ALGORITHMS;
-enum {
- CSSM_ALGID_NONE = 0,
- CSSM_ALGID_CUSTOM = CSSM_ALGID_NONE + 1,
- CSSM_ALGID_DH = CSSM_ALGID_NONE + 2,
- CSSM_ALGID_PH = CSSM_ALGID_NONE + 3,
- CSSM_ALGID_KEA = CSSM_ALGID_NONE + 4,
- CSSM_ALGID_MD2 = CSSM_ALGID_NONE + 5,
- CSSM_ALGID_MD4 = CSSM_ALGID_NONE + 6,
- CSSM_ALGID_MD5 = CSSM_ALGID_NONE + 7,
- CSSM_ALGID_SHA1 = CSSM_ALGID_NONE + 8,
- CSSM_ALGID_NHASH = CSSM_ALGID_NONE + 9,
- CSSM_ALGID_HAVAL = CSSM_ALGID_NONE + 10,
- CSSM_ALGID_RIPEMD = CSSM_ALGID_NONE + 11,
- CSSM_ALGID_IBCHASH = CSSM_ALGID_NONE + 12,
- CSSM_ALGID_RIPEMAC = CSSM_ALGID_NONE + 13,
- CSSM_ALGID_DES = CSSM_ALGID_NONE + 14,
- CSSM_ALGID_DESX = CSSM_ALGID_NONE + 15,
- CSSM_ALGID_RDES = CSSM_ALGID_NONE + 16,
- CSSM_ALGID_3DES_3KEY_EDE = CSSM_ALGID_NONE + 17,
- CSSM_ALGID_3DES_2KEY_EDE = CSSM_ALGID_NONE + 18,
- CSSM_ALGID_3DES_1KEY_EEE = CSSM_ALGID_NONE + 19,
- CSSM_ALGID_3DES_3KEY = CSSM_ALGID_3DES_3KEY_EDE,
- CSSM_ALGID_3DES_3KEY_EEE = CSSM_ALGID_NONE + 20,
- CSSM_ALGID_3DES_2KEY = CSSM_ALGID_3DES_2KEY_EDE,
- CSSM_ALGID_3DES_2KEY_EEE = CSSM_ALGID_NONE + 21,
- CSSM_ALGID_3DES_1KEY = CSSM_ALGID_3DES_3KEY_EEE,
- CSSM_ALGID_IDEA = CSSM_ALGID_NONE + 22,
- CSSM_ALGID_RC2 = CSSM_ALGID_NONE + 23,
- CSSM_ALGID_RC5 = CSSM_ALGID_NONE + 24,
- CSSM_ALGID_RC4 = CSSM_ALGID_NONE + 25,
- CSSM_ALGID_SEAL = CSSM_ALGID_NONE + 26,
- CSSM_ALGID_CAST = CSSM_ALGID_NONE + 27,
- CSSM_ALGID_BLOWFISH = CSSM_ALGID_NONE + 28,
- CSSM_ALGID_SKIPJACK = CSSM_ALGID_NONE + 29,
- CSSM_ALGID_LUCIFER = CSSM_ALGID_NONE + 30,
- CSSM_ALGID_MADRYGA = CSSM_ALGID_NONE + 31,
- CSSM_ALGID_FEAL = CSSM_ALGID_NONE + 32,
- CSSM_ALGID_REDOC = CSSM_ALGID_NONE + 33,
- CSSM_ALGID_REDOC3 = CSSM_ALGID_NONE + 34,
- CSSM_ALGID_LOKI = CSSM_ALGID_NONE + 35,
- CSSM_ALGID_KHUFU = CSSM_ALGID_NONE + 36,
- CSSM_ALGID_KHAFRE = CSSM_ALGID_NONE + 37,
- CSSM_ALGID_MMB = CSSM_ALGID_NONE + 38,
- CSSM_ALGID_GOST = CSSM_ALGID_NONE + 39,
- CSSM_ALGID_SAFER = CSSM_ALGID_NONE + 40,
- CSSM_ALGID_CRAB = CSSM_ALGID_NONE + 41,
- CSSM_ALGID_RSA = CSSM_ALGID_NONE + 42,
- CSSM_ALGID_DSA = CSSM_ALGID_NONE + 43,
- CSSM_ALGID_MD5WithRSA = CSSM_ALGID_NONE + 44,
- CSSM_ALGID_MD2WithRSA = CSSM_ALGID_NONE + 45,
- CSSM_ALGID_ElGamal = CSSM_ALGID_NONE + 46,
- CSSM_ALGID_MD2Random = CSSM_ALGID_NONE + 47,
- CSSM_ALGID_MD5Random = CSSM_ALGID_NONE + 48,
- CSSM_ALGID_SHARandom = CSSM_ALGID_NONE + 49,
- CSSM_ALGID_DESRandom = CSSM_ALGID_NONE + 50,
- CSSM_ALGID_SHA1WithRSA = CSSM_ALGID_NONE + 51,
- CSSM_ALGID_CDMF = CSSM_ALGID_NONE + 52,
- CSSM_ALGID_CAST3 = CSSM_ALGID_NONE + 53,
- CSSM_ALGID_CAST5 = CSSM_ALGID_NONE + 54,
- CSSM_ALGID_GenericSecret = CSSM_ALGID_NONE + 55,
- CSSM_ALGID_ConcatBaseAndKey = CSSM_ALGID_NONE + 56,
- CSSM_ALGID_ConcatKeyAndBase = CSSM_ALGID_NONE + 57,
- CSSM_ALGID_ConcatBaseAndData = CSSM_ALGID_NONE + 58,
- CSSM_ALGID_ConcatDataAndBase = CSSM_ALGID_NONE + 59,
- CSSM_ALGID_XORBaseAndData = CSSM_ALGID_NONE + 60,
- CSSM_ALGID_ExtractFromKey = CSSM_ALGID_NONE + 61,
- CSSM_ALGID_SSL3PreMasterGen = CSSM_ALGID_NONE + 62,
- CSSM_ALGID_SSL3MasterDerive = CSSM_ALGID_NONE + 63,
- CSSM_ALGID_SSL3KeyAndMacDerive = CSSM_ALGID_NONE + 64,
- CSSM_ALGID_SSL3MD5_MAC = CSSM_ALGID_NONE + 65,
- CSSM_ALGID_SSL3SHA1_MAC = CSSM_ALGID_NONE + 66,
- CSSM_ALGID_PKCS5_PBKDF1_MD5 = CSSM_ALGID_NONE + 67,
- CSSM_ALGID_PKCS5_PBKDF1_MD2 = CSSM_ALGID_NONE + 68,
- CSSM_ALGID_PKCS5_PBKDF1_SHA1 = CSSM_ALGID_NONE + 69,
- CSSM_ALGID_WrapLynks = CSSM_ALGID_NONE + 70,
- CSSM_ALGID_WrapSET_OAEP = CSSM_ALGID_NONE + 71,
- CSSM_ALGID_BATON = CSSM_ALGID_NONE + 72,
- CSSM_ALGID_ECDSA = CSSM_ALGID_NONE + 73,
- CSSM_ALGID_MAYFLY = CSSM_ALGID_NONE + 74,
- CSSM_ALGID_JUNIPER = CSSM_ALGID_NONE + 75,
- CSSM_ALGID_FASTHASH = CSSM_ALGID_NONE + 76,
- CSSM_ALGID_3DES = CSSM_ALGID_NONE + 77,
- CSSM_ALGID_SSL3MD5 = CSSM_ALGID_NONE + 78,
- CSSM_ALGID_SSL3SHA1 = CSSM_ALGID_NONE + 79,
- CSSM_ALGID_FortezzaTimestamp = CSSM_ALGID_NONE + 80,
- CSSM_ALGID_SHA1WithDSA = CSSM_ALGID_NONE + 81,
- CSSM_ALGID_SHA1WithECDSA = CSSM_ALGID_NONE + 82,
- CSSM_ALGID_DSA_BSAFE = CSSM_ALGID_NONE + 83,
- CSSM_ALGID_ECDH = CSSM_ALGID_NONE + 84,
- CSSM_ALGID_ECMQV = CSSM_ALGID_NONE + 85,
- CSSM_ALGID_PKCS12_SHA1_PBE = CSSM_ALGID_NONE + 86,
- CSSM_ALGID_ECNRA = CSSM_ALGID_NONE + 87,
- CSSM_ALGID_SHA1WithECNRA = CSSM_ALGID_NONE + 88,
- CSSM_ALGID_ECES = CSSM_ALGID_NONE + 89,
- CSSM_ALGID_ECAES = CSSM_ALGID_NONE + 90,
- CSSM_ALGID_SHA1HMAC = CSSM_ALGID_NONE + 91,
- CSSM_ALGID_FIPS186Random = CSSM_ALGID_NONE + 92,
- CSSM_ALGID_ECC = CSSM_ALGID_NONE + 93,
- CSSM_ALGID_MQV = CSSM_ALGID_NONE + 94,
- CSSM_ALGID_NRA = CSSM_ALGID_NONE + 95,
- CSSM_ALGID_IntelPlatformRandom = CSSM_ALGID_NONE + 96,
- CSSM_ALGID_UTC = CSSM_ALGID_NONE + 97,
- CSSM_ALGID_HAVAL3 = CSSM_ALGID_NONE + 98,
- CSSM_ALGID_HAVAL4 = CSSM_ALGID_NONE + 99,
- CSSM_ALGID_HAVAL5 = CSSM_ALGID_NONE + 100,
- CSSM_ALGID_TIGER = CSSM_ALGID_NONE + 101,
- CSSM_ALGID_MD5HMAC = CSSM_ALGID_NONE + 102,
- CSSM_ALGID_PKCS5_PBKDF2 = CSSM_ALGID_NONE + 103,
- CSSM_ALGID_RUNNING_COUNTER = CSSM_ALGID_NONE + 104,
- CSSM_ALGID_LAST = CSSM_ALGID_NONE + 0x7FFFFFFF,
-/* All algorithms IDs that are vendor specific, and not
- part of the CSSM specification should be defined relative
- to CSSM_ALGID_VENDOR_DEFINED. */
- CSSM_ALGID_VENDOR_DEFINED = CSSM_ALGID_NONE + 0x80000000
-};
-
-typedef uint32 CSSM_ENCRYPT_MODE;
-enum {
- CSSM_ALGMODE_NONE = 0,
- CSSM_ALGMODE_CUSTOM = CSSM_ALGMODE_NONE + 1,
- CSSM_ALGMODE_ECB = CSSM_ALGMODE_NONE + 2,
- CSSM_ALGMODE_ECBPad = CSSM_ALGMODE_NONE + 3,
- CSSM_ALGMODE_CBC = CSSM_ALGMODE_NONE + 4,
- CSSM_ALGMODE_CBC_IV8 = CSSM_ALGMODE_NONE + 5,
- CSSM_ALGMODE_CBCPadIV8 = CSSM_ALGMODE_NONE + 6,
- CSSM_ALGMODE_CFB = CSSM_ALGMODE_NONE + 7,
- CSSM_ALGMODE_CFB_IV8 = CSSM_ALGMODE_NONE + 8,
- CSSM_ALGMODE_CFBPadIV8 = CSSM_ALGMODE_NONE + 9,
- CSSM_ALGMODE_OFB = CSSM_ALGMODE_NONE + 10,
- CSSM_ALGMODE_OFB_IV8 = CSSM_ALGMODE_NONE + 11,
- CSSM_ALGMODE_OFBPadIV8 = CSSM_ALGMODE_NONE + 12,
- CSSM_ALGMODE_COUNTER = CSSM_ALGMODE_NONE + 13,
- CSSM_ALGMODE_BC = CSSM_ALGMODE_NONE + 14,
- CSSM_ALGMODE_PCBC = CSSM_ALGMODE_NONE + 15,
- CSSM_ALGMODE_CBCC = CSSM_ALGMODE_NONE + 16,
- CSSM_ALGMODE_OFBNLF = CSSM_ALGMODE_NONE + 17,
- CSSM_ALGMODE_PBC = CSSM_ALGMODE_NONE + 18,
- CSSM_ALGMODE_PFB = CSSM_ALGMODE_NONE + 19,
- CSSM_ALGMODE_CBCPD = CSSM_ALGMODE_NONE + 20,
- CSSM_ALGMODE_PUBLIC_KEY = CSSM_ALGMODE_NONE + 21,
- CSSM_ALGMODE_PRIVATE_KEY = CSSM_ALGMODE_NONE + 22,
- CSSM_ALGMODE_SHUFFLE = CSSM_ALGMODE_NONE + 23,
- CSSM_ALGMODE_ECB64 = CSSM_ALGMODE_NONE + 24,
- CSSM_ALGMODE_CBC64 = CSSM_ALGMODE_NONE + 25,
- CSSM_ALGMODE_OFB64 = CSSM_ALGMODE_NONE + 26,
- 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_PKCS1_EME_V15 = CSSM_ALGMODE_NONE + 38,
- CSSM_ALGMODE_PKCS1_EME_OAEP = CSSM_ALGMODE_NONE + 39,
- CSSM_ALGMODE_PKCS1_EMSA_V15 = CSSM_ALGMODE_NONE + 40,
- CSSM_ALGMODE_ISO_9796 = CSSM_ALGMODE_NONE + 41,
- CSSM_ALGMODE_X9_31 = CSSM_ALGMODE_NONE + 42,
- CSSM_ALGMODE_LAST = CSSM_ALGMODE_NONE + 0x7FFFFFFF,
-/* All algorithms modes that are vendor specific, and
- not part of the CSSM specification should be defined
- relative to CSSM_ALGMODE_VENDOR_DEFINED. */
- CSSM_ALGMODE_VENDOR_DEFINED = CSSM_ALGMODE_NONE + 0x80000000
-};
-
-typedef struct cssm_keyheader {
- CSSM_HEADERVERSION HeaderVersion; /* Key header version */
- CSSM_GUID CspId; /* GUID of CSP generating the key */
- CSSM_KEYBLOB_TYPE BlobType; /* See BlobType enum */
- CSSM_KEYBLOB_FORMAT Format; /* Raw or Reference format */
- CSSM_ALGORITHMS AlgorithmId; /* Algorithm ID of key */
- CSSM_KEYCLASS KeyClass; /* Public/Private/Secret, etc. */
- uint32 LogicalKeySizeInBits; /* Logical key size in bits */
- CSSM_KEYATTR_FLAGS KeyAttr; /* Attribute flags */
- CSSM_KEYUSE KeyUsage; /* Key use flags */
- CSSM_DATE StartDate; /* Effective date of key */
- CSSM_DATE EndDate; /* Expiration date of key */
- CSSM_ALGORITHMS WrapAlgorithmId; /* == CSSM_ALGID_NONE if clear key */
- CSSM_ENCRYPT_MODE WrapMode; /* if alg supports multiple wrapping modes */
- uint32 Reserved;
-} CSSM_KEYHEADER DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_KEYHEADER_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_key {
- CSSM_KEYHEADER KeyHeader; /* Fixed length key header */
- CSSM_DATA KeyData; /* Variable length key data */
-} CSSM_KEY DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_KEY_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef CSSM_KEY CSSM_WRAP_KEY, *CSSM_WRAP_KEY_PTR;
-
-typedef uint32 CSSM_CSPTYPE;
-enum {
- CSSM_CSP_SOFTWARE = 1,
- CSSM_CSP_HARDWARE = CSSM_CSP_SOFTWARE + 1,
- CSSM_CSP_HYBRID = CSSM_CSP_SOFTWARE + 2
-};
-
-/* From DL. */
-typedef struct cssm_dl_db_handle {
- CSSM_DL_HANDLE DLHandle;
- CSSM_DB_HANDLE DBHandle;
-} CSSM_DL_DB_HANDLE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DL_DB_HANDLE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_CONTEXT_TYPE;
-enum {
- CSSM_ALGCLASS_NONE = 0,
- CSSM_ALGCLASS_CUSTOM = CSSM_ALGCLASS_NONE + 1,
- CSSM_ALGCLASS_SIGNATURE = CSSM_ALGCLASS_NONE + 2,
- CSSM_ALGCLASS_SYMMETRIC = CSSM_ALGCLASS_NONE + 3,
- CSSM_ALGCLASS_DIGEST = CSSM_ALGCLASS_NONE + 4,
- CSSM_ALGCLASS_RANDOMGEN = CSSM_ALGCLASS_NONE + 5,
- CSSM_ALGCLASS_UNIQUEGEN = CSSM_ALGCLASS_NONE + 6,
- CSSM_ALGCLASS_MAC = CSSM_ALGCLASS_NONE + 7,
- CSSM_ALGCLASS_ASYMMETRIC = CSSM_ALGCLASS_NONE + 8,
- CSSM_ALGCLASS_KEYGEN = CSSM_ALGCLASS_NONE + 9,
- CSSM_ALGCLASS_DERIVEKEY = CSSM_ALGCLASS_NONE + 10
-};
-
-/* Attribute data type tags */
-enum {
- CSSM_ATTRIBUTE_DATA_NONE = 0x00000000,
- CSSM_ATTRIBUTE_DATA_UINT32 = 0x10000000,
- CSSM_ATTRIBUTE_DATA_CSSM_DATA = 0x20000000,
- CSSM_ATTRIBUTE_DATA_CRYPTO_DATA = 0x30000000,
- CSSM_ATTRIBUTE_DATA_KEY = 0x40000000,
- CSSM_ATTRIBUTE_DATA_STRING = 0x50000000,
- CSSM_ATTRIBUTE_DATA_DATE = 0x60000000,
- CSSM_ATTRIBUTE_DATA_RANGE = 0x70000000,
- CSSM_ATTRIBUTE_DATA_ACCESS_CREDENTIALS = 0x80000000,
- CSSM_ATTRIBUTE_DATA_VERSION = 0x01000000,
- CSSM_ATTRIBUTE_DATA_DL_DB_HANDLE = 0x02000000,
- CSSM_ATTRIBUTE_DATA_KR_PROFILE = 0x03000000,
- CSSM_ATTRIBUTE_TYPE_MASK = 0xFF000000
-};
-
-typedef uint32 CSSM_ATTRIBUTE_TYPE;
-enum {
- 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_KRPROFILE_LOCAL = CSSM_ATTRIBUTE_DATA_KR_PROFILE | 32,
- CSSM_ATTRIBUTE_KRPROFILE_REMOTE = CSSM_ATTRIBUTE_DATA_KR_PROFILE | 33,
- CSSM_ATTRIBUTE_CSP_HANDLE = CSSM_ATTRIBUTE_DATA_UINT32 | 34,
- CSSM_ATTRIBUTE_DL_DB_HANDLE = CSSM_ATTRIBUTE_DATA_DL_DB_HANDLE | 35,
- CSSM_ATTRIBUTE_ACCESS_CREDENTIALS = CSSM_ATTRIBUTE_DATA_ACCESS_CREDENTIALS | 36,
- CSSM_ATTRIBUTE_PUBLIC_KEY_FORMAT = CSSM_ATTRIBUTE_DATA_UINT32 | 37,
- CSSM_ATTRIBUTE_PRIVATE_KEY_FORMAT = CSSM_ATTRIBUTE_DATA_UINT32 | 38,
- CSSM_ATTRIBUTE_SYMMETRIC_KEY_FORMAT=CSSM_ATTRIBUTE_DATA_UINT32 | 39,
- CSSM_ATTRIBUTE_WRAPPED_KEY_FORMAT = CSSM_ATTRIBUTE_DATA_UINT32 | 40
-};
-
-typedef uint32 CSSM_PADDING;
-enum {
- 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_PKCS1 = CSSM_PADDING_NONE + 10,
-/* All padding types that are vendor specific, and not
- part of the CSSM specification should be defined
- relative to CSSM_PADDING_VENDOR_DEFINED. */
- CSSM_PADDING_VENDOR_DEFINED = CSSM_PADDING_NONE + 0x80000000
-};
-
-typedef CSSM_ALGORITHMS CSSM_KEY_TYPE;
-
-typedef struct cssm_context_attribute {
- CSSM_ATTRIBUTE_TYPE AttributeType;
- uint32 AttributeLength;
- union cssm_context_attribute_value {
- char *String;
- uint32 Uint32;
- CSSM_ACCESS_CREDENTIALS_PTR AccessCredentials;
- CSSM_KEY_PTR Key;
- CSSM_DATA_PTR Data;
- CSSM_PADDING Padding;
- CSSM_DATE_PTR Date;
- CSSM_RANGE_PTR Range;
- CSSM_CRYPTO_DATA_PTR CryptoData;
- CSSM_VERSION_PTR Version;
- CSSM_DL_DB_HANDLE_PTR DLDBHandle;
- struct cssm_kr_profile *KRProfile;
- } Attribute;
-} CSSM_CONTEXT_ATTRIBUTE, *CSSM_CONTEXT_ATTRIBUTE_PTR;
-
-typedef struct cssm_context {
- CSSM_CONTEXT_TYPE ContextType;
- CSSM_ALGORITHMS AlgorithmType;
- uint32 NumberOfAttributes;
- CSSM_CONTEXT_ATTRIBUTE_PTR ContextAttributes;
- CSSM_CSP_HANDLE CSPHandle;
- CSSM_BOOL Privileged;
- uint32 /*CSSM_KR_POLICY_FLAGS*/ EncryptionProhibited;
- uint32 WorkFactor;
- uint32 Reserved; /* reserved for future use */
-} CSSM_CONTEXT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CONTEXT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_SC_FLAGS;
-enum {
- CSSM_CSP_TOK_RNG = 0x00000001,
- CSSM_CSP_TOK_CLOCK_EXISTS = 0x00000040
-};
-
-typedef uint32 CSSM_CSP_READER_FLAGS;
-enum {
- CSSM_CSP_RDR_TOKENPRESENT = 0x00000001,
- /* Token is present in reader/slot */
- CSSM_CSP_RDR_EXISTS = 0x00000002,
- /* Device is a reader with a
- removable token */
- CSSM_CSP_RDR_HW = 0x00000004
- /* Slot is a hardware slot */
-};
-
-typedef uint32 CSSM_CSP_FLAGS;
-enum {
- CSSM_CSP_TOK_WRITE_PROTECTED = 0x00000002,
- CSSM_CSP_TOK_LOGIN_REQUIRED = 0x00000004,
- CSSM_CSP_TOK_USER_PIN_INITIALIZED = 0x00000008,
- CSSM_CSP_TOK_PROT_AUTHENTICATION = 0x00000100,
- CSSM_CSP_TOK_USER_PIN_EXPIRED = 0x00100000,
- CSSM_CSP_TOK_SESSION_KEY_PASSWORD = 0x00200000,
- CSSM_CSP_TOK_PRIVATE_KEY_PASSWORD = 0x00400000,
- CSSM_CSP_STORES_PRIVATE_KEYS = 0x01000000,
- CSSM_CSP_STORES_PUBLIC_KEYS = 0x02000000,
- CSSM_CSP_STORES_SESSION_KEYS = 0x04000000,
- CSSM_CSP_STORES_CERTIFICATES = 0x08000000,
- CSSM_CSP_STORES_GENERIC = 0x10000000
-};
-
-typedef uint32 CSSM_PKCS_OAEP_MGF;
-enum {
- CSSM_PKCS_OAEP_MGF_NONE = 0,
- CSSM_PKCS_OAEP_MGF1_SHA1 = CSSM_PKCS_OAEP_MGF_NONE + 1,
- CSSM_PKCS_OAEP_MGF1_MD5 = CSSM_PKCS_OAEP_MGF_NONE + 2
-};
-
-typedef uint32 CSSM_PKCS_OAEP_PSOURCE;
-enum {
- CSSM_PKCS_OAEP_PSOURCE_NONE = 0,
- CSSM_PKCS_OAEP_PSOURCE_Pspecified = CSSM_PKCS_OAEP_PSOURCE_NONE + 1
-};
-
-typedef struct cssm_pkcs1_oaep_params {
- uint32 HashAlgorithm;
- CSSM_DATA HashParams;
- CSSM_PKCS_OAEP_MGF MGF;
- CSSM_DATA MGFParams;
- CSSM_PKCS_OAEP_PSOURCE PSource;
- CSSM_DATA PSourceParams;
-} CSSM_PKCS1_OAEP_PARAMS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_PKCS1_OAEP_PARAMS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_csp_operational_statistics {
- CSSM_BOOL UserAuthenticated;
- /* CSSM_TRUE if the user is logged in to the token, CSSM_FALSE otherwise. */
- CSSM_CSP_FLAGS DeviceFlags;
- uint32 TokenMaxSessionCount; /* Exported by Cryptoki modules. */
- uint32 TokenOpenedSessionCount;
- uint32 TokenMaxRWSessionCount;
- uint32 TokenOpenedRWSessionCount;
- uint32 TokenTotalPublicMem; /* Storage space statistics. */
- uint32 TokenFreePublicMem;
- uint32 TokenTotalPrivateMem;
- uint32 TokenFreePrivateMem;
-} CSSM_CSP_OPERATIONAL_STATISTICS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CSP_OPERATIONAL_STATISTICS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-/* Indicates that the statistical value can not be revealed or is not
- relevant for a CSP */
-enum {
- CSSM_VALUE_NOT_AVAILABLE = (uint32)(~0)
-};
-
-typedef struct cssm_pkcs5_pbkdf1_params {
- CSSM_DATA Passphrase;
- CSSM_DATA InitVector;
-} CSSM_PKCS5_PBKDF1_PARAMS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_PKCS5_PBKDF1_PARAMS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_PKCS5_PBKDF2_PRF;
-enum {
- CSSM_PKCS5_PBKDF2_PRF_HMAC_SHA1 = 0
-};
-
-typedef struct cssm_pkcs5_pbkdf2_params {
- CSSM_DATA Passphrase;
- CSSM_PKCS5_PBKDF2_PRF PseudoRandomFunction;
-} CSSM_PKCS5_PBKDF2_PARAMS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_PKCS5_PBKDF2_PARAMS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_kea_derive_params {
- CSSM_DATA Rb;
- CSSM_DATA Yb;
-} CSSM_KEA_DERIVE_PARAMS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_KEA_DERIVE_PARAMS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-
-/* Data Types for Trust Policy Services */
-
-typedef struct cssm_tp_authority_id {
- CSSM_DATA *AuthorityCert;
- CSSM_NET_ADDRESS_PTR AuthorityLocation;
-} CSSM_TP_AUTHORITY_ID DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_AUTHORITY_ID_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_AUTHORITY_REQUEST_TYPE, *CSSM_TP_AUTHORITY_REQUEST_TYPE_PTR;
-enum {
- CSSM_TP_AUTHORITY_REQUEST_CERTISSUE = 0x01,
- CSSM_TP_AUTHORITY_REQUEST_CERTREVOKE = 0x02,
- CSSM_TP_AUTHORITY_REQUEST_CERTSUSPEND = 0x03,
- CSSM_TP_AUTHORITY_REQUEST_CERTRESUME = 0x04,
- CSSM_TP_AUTHORITY_REQUEST_CERTVERIFY = 0x05,
- CSSM_TP_AUTHORITY_REQUEST_CERTNOTARIZE = 0x06,
- CSSM_TP_AUTHORITY_REQUEST_CERTUSERECOVER = 0x07,
- CSSM_TP_AUTHORITY_REQUEST_CRLISSUE = 0x100
-};
-
-typedef CSSM_RETURN (CSSMAPI * CSSM_TP_VERIFICATION_RESULTS_CALLBACK)
- (CSSM_MODULE_HANDLE ModuleHandle,
- void *CallerCtx,
- CSSM_DATA_PTR VerifiedCert);
-
-/* From CL */
-typedef CSSM_DATA CSSM_OID, *CSSM_OID_PTR;
-
-typedef struct cssm_field {
- CSSM_OID FieldOid;
- CSSM_DATA FieldValue;
-} CSSM_FIELD DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_FIELD_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-/* TP Again. */
-typedef struct cssm_tp_policyinfo {
- uint32 NumberOfPolicyIds;
- CSSM_FIELD_PTR PolicyIds;
- void *PolicyControl;
-} CSSM_TP_POLICYINFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_POLICYINFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_SERVICES;
-enum {
- /* bit masks for additional Authority services available through TP */
- CSSM_TP_KEY_ARCHIVE = 0x0001, /* archive cert & keys */
- CSSM_TP_CERT_PUBLISH = 0x0002, /* register cert in directory */
- CSSM_TP_CERT_NOTIFY_RENEW = 0x0004, /* notify at renewal time */
- CSSM_TP_CERT_DIR_UPDATE = 0x0008, /* update cert registry entry */
- CSSM_TP_CRL_DISTRIBUTE = 0x0010 /* push CRL to everyone */
-};
-
-typedef uint32 CSSM_TP_ACTION;
-enum {
- CSSM_TP_ACTION_DEFAULT = 0
-};
-
-typedef uint32 CSSM_TP_STOP_ON;
-enum {
- CSSM_TP_STOP_ON_POLICY = 0, /* use the pre-defined stopping criteria */
- CSSM_TP_STOP_ON_NONE = 1, /* evaluate all condition whether TRUE or FALSE */
- CSSM_TP_STOP_ON_FIRST_PASS = 2, /* stop evaluation at first TRUE */
- CSSM_TP_STOP_ON_FIRST_FAIL = 3 /* stop evaluation at first FALSE */
-};
-
-typedef char *CSSM_TIMESTRING;
-
-/* From DL. */
-typedef struct cssm_dl_db_list {
- uint32 NumHandles;
- CSSM_DL_DB_HANDLE_PTR DLDBHandle;
-} CSSM_DL_DB_LIST DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DL_DB_LIST_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-/* TP Again. */
-typedef struct cssm_tp_callerauth_context {
- CSSM_TP_POLICYINFO Policy;
- CSSM_TIMESTRING VerifyTime;
- CSSM_TP_STOP_ON VerificationAbortOn;
- CSSM_TP_VERIFICATION_RESULTS_CALLBACK CallbackWithVerifiedCert;
- uint32 NumberOfAnchorCerts;
- CSSM_DATA_PTR AnchorCerts;
- CSSM_DL_DB_LIST_PTR DBList;
- CSSM_ACCESS_CREDENTIALS_PTR CallerCredentials;
-} CSSM_TP_CALLERAUTH_CONTEXT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CALLERAUTH_CONTEXT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_CRL_PARSE_FORMAT, * CSSM_CRL_PARSE_FORMAT_PTR;
-enum {
- CSSM_CRL_PARSE_FORMAT_NONE = 0x00,
- CSSM_CRL_PARSE_FORMAT_CUSTOM = 0x01,
- CSSM_CRL_PARSE_FORMAT_SEXPR = 0x02,
- CSSM_CRL_PARSE_FORMAT_COMPLEX = 0x03,
- CSSM_CRL_PARSE_FORMAT_OID_NAMED = 0x04,
- CSSM_CRL_PARSE_FORMAT_TUPLE = 0x05,
- CSSM_CRL_PARSE_FORMAT_MULTIPLE = 0x7FFE,
- CSSM_CRL_PARSE_FORMAT_LAST = 0x7FFF,
- /* Applications wishing to define their own custom parse
- format should create a uint32 value greater than the
- CSSM_CL_CUSTOM_CRL_PARSE_FORMAT */
- CSSM_CL_CUSTOM_CRL_PARSE_FORMAT = 0x8000
-};
-
-/* From CL. */
-typedef uint32 CSSM_CRL_TYPE, *CSSM_CRL_TYPE_PTR;
-enum {
- CSSM_CRL_TYPE_UNKNOWN = 0x00,
- CSSM_CRL_TYPE_X_509v1 = 0x01,
- CSSM_CRL_TYPE_X_509v2 = 0x02,
- CSSM_CRL_TYPE_SPKI = 0x03,
- CSSM_CRL_TYPE_MULTIPLE = 0x7FFE
-};
-
-typedef uint32 CSSM_CRL_ENCODING, *CSSM_CRL_ENCODING_PTR;
-enum {
- CSSM_CRL_ENCODING_UNKNOWN = 0x00,
- CSSM_CRL_ENCODING_CUSTOM = 0x01,
- CSSM_CRL_ENCODING_BER = 0x02,
- CSSM_CRL_ENCODING_DER = 0x03,
- CSSM_CRL_ENCODING_BLOOM = 0x04,
- CSSM_CRL_ENCODING_SEXPR = 0x05,
- CSSM_CRL_ENCODING_MULTIPLE = 0x7FFE
-};
-
-typedef struct cssm_encoded_crl {
- CSSM_CRL_TYPE CrlType; /* type of CRL */
- CSSM_CRL_ENCODING CrlEncoding; /* encoding for this packed CRL */
- CSSM_DATA CrlBlob; /* packed CRL */
-} CSSM_ENCODED_CRL DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_ENCODED_CRL_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-/* TP Again. */
-typedef struct cssm_parsed_crl {
- CSSM_CRL_TYPE CrlType; /* CRL type */
- CSSM_CRL_PARSE_FORMAT ParsedCrlFormat;
- /* struct of ParsedCrl */
- void *ParsedCrl; /* parsed CRL (to be typecast) */
-} CSSM_PARSED_CRL DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_PARSED_CRL_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_crl_pair {
- CSSM_ENCODED_CRL EncodedCrl; /* an encoded CRL blob */
- CSSM_PARSED_CRL ParsedCrl; /* equivalent parsed CRL */
-} CSSM_CRL_PAIR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CRL_PAIR_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_CRLGROUP_TYPE, * CSSM_CRLGROUP_TYPE_PTR;
-enum {
- CSSM_CRLGROUP_DATA = 0x00,
- CSSM_CRLGROUP_ENCODED_CRL = 0x01,
- CSSM_CRLGROUP_PARSED_CRL = 0x02,
- CSSM_CRLGROUP_CRL_PAIR = 0x03
-};
-
-typedef struct cssm_crlgroup {
- CSSM_CRL_TYPE CrlType;
- CSSM_CRL_ENCODING CrlEncoding;
- uint32 NumberOfCrls;
- union {
- CSSM_DATA_PTR CrlList; /* CRL blob */
- CSSM_ENCODED_CRL_PTR EncodedCrlList; /* CRL blob w/ separate type */
- CSSM_PARSED_CRL_PTR ParsedCrlList; /* bushy, parsed CRL */
- CSSM_CRL_PAIR_PTR PairCrlList;
- } GroupCrlList;
- CSSM_CRLGROUP_TYPE CrlGroupType;
-} CSSM_CRLGROUP, *CSSM_CRLGROUP_PTR;
-
-typedef struct cssm_fieldgroup {
- int NumberOfFields; /* number of fields in the array */
- CSSM_FIELD_PTR Fields; /* array of fields */
-} CSSM_FIELDGROUP DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_FIELDGROUP_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_EVIDENCE_FORM;
-enum {
- CSSM_EVIDENCE_FORM_UNSPECIFIC = 0x0,
- CSSM_EVIDENCE_FORM_CERT = 0x1,
- CSSM_EVIDENCE_FORM_CRL = 0x2,
- CSSM_EVIDENCE_FORM_CERT_ID = 0x3,
- CSSM_EVIDENCE_FORM_CRL_ID = 0x4,
- CSSM_EVIDENCE_FORM_VERIFIER_TIME = 0x5,
- CSSM_EVIDENCE_FORM_CRL_THISTIME = 0x6,
- CSSM_EVIDENCE_FORM_CRL_NEXTTIME = 0x7,
- CSSM_EVIDENCE_FORM_POLICYINFO = 0x8,
- CSSM_EVIDENCE_FORM_TUPLEGROUP = 0x9
-};
-
-typedef struct cssm_evidence {
- CSSM_EVIDENCE_FORM EvidenceForm;
- void *Evidence; /* Evidence content */
-} CSSM_EVIDENCE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_EVIDENCE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_verify_context {
- CSSM_TP_ACTION Action;
- CSSM_DATA ActionData;
- CSSM_CRLGROUP Crls;
- CSSM_TP_CALLERAUTH_CONTEXT_PTR Cred;
-} CSSM_TP_VERIFY_CONTEXT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_VERIFY_CONTEXT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_verify_context_result {
- uint32 NumberOfEvidences;
- CSSM_EVIDENCE_PTR Evidence;
-} CSSM_TP_VERIFY_CONTEXT_RESULT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_VERIFY_CONTEXT_RESULT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_request_set {
- uint32 NumberOfRequests;
- void *Requests;
-} CSSM_TP_REQUEST_SET DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_REQUEST_SET_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_result_set {
- uint32 NumberOfResults;
- void *Results;
-} CSSM_TP_RESULT_SET DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_RESULT_SET_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CONFIRM_STATUS, *CSSM_TP_CONFIRM_STATUS_PTR;
-enum {
- CSSM_TP_CONFIRM_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CONFIRM_ACCEPT = 0x1,
- /* accept results of executing a
- submit-retrieve function pair */
- CSSM_TP_CONFIRM_REJECT = 0x2
- /* reject results of executing a
- submit-retrieve function pair */
-};
-
-typedef struct cssm_tp_confirm_response {
- uint32 NumberOfResponses;
- CSSM_TP_CONFIRM_STATUS_PTR Responses;
-} CSSM_TP_CONFIRM_RESPONSE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CONFIRM_RESPONSE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-enum {
- CSSM_ESTIMATED_TIME_UNKNOWN = -1
-};
-
-enum {
- CSSM_ELAPSED_TIME_UNKNOWN = -1,
- CSSM_ELAPSED_TIME_COMPLETE = -2
-};
-
-typedef struct cssm_tp_certissue_input {
- CSSM_SUBSERVICE_UID CSPSubserviceUid;
- CSSM_CL_HANDLE CLHandle;
- uint32 NumberOfTemplateFields;
- CSSM_FIELD_PTR SubjectCertFields;
- CSSM_TP_SERVICES MoreServiceRequests;
- uint32 NumberOfServiceControls;
- CSSM_FIELD_PTR ServiceControls;
- CSSM_ACCESS_CREDENTIALS_PTR UserCredentials;
-} CSSM_TP_CERTISSUE_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTISSUE_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTISSUE_STATUS;
-enum {
- CSSM_TP_CERTISSUE_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CERTISSUE_OK = 0x1,
- /* cert issued as requested */
- CSSM_TP_CERTISSUE_OKWITHCERTMODS = 0x2,
- /* cert issued but cert contents were
- updated by the issuing authority */
- CSSM_TP_CERTISSUE_OKWITHSERVICEMODS = 0x3,
- /* cert issued but some requested backend
- services were not performed by the
- issuing authority */
- CSSM_TP_CERTISSUE_REJECTED = 0x4,
- /* cert was not issued due to some error
- condition */
- CSSM_TP_CERTISSUE_NOT_AUTHORIZED = 0x5,
- /* cert was not issued, the request was
- not authorized */
- CSSM_TP_CERTISSUE_WILL_BE_REVOKED = 0x6
- /* cert was issued, but TP has initiated
- a revocation of the certificate */
-};
-
-typedef struct cssm_tp_certissue_output {
- CSSM_TP_CERTISSUE_STATUS IssueStatus;
- CSSM_CERTGROUP_PTR CertGroup;
- CSSM_TP_SERVICES PerformedServiceRequests;
-} CSSM_TP_CERTISSUE_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTISSUE_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTCHANGE_ACTION;
-enum {
- CSSM_TP_CERTCHANGE_NONE = 0x0, /* no change */
- CSSM_TP_CERTCHANGE_REVOKE = 0x1, /* Revoke the certificate */
-/* This action type indicates a request to revoke a single
- certificate. Notice of the revocation operation remains
- in affect until the certificate itself expires. Revocation
- should be used to permanently remove a certificate from use. */
- CSSM_TP_CERTCHANGE_HOLD = 0x2, /* Hold/suspend the certificate */
-/* This action type indicates a request to suspend a
- single certificate. A suspension operation implies
- that the requester intends, at some time in the future,
- to request that the certificate be released from hold,
- making it available for use again. Placing a hold on
- a certificate does not obligate the requester to
- request a release. In practice, a certificate may
- remain on hold until the certificate itself expires.
- Revocation should be used to permanently remove a
- certificate from use. */
- CSSM_TP_CERTCHANGE_RELEASE = 0x3 /* Release the held certificate */
-/* This action type indicates a request to release a
- single certificate currently on hold. A release
- operation makes a certificate available for use again.
- Revocation should be used to permanently remove a
- certificate from use. */
-};
-
-typedef uint32 CSSM_TP_CERTCHANGE_REASON;
-enum {
- CSSM_TP_CERTCHANGE_REASON_UNKNOWN = 0x0,
- /* unspecified */
- CSSM_TP_CERTCHANGE_REASON_KEYCOMPROMISE = 0x1,
- /* Subject key believed to be compromised */
- CSSM_TP_CERTCHANGE_REASON_CACOMPROMISE = 0x2,
- /* CA\92s key believed to be compromised */
- CSSM_TP_CERTCHANGE_REASON_CEASEOPERATION = 0x3,
- /* certificate holder ceases operation under
- the jurisdiction of this certificate */
- CSSM_TP_CERTCHANGE_REASON_AFFILIATIONCHANGE = 0x4,
- /* certificate holder has moved from this
- jurisdiction */
- CSSM_TP_CERTCHANGE_REASON_SUPERCEDED = 0x5,
- /* certificate holder as issued a new, superceding
- certificate */
- CSSM_TP_CERTCHANGE_REASON_SUSPECTEDCOMPROMISE = 0x6,
- /* certificate could be compromised */
- CSSM_TP_CERTCHANGE_REASON_HOLDRELEASE = 0x7
- /* certificate holder resumes operation under the
- jurisdiction of this certificate */
-};
-
-typedef struct cssm_tp_certchange_input {
- CSSM_TP_CERTCHANGE_ACTION Action;
- CSSM_TP_CERTCHANGE_REASON Reason;
- CSSM_CL_HANDLE CLHandle;
- CSSM_DATA_PTR Cert;
- CSSM_FIELD_PTR ChangeInfo;
- CSSM_TIMESTRING StartTime;
- CSSM_ACCESS_CREDENTIALS_PTR CallerCredentials;
-} CSSM_TP_CERTCHANGE_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTCHANGE_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTCHANGE_STATUS;
-enum {
- CSSM_TP_CERTCHANGE_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CERTCHANGE_OK = 0x1,
- /* cert state was successfully changed
- beginning at the specified time */
- CSSM_TP_CERTCHANGE_OKWITHNEWTIME = 0x2,
- /* cert state was successfully changed,
- at a modified effective time */
- CSSM_TP_CERTCHANGE_WRONGCA = 0x3,
- /* cert state was not changed, the
- selected CA is not authorized to
- change the cert state */
- CSSM_TP_CERTCHANGE_REJECTED = 0x4,
- /* cert state was not changed due to some
- error condition */
- CSSM_TP_CERTCHANGE_NOT_AUTHORIZED = 0x5
- /* cert state was not changed, the
- requester is not authorized to change
- the cert state */
-};
-
-typedef struct cssm_tp_certchange_output {
- CSSM_TP_CERTCHANGE_STATUS ActionStatus;
- CSSM_FIELD RevokeInfo;
-} CSSM_TP_CERTCHANGE_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTCHANGE_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_certverify_input {
- CSSM_CL_HANDLE CLHandle;
- CSSM_DATA_PTR Cert;
- CSSM_TP_VERIFY_CONTEXT_PTR VerifyContext;
-} CSSM_TP_CERTVERIFY_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTVERIFY_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTVERIFY_STATUS;
-enum {
- CSSM_TP_CERTVERIFY_UNKNOWN = 0x0,
- CSSM_TP_CERTVERIFY_VALID = 0x1,
- CSSM_TP_CERTVERIFY_INVALID = 0x2,
- CSSM_TP_CERTVERIFY_REVOKED = 0x3,
- CSSM_TP_CERTVERIFY_SUSPENDED = 0x4,
- CSSM_TP_CERTVERIFY_EXPIRED = 0x5,
- CSSM_TP_CERTVERIFY_NOT_VALID_YET = 0x6,
- CSSM_TP_CERTVERIFY_INVALID_AUTHORITY = 0x7,
- CSSM_TP_CERTVERIFY_INVALID_SIGNATURE = 0x8,
- CSSM_TP_CERTVERIFY_INVALID_CERT_VALUE = 0x9,
- CSSM_TP_CERTVERIFY_INVALID_CERTGROUP = 0xA,
- CSSM_TP_CERTVERIFY_INVALID_POLICY = 0xB,
- CSSM_TP_CERTVERIFY_INVALID_POLICY_IDS = 0xC,
- CSSM_TP_CERTVERIFY_INVALID_BASIC_CONSTRAINTS = 0xD,
- CSSM_TP_CERTVERIFY_INVALID_CRL_DIST_PT = 0xE,
- CSSM_TP_CERTVERIFY_INVALID_NAME_TREE = 0xF,
- CSSM_TP_CERTVERIFY_UNKNOWN_CRITICAL_EXT = 0x10
-};
-
-typedef struct cssm_tp_certverify_output {
- CSSM_TP_CERTVERIFY_STATUS VerifyStatus;
- uint32 NumberOfEvidence;
- CSSM_EVIDENCE_PTR Evidence;
-} CSSM_TP_CERTVERIFY_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTVERIFY_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_certnotarize_input {
- CSSM_CL_HANDLE CLHandle;
- uint32 NumberOfFields;
- CSSM_FIELD_PTR MoreFields;
- CSSM_FIELD_PTR SignScope;
- uint32 ScopeSize;
- CSSM_TP_SERVICES MoreServiceRequests;
- uint32 NumberOfServiceControls;
- CSSM_FIELD_PTR ServiceControls;
- CSSM_ACCESS_CREDENTIALS_PTR UserCredentials;
-} CSSM_TP_CERTNOTARIZE_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTNOTARIZE_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTNOTARIZE_STATUS;
-enum {
- CSSM_TP_CERTNOTARIZE_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CERTNOTARIZE_OK = 0x1,
- /* cert fields were added and the result was
- notarized as requested */
- CSSM_TP_CERTNOTARIZE_OKWITHOUTFIELDS = 0x2,
- /* non-conflicting cert fields were added,
- conflicting cert fields were ignored,
- and the result was notarized as requested */
- CSSM_TP_CERTNOTARIZE_OKWITHSERVICEMODS = 0x3,
- /* cert fields were added and the result was
- notarized as requested, but some requested
- backend services were not performed by the
- notary */
- CSSM_TP_CERTNOTARIZE_REJECTED = 0x4,
- /* cert was not notarized due to some error
- condition */
- CSSM_TP_CERTNOTARIZE_NOT_AUTHORIZED = 0x5
- /* cert was not notarized, the request was
- not authorized */
-};
-
-typedef struct cssm_tp_certnotarize_output {
- CSSM_TP_CERTNOTARIZE_STATUS NotarizeStatus;
- CSSM_CERTGROUP_PTR NotarizedCertGroup;
- CSSM_TP_SERVICES PerformedServiceRequests;
-} CSSM_TP_CERTNOTARIZE_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTNOTARIZE_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_certreclaim_input {
- CSSM_CL_HANDLE CLHandle;
- uint32 NumberOfSelectionFields;
- CSSM_FIELD_PTR SelectionFields;
- CSSM_ACCESS_CREDENTIALS_PTR UserCredentials;
-} CSSM_TP_CERTRECLAIM_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTRECLAIM_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CERTRECLAIM_STATUS;
-enum {
- CSSM_TP_CERTRECLAIM_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CERTRECLAIM_OK = 0x1,
- /* a set of one or more certificates were
- returned by the CA for local recovery
- of the associated private key */
- CSSM_TP_CERTRECLAIM_NOMATCH = 0x2,
- /* no certificates owned by the requester
- were found matching the specified
- selection fields */
- CSSM_TP_CERTRECLAIM_REJECTED = 0x3,
- /* certificate reclamation failed due
- to some error condition */
- CSSM_TP_CERTRECLAIM_NOT_AUTHORIZED = 0x4
- /* certificate reclamation was not
- performed, the request was not
- authorized */
-};
-
-typedef struct cssm_tp_certreclaim_output {
- CSSM_TP_CERTRECLAIM_STATUS ReclaimStatus;
- CSSM_CERTGROUP_PTR ReclaimedCertGroup;
- CSSM_LONG_HANDLE KeyCacheHandle;
-} CSSM_TP_CERTRECLAIM_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CERTRECLAIM_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_tp_crlissue_input {
- CSSM_CL_HANDLE CLHandle;
- uint32 CrlIdentifier;
- CSSM_TIMESTRING CrlThisTime;
- CSSM_FIELD_PTR PolicyIdentifier;
- CSSM_ACCESS_CREDENTIALS_PTR CallerCredentials;
-} CSSM_TP_CRLISSUE_INPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CRLISSUE_INPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_CRLISSUE_STATUS;
-enum {
- CSSM_TP_CRLISSUE_STATUS_UNKNOWN = 0x0,
- /* indeterminate */
- CSSM_TP_CRLISSUE_OK = 0x1,
- /* a copy of the most current CRL was
- issued as requested and the time for
- issuing the next CRL is also returned */
- CSSM_TP_CRLISSUE_NOT_CURRENT = 0x2,
- /* either no CRL has been issued since
- the CRL identified in the request, or
- it is not time to issue an updated CRL.
- no CRL has been returned, but the time
- for issuing the next CRL is included
- in the results */
- CSSM_TP_CRLISSUE_INVALID_DOMAIN = 0x3,
- /* CRL domain was not recognized or was
- outside the CA jurisdiction, no CRL or
- time for the next CRL has been
- returned. */
- CSSM_TP_CRLISSUE_UNKNOWN_IDENTIFIER = 0x4,
- /* unrecognized CRL identifier, no CRL or
- time for the next CRL has been
- returned. */
- CSSM_TP_CRLISSUE_REJECTED = 0x5,
- /* CRL was not issued due to some error
- condition, no CRL or time for the next
- CRL has been returned. */
- CSSM_TP_CRLISSUE_NOT_AUTHORIZED = 0x6
- /* CRL was not issued, the request was
- not authorized, no CRL or time for the
- next CRL has been returned. */
-};
-
-typedef struct cssm_tp_crlissue_output {
- CSSM_TP_CRLISSUE_STATUS IssueStatus;
- CSSM_ENCODED_CRL_PTR Crl;
- CSSM_TIMESTRING CrlNextTime;
-} CSSM_TP_CRLISSUE_OUTPUT DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_TP_CRLISSUE_OUTPUT_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_TP_FORM_TYPE;
-enum {
- CSSM_TP_FORM_TYPE_GENERIC = 0x0,
- CSSM_TP_FORM_TYPE_REGISTRATION = 0x1
-};
-
-/* Data Types for Certificate Library Services */
-
-typedef uint32 CSSM_CL_TEMPLATE_TYPE;
-enum {
- CSSM_CL_TEMPLATE_INTERMEDIATE_CERT = 1,
- /* for X509 certificates, a fully-formed
- encoded certificate with empty signature field */
- CSSM_CL_TEMPLATE_PKIX_CERTTEMPLATE = 2
- /* as defined in RFC2511, section 5 CertTemplate */
-};
-
-typedef uint32 CSSM_CERT_BUNDLE_TYPE;
-enum {
- CSSM_CERT_BUNDLE_UNKNOWN = 0x00,
- CSSM_CERT_BUNDLE_CUSTOM = 0x01,
- CSSM_CERT_BUNDLE_PKCS7_SIGNED_DATA = 0x02,
- CSSM_CERT_BUNDLE_PKCS7_SIGNED_ENVELOPED_DATA = 0x03,
- CSSM_CERT_BUNDLE_PKCS12 = 0x04,
- CSSM_CERT_BUNDLE_PFX = 0x05,
- CSSM_CERT_BUNDLE_SPKI_SEQUENCE = 0x06,
- CSSM_CERT_BUNDLE_PGP_KEYRING = 0x07,
- CSSM_CERT_BUNDLE_LAST = 0x7FFF,
- /* Applications wishing to define their own custom certificate
- bundle type should define and publicly document a uint32
- value greater than CSSM_CL_CUSTOM_CERT_BUNDLE_TYPE */
- CSSM_CL_CUSTOM_CERT_BUNDLE_TYPE = 0x8000
-};
-
-typedef uint32 CSSM_CERT_BUNDLE_ENCODING;
-enum {
- CSSM_CERT_BUNDLE_ENCODING_UNKNOWN = 0x00,
- CSSM_CERT_BUNDLE_ENCODING_CUSTOM = 0x01,
- CSSM_CERT_BUNDLE_ENCODING_BER = 0x02,
- CSSM_CERT_BUNDLE_ENCODING_DER = 0x03,
- CSSM_CERT_BUNDLE_ENCODING_SEXPR = 0x04,
- CSSM_CERT_BUNDLE_ENCODING_PGP = 0x05
-};
-
-typedef struct cssm_cert_bundle_header {
- CSSM_CERT_BUNDLE_TYPE BundleType;
- CSSM_CERT_BUNDLE_ENCODING BundleEncoding;
-} CSSM_CERT_BUNDLE_HEADER DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CERT_BUNDLE_HEADER_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_cert_bundle {
- CSSM_CERT_BUNDLE_HEADER BundleHeader;
- CSSM_DATA Bundle;
-} CSSM_CERT_BUNDLE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_CERT_BUNDLE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-enum {
- CSSM_FIELDVALUE_COMPLEX_DATA_TYPE = 0xFFFFFFFF
-};
-
-/* Data Types for Data Storage Library Services */
-
-typedef uint32 CSSM_DB_ATTRIBUTE_NAME_FORMAT, *CSSM_DB_ATTRIBUTE_NAME_FORMAT_PTR;
-enum {
- CSSM_DB_ATTRIBUTE_NAME_AS_STRING = 0,
- CSSM_DB_ATTRIBUTE_NAME_AS_OID = 1,
- CSSM_DB_ATTRIBUTE_NAME_AS_INTEGER = 2
-};
-
-typedef uint32 CSSM_DB_ATTRIBUTE_FORMAT, *CSSM_DB_ATTRIBUTE_FORMAT_PTR;
-enum {
- CSSM_DB_ATTRIBUTE_FORMAT_STRING = 0,
- CSSM_DB_ATTRIBUTE_FORMAT_SINT32 = 1,
- CSSM_DB_ATTRIBUTE_FORMAT_UINT32 = 2,
- CSSM_DB_ATTRIBUTE_FORMAT_BIG_NUM = 3,
- CSSM_DB_ATTRIBUTE_FORMAT_REAL = 4,
- CSSM_DB_ATTRIBUTE_FORMAT_TIME_DATE = 5,
- CSSM_DB_ATTRIBUTE_FORMAT_BLOB = 6,
- CSSM_DB_ATTRIBUTE_FORMAT_MULTI_UINT32 = 7,
- CSSM_DB_ATTRIBUTE_FORMAT_COMPLEX = 8
-};
-
-typedef struct cssm_db_attribute_info {
- CSSM_DB_ATTRIBUTE_NAME_FORMAT AttributeNameFormat;
- union cssm_db_attribute_label {
- char *AttributeName; /* e.g., "record label" */
- CSSM_OID AttributeOID; /* e.g., CSSMOID_RECORDLABEL */
- uint32 AttributeID; /* e.g., FOUR_CHAR_CODE('recl') */
- } Label;
- CSSM_DB_ATTRIBUTE_FORMAT AttributeFormat;
-} CSSM_DB_ATTRIBUTE_INFO, *CSSM_DB_ATTRIBUTE_INFO_PTR;
-
-typedef struct cssm_db_attribute_data {
- CSSM_DB_ATTRIBUTE_INFO Info;
- uint32 NumberOfValues;
- CSSM_DATA_PTR Value;
-} CSSM_DB_ATTRIBUTE_DATA DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_ATTRIBUTE_DATA_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DB_RECORDTYPE;
-enum {
- /* Schema Management Name Space Range Definition*/
- CSSM_DB_RECORDTYPE_SCHEMA_START = 0x00000000,
- CSSM_DB_RECORDTYPE_SCHEMA_END = CSSM_DB_RECORDTYPE_SCHEMA_START + 4,
- /* Open Group Application Name Space Range Definition*/
- CSSM_DB_RECORDTYPE_OPEN_GROUP_START = 0x0000000A,
- CSSM_DB_RECORDTYPE_OPEN_GROUP_END = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 8,
- /* Industry At Large Application Name Space Range Definition */
- CSSM_DB_RECORDTYPE_APP_DEFINED_START = 0x80000000,
- CSSM_DB_RECORDTYPE_APP_DEFINED_END = 0xffffffff,
- /* Record Types defined in the Schema Management Name Space */
- CSSM_DL_DB_SCHEMA_INFO = CSSM_DB_RECORDTYPE_SCHEMA_START + 0,
- CSSM_DL_DB_SCHEMA_INDEXES = CSSM_DB_RECORDTYPE_SCHEMA_START + 1,
- CSSM_DL_DB_SCHEMA_ATTRIBUTES = CSSM_DB_RECORDTYPE_SCHEMA_START + 2,
- CSSM_DL_DB_SCHEMA_PARSING_MODULE = CSSM_DB_RECORDTYPE_SCHEMA_START + 3,
- /* Record Types defined in the Open Group Application Name Space */
- CSSM_DL_DB_RECORD_ANY = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 0,
- CSSM_DL_DB_RECORD_CERT = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 1,
- CSSM_DL_DB_RECORD_CRL = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 2,
- CSSM_DL_DB_RECORD_POLICY = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 3,
- CSSM_DL_DB_RECORD_GENERIC = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 4,
- CSSM_DL_DB_RECORD_PUBLIC_KEY = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 5,
- CSSM_DL_DB_RECORD_PRIVATE_KEY = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 6,
- CSSM_DL_DB_RECORD_SYMMETRIC_KEY = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 7,
- CSSM_DL_DB_RECORD_ALL_KEYS = CSSM_DB_RECORDTYPE_OPEN_GROUP_START + 8
-};
-
-enum {
- CSSM_DB_CERT_USE_TRUSTED = 0x00000001, /* application-defined as trusted */
- CSSM_DB_CERT_USE_SYSTEM = 0x00000002, /* the CSSM system cert */
- CSSM_DB_CERT_USE_OWNER = 0x00000004, /* private key owned by system user*/
- CSSM_DB_CERT_USE_REVOKED = 0x00000008, /* revoked cert -15913 used w CRL APIs */
- CSSM_DB_CERT_USE_SIGNING = 0x00000010, /* use cert for signing only */
- CSSM_DB_CERT_USE_PRIVACY = 0x00000020 /* use cert for confidentiality only */
-};
-
-typedef struct cssm_db_record_attribute_info {
- CSSM_DB_RECORDTYPE DataRecordType;
- uint32 NumberOfAttributes;
- CSSM_DB_ATTRIBUTE_INFO_PTR AttributeInfo;
-} CSSM_DB_RECORD_ATTRIBUTE_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_RECORD_ATTRIBUTE_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_db_record_attribute_data {
- CSSM_DB_RECORDTYPE DataRecordType;
- uint32 SemanticInformation;
- uint32 NumberOfAttributes;
- CSSM_DB_ATTRIBUTE_DATA_PTR AttributeData;
-} CSSM_DB_RECORD_ATTRIBUTE_DATA DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_RECORD_ATTRIBUTE_DATA_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_db_parsing_module_info {
- CSSM_DB_RECORDTYPE RecordType;
- CSSM_SUBSERVICE_UID ModuleSubserviceUid;
-} CSSM_DB_PARSING_MODULE_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_PARSING_MODULE_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DB_INDEX_TYPE;
-enum {
- CSSM_DB_INDEX_UNIQUE = 0,
- CSSM_DB_INDEX_NONUNIQUE = 1
-};
-
-typedef uint32 CSSM_DB_INDEXED_DATA_LOCATION;
-enum {
- CSSM_DB_INDEX_ON_UNKNOWN = 0,
- CSSM_DB_INDEX_ON_ATTRIBUTE = 1,
- CSSM_DB_INDEX_ON_RECORD = 2
-};
-
-typedef struct cssm_db_index_info {
- CSSM_DB_INDEX_TYPE IndexType;
- CSSM_DB_INDEXED_DATA_LOCATION IndexedDataLocation;
- CSSM_DB_ATTRIBUTE_INFO Info;
-} CSSM_DB_INDEX_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_INDEX_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_db_unique_record {
- CSSM_DB_INDEX_INFO RecordLocator;
- CSSM_DATA RecordIdentifier;
-} CSSM_DB_UNIQUE_RECORD DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_UNIQUE_RECORD_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_db_record_index_info {
- CSSM_DB_RECORDTYPE DataRecordType;
- uint32 NumberOfIndexes;
- CSSM_DB_INDEX_INFO_PTR IndexInfo;
-} CSSM_DB_RECORD_INDEX_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_RECORD_INDEX_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DB_ACCESS_TYPE, *CSSM_DB_ACCESS_TYPE_PTR;
-enum {
- CSSM_DB_ACCESS_READ = 0x00001,
- CSSM_DB_ACCESS_WRITE = 0x00002,
- CSSM_DB_ACCESS_PRIVILEGED = 0x00004 /* versus user mode */
-};
-
-typedef uint32 CSSM_DB_MODIFY_MODE;
-enum {
- CSSM_DB_MODIFY_ATTRIBUTE_NONE = 0,
- CSSM_DB_MODIFY_ATTRIBUTE_ADD = CSSM_DB_MODIFY_ATTRIBUTE_NONE + 1,
- CSSM_DB_MODIFY_ATTRIBUTE_DELETE = CSSM_DB_MODIFY_ATTRIBUTE_NONE + 2,
- CSSM_DB_MODIFY_ATTRIBUTE_REPLACE = CSSM_DB_MODIFY_ATTRIBUTE_NONE + 3
-};
-
-typedef struct cssm_dbinfo {
- /* meta information about each record type stored in this
- data store including meta information about record
- attributes and indexes */
- uint32 NumberOfRecordTypes;
- CSSM_DB_PARSING_MODULE_INFO_PTR DefaultParsingModules;
- CSSM_DB_RECORD_ATTRIBUTE_INFO_PTR RecordAttributeNames;
- CSSM_DB_RECORD_INDEX_INFO_PTR RecordIndexes;
- /* access restrictions for opening this data store */
- CSSM_BOOL IsLocal;
- char *AccessPath; /* URL, dir path, etc. */
- void *Reserved;
-} CSSM_DBINFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DBINFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DB_OPERATOR, *CSSM_DB_OPERATOR_PTR;
-enum {
- CSSM_DB_EQUAL = 0,
- CSSM_DB_NOT_EQUAL = 1,
- CSSM_DB_LESS_THAN = 2,
- CSSM_DB_GREATER_THAN = 3,
- CSSM_DB_CONTAINS = 4,
- CSSM_DB_CONTAINS_INITIAL_SUBSTRING = 5,
- CSSM_DB_CONTAINS_FINAL_SUBSTRING = 6
-};
-
-typedef uint32 CSSM_DB_CONJUNCTIVE, *CSSM_DB_CONJUNCTIVE_PTR;
-enum {
- CSSM_DB_NONE = 0,
- CSSM_DB_AND = 1,
- CSSM_DB_OR = 2
-};
-
-typedef struct cssm_selection_predicate {
- CSSM_DB_OPERATOR DbOperator;
- CSSM_DB_ATTRIBUTE_DATA Attribute;
-} CSSM_SELECTION_PREDICATE DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_SELECTION_PREDICATE_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-enum {
- CSSM_QUERY_TIMELIMIT_NONE = 0
-};
-
-enum {
- CSSM_QUERY_SIZELIMIT_NONE = 0
-};
-
-typedef struct cssm_query_limits {
- uint32 TimeLimit; /* in seconds */
- uint32 SizeLimit; /* max. number of records to return */
-} CSSM_QUERY_LIMITS DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_QUERY_LIMITS_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_QUERY_FLAGS;
-enum {
- CSSM_QUERY_RETURN_DATA = 0x01
-};
-
-typedef struct cssm_query {
- CSSM_DB_RECORDTYPE RecordType;
- CSSM_DB_CONJUNCTIVE Conjunctive;
- uint32 NumSelectionPredicates;
- CSSM_SELECTION_PREDICATE_PTR SelectionPredicate;
- CSSM_QUERY_LIMITS QueryLimits;
- CSSM_QUERY_FLAGS QueryFlags;
-} CSSM_QUERY DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_QUERY_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DLTYPE, *CSSM_DLTYPE_PTR;
-enum {
- 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 */
- CSSM_DL_MEMORY = 6,
- CSSM_DL_REMOTEDIR = 7
-};
-
-typedef void *CSSM_DL_CUSTOM_ATTRIBUTES;
-typedef void *CSSM_DL_LDAP_ATTRIBUTES;
-typedef void *CSSM_DL_ODBC_ATTRIBUTES;
-typedef void *CSSM_DL_FFS_ATTRIBUTES;
-
-typedef struct cssm_dl_pkcs11_attributes {
- uint32 DeviceAccessFlags;
-} *CSSM_DL_PKCS11_ATTRIBUTE, *CSSM_DL_PKCS11_ATTRIBUTE_PTR;
-
-enum {
- CSSM_DB_DATASTORES_UNKNOWN = 0xFFFFFFFF
-};
-
-typedef struct cssm_name_list {
- uint32 NumStrings;
- char **String;
-} CSSM_NAME_LIST DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_NAME_LIST_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef uint32 CSSM_DB_RETRIEVAL_MODES;
-enum {
- CSSM_DB_TRANSACTIONAL_MODE = 0,
- CSSM_DB_FILESYSTEMSCAN_MODE = 1
-};
-
-typedef struct cssm_db_schema_attribute_info {
- uint32 AttributeId;
- char *AttributeName;
- CSSM_OID AttributeNameID;
- CSSM_DB_ATTRIBUTE_FORMAT DataType;
-} CSSM_DB_SCHEMA_ATTRIBUTE_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_SCHEMA_ATTRIBUTE_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-typedef struct cssm_db_schema_index_info {
- uint32 AttributeId;
- uint32 IndexId;
- CSSM_DB_INDEX_TYPE IndexType;
- CSSM_DB_INDEXED_DATA_LOCATION IndexedDataLocation;
-} CSSM_DB_SCHEMA_INDEX_INFO DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER, *CSSM_DB_SCHEMA_INDEX_INFO_PTR DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER;
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _CSSMTYPE_H_ */