1 | /**
|
---|
2 | * This file has no copyright assigned and is placed in the Public Domain.
|
---|
3 | * This file is part of the mingw-w64 runtime package.
|
---|
4 | * No warranty is given; refer to the file DISCLAIMER.PD within this package.
|
---|
5 | */
|
---|
6 | #ifndef _INC_CERTENROLL
|
---|
7 | #define _INC_CERTENROLL
|
---|
8 |
|
---|
9 | #if (_WIN32_WINNT >= 0x0600)
|
---|
10 | #ifdef __cplusplus
|
---|
11 | extern "C" {
|
---|
12 | #endif
|
---|
13 |
|
---|
14 | typedef enum AlgorithmFlags {
|
---|
15 | AlgorithmFlagsNone = 0x00000000,
|
---|
16 | AlgorithmFlagsWrap = 0x00000001
|
---|
17 | } AlgorithmFlags;
|
---|
18 |
|
---|
19 | typedef enum AlgorithmOperationFlags {
|
---|
20 | XCN_NCRYPT_NO_OPERATION = 0,
|
---|
21 | XCN_NCRYPT_CIPHER_OPERATION = 0x1,
|
---|
22 | XCN_NCRYPT_HASH_OPERATION = 0x2,
|
---|
23 | XCN_NCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION = 0x4,
|
---|
24 | XCN_NCRYPT_SECRET_AGREEMENT_OPERATION = 0x8,
|
---|
25 | XCN_NCRYPT_SIGNATURE_OPERATION = 0x10,
|
---|
26 | XCN_NCRYPT_RNG_OPERATION = 0x20,
|
---|
27 | XCN_NCRYPT_ANY_ASYMMETRIC_OPERATION = ( ( 0x4 | 0x8 ) | 0x10 ),
|
---|
28 | XCN_NCRYPT_PREFER_SIGNATURE_ONLY_OPERATION = 0x00200000,
|
---|
29 | XCN_NCRYPT_PREFER_NON_SIGNATURE_OPERATION = 0x00400000,
|
---|
30 | XCN_NCRYPT_EXACT_MATCH_OPERATION = 0x00800000,
|
---|
31 | XCN_NCRYPT_PREFERENCE_MASK_OPERATION = 0x00e00000
|
---|
32 | } AlgorithmOperationFlags;
|
---|
33 |
|
---|
34 | typedef enum AlgorithmType {
|
---|
35 | XCN_BCRYPT_UNKNOWN_INTERFACE = 0,
|
---|
36 | XCN_BCRYPT_SIGNATURE_INTERFACE = 0x5,
|
---|
37 | XCN_BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE = 0x3,
|
---|
38 | XCN_BCRYPT_CIPHER_INTERFACE = 0x1,
|
---|
39 | XCN_BCRYPT_HASH_INTERFACE = 0x2,
|
---|
40 | XCN_BCRYPT_SECRET_AGREEMENT_INTERFACE = 0x4,
|
---|
41 | XCN_BCRYPT_RNG_INTERFACE = 0x6
|
---|
42 | } AlgorithmType;
|
---|
43 |
|
---|
44 | typedef enum AlternativeNameType {
|
---|
45 | XCN_CERT_ALT_NAME_UNKNOWN = 0,
|
---|
46 | XCN_CERT_ALT_NAME_OTHER_NAME = 1,
|
---|
47 | XCN_CERT_ALT_NAME_RFC822_NAME = 2,
|
---|
48 | XCN_CERT_ALT_NAME_DNS_NAME = 3,
|
---|
49 | XCN_CERT_ALT_NAME_DIRECTORY_NAME = 5,
|
---|
50 | XCN_CERT_ALT_NAME_URL = 7,
|
---|
51 | XCN_CERT_ALT_NAME_IP_ADDRESS = 8,
|
---|
52 | XCN_CERT_ALT_NAME_REGISTERED_ID = 9,
|
---|
53 | XCN_CERT_ALT_NAME_GUID = 10,
|
---|
54 | XCN_CERT_ALT_NAME_USER_PRINCIPLE_NAME = 11
|
---|
55 | } AlternativeNameType;
|
---|
56 |
|
---|
57 | typedef enum CERTENROLL_PROPERTYID {
|
---|
58 | XCN_PROPERTYID_NONE = 0,
|
---|
59 | XCN_CERT_KEY_PROV_HANDLE_PROP_ID = 1,
|
---|
60 | XCN_CERT_KEY_PROV_INFO_PROP_ID = 2,
|
---|
61 | XCN_CERT_SHA1_HASH_PROP_ID = 3,
|
---|
62 | XCN_CERT_MD5_HASH_PROP_ID = 4,
|
---|
63 | XCN_CERT_HASH_PROP_ID = 3,
|
---|
64 | XCN_CERT_KEY_CONTEXT_PROP_ID = 5,
|
---|
65 | XCN_CERT_KEY_SPEC_PROP_ID = 6,
|
---|
66 | XCN_CERT_IE30_RESERVED_PROP_ID = 7,
|
---|
67 | XCN_CERT_PUBKEY_HASH_RESERVED_PROP_ID = 8,
|
---|
68 | XCN_CERT_ENHKEY_USAGE_PROP_ID = 9,
|
---|
69 | XCN_CERT_CTL_USAGE_PROP_ID = 9,
|
---|
70 | XCN_CERT_NEXT_UPDATE_LOCATION_PROP_ID = 10,
|
---|
71 | XCN_CERT_FRIENDLY_NAME_PROP_ID = 11,
|
---|
72 | XCN_CERT_PVK_FILE_PROP_ID = 12,
|
---|
73 | XCN_CERT_DESCRIPTION_PROP_ID = 13,
|
---|
74 | XCN_CERT_ACCESS_STATE_PROP_ID = 14,
|
---|
75 | XCN_CERT_SIGNATURE_HASH_PROP_ID = 15,
|
---|
76 | XCN_CERT_SMART_CARD_DATA_PROP_ID = 16,
|
---|
77 | XCN_CERT_EFS_PROP_ID = 17,
|
---|
78 | XCN_CERT_FORTEZZA_DATA_PROP_ID = 18,
|
---|
79 | XCN_CERT_ARCHIVED_PROP_ID = 19,
|
---|
80 | XCN_CERT_KEY_IDENTIFIER_PROP_ID = 20,
|
---|
81 | XCN_CERT_AUTO_ENROLL_PROP_ID = 21,
|
---|
82 | XCN_CERT_PUBKEY_ALG_PARA_PROP_ID = 22,
|
---|
83 | XCN_CERT_CROSS_CERT_DIST_POINTS_PROP_ID = 23,
|
---|
84 | XCN_CERT_ISSUER_PUBLIC_KEY_MD5_HASH_PROP_ID = 24,
|
---|
85 | XCN_CERT_SUBJECT_PUBLIC_KEY_MD5_HASH_PROP_ID = 25,
|
---|
86 | XCN_CERT_ENROLLMENT_PROP_ID = 26,
|
---|
87 | XCN_CERT_DATE_STAMP_PROP_ID = 27,
|
---|
88 | XCN_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID = 28,
|
---|
89 | XCN_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID = 29,
|
---|
90 | XCN_CERT_EXTENDED_ERROR_INFO_PROP_ID = 30,
|
---|
91 | XCN_CERT_RENEWAL_PROP_ID = 64,
|
---|
92 | XCN_CERT_ARCHIVED_KEY_HASH_PROP_ID = 65,
|
---|
93 | XCN_CERT_AUTO_ENROLL_RETRY_PROP_ID = 66,
|
---|
94 | XCN_CERT_AIA_URL_RETRIEVED_PROP_ID = 67,
|
---|
95 | XCN_CERT_AUTHORITY_INFO_ACCESS_PROP_ID = 68,
|
---|
96 | XCN_CERT_BACKED_UP_PROP_ID = 69,
|
---|
97 | XCN_CERT_OCSP_RESPONSE_PROP_ID = 70,
|
---|
98 | XCN_CERT_REQUEST_ORIGINATOR_PROP_ID = 71,
|
---|
99 | XCN_CERT_SOURCE_LOCATION_PROP_ID = 72,
|
---|
100 | XCN_CERT_SOURCE_URL_PROP_ID = 73,
|
---|
101 | XCN_CERT_NEW_KEY_PROP_ID = 74,
|
---|
102 | XCN_CERT_FIRST_RESERVED_PROP_ID = 87,
|
---|
103 | XCN_CERT_LAST_RESERVED_PROP_ID = 0x7fff,
|
---|
104 | XCN_CERT_FIRST_USER_PROP_ID = 0x8000,
|
---|
105 | XCN_CERT_LAST_USER_PROP_ID = 0xffff,
|
---|
106 | XCN_CERT_STORE_LOCALIZED_NAME_PROP_ID = 0x1000,
|
---|
107 | XCN_CERT_CEP_PROP_ID = 87
|
---|
108 | } CERTENROLL_PROPERTYID;
|
---|
109 |
|
---|
110 | typedef enum CERTENROLL_OBJECTID {
|
---|
111 | XCN_OID_NONE = 0,
|
---|
112 | XCN_OID_RSA = 1,
|
---|
113 | XCN_OID_PKCS = 2,
|
---|
114 | XCN_OID_RSA_HASH = 3,
|
---|
115 | XCN_OID_RSA_ENCRYPT = 4,
|
---|
116 | XCN_OID_PKCS_1 = 5,
|
---|
117 | XCN_OID_PKCS_2 = 6,
|
---|
118 | XCN_OID_PKCS_3 = 7,
|
---|
119 | XCN_OID_PKCS_4 = 8,
|
---|
120 | XCN_OID_PKCS_5 = 9,
|
---|
121 | XCN_OID_PKCS_6 = 10,
|
---|
122 | XCN_OID_PKCS_7 = 11,
|
---|
123 | XCN_OID_PKCS_8 = 12,
|
---|
124 | XCN_OID_PKCS_9 = 13,
|
---|
125 | XCN_OID_PKCS_10 = 14,
|
---|
126 | XCN_OID_PKCS_12 = 15,
|
---|
127 | XCN_OID_RSA_RSA = 16,
|
---|
128 | XCN_OID_RSA_MD2RSA = 17,
|
---|
129 | XCN_OID_RSA_MD4RSA = 18,
|
---|
130 | XCN_OID_RSA_MD5RSA = 19,
|
---|
131 | XCN_OID_RSA_SHA1RSA = 20,
|
---|
132 | XCN_OID_RSA_SETOAEP_RSA = 21,
|
---|
133 | XCN_OID_RSA_DH = 22,
|
---|
134 | XCN_OID_RSA_data = 23,
|
---|
135 | XCN_OID_RSA_signedData = 24,
|
---|
136 | XCN_OID_RSA_envelopedData = 25,
|
---|
137 | XCN_OID_RSA_signEnvData = 26,
|
---|
138 | XCN_OID_RSA_digestedData = 27,
|
---|
139 | XCN_OID_RSA_hashedData = 28,
|
---|
140 | XCN_OID_RSA_encryptedData = 29,
|
---|
141 | XCN_OID_RSA_emailAddr = 30,
|
---|
142 | XCN_OID_RSA_unstructName = 31,
|
---|
143 | XCN_OID_RSA_contentType = 32,
|
---|
144 | XCN_OID_RSA_messageDigest = 33,
|
---|
145 | XCN_OID_RSA_signingTime = 34,
|
---|
146 | XCN_OID_RSA_counterSign = 35,
|
---|
147 | XCN_OID_RSA_challengePwd = 36,
|
---|
148 | XCN_OID_RSA_unstructAddr = 37,
|
---|
149 | XCN_OID_RSA_extCertAttrs = 38,
|
---|
150 | XCN_OID_RSA_certExtensions = 39,
|
---|
151 | XCN_OID_RSA_SMIMECapabilities = 40,
|
---|
152 | XCN_OID_RSA_preferSignedData = 41,
|
---|
153 | XCN_OID_RSA_SMIMEalg = 42,
|
---|
154 | XCN_OID_RSA_SMIMEalgESDH = 43,
|
---|
155 | XCN_OID_RSA_SMIMEalgCMS3DESwrap = 44,
|
---|
156 | XCN_OID_RSA_SMIMEalgCMSRC2wrap = 45,
|
---|
157 | XCN_OID_RSA_MD2 = 46,
|
---|
158 | XCN_OID_RSA_MD4 = 47,
|
---|
159 | XCN_OID_RSA_MD5 = 48,
|
---|
160 | XCN_OID_RSA_RC2CBC = 49,
|
---|
161 | XCN_OID_RSA_RC4 = 50,
|
---|
162 | XCN_OID_RSA_DES_EDE3_CBC = 51,
|
---|
163 | XCN_OID_RSA_RC5_CBCPad = 52,
|
---|
164 | XCN_OID_ANSI_X942 = 53,
|
---|
165 | XCN_OID_ANSI_X942_DH = 54,
|
---|
166 | XCN_OID_X957 = 55,
|
---|
167 | XCN_OID_X957_DSA = 56,
|
---|
168 | XCN_OID_X957_SHA1DSA = 57,
|
---|
169 | XCN_OID_DS = 58,
|
---|
170 | XCN_OID_DSALG = 59,
|
---|
171 | XCN_OID_DSALG_CRPT = 60,
|
---|
172 | XCN_OID_DSALG_HASH = 61,
|
---|
173 | XCN_OID_DSALG_SIGN = 62,
|
---|
174 | XCN_OID_DSALG_RSA = 63,
|
---|
175 | XCN_OID_OIW = 64,
|
---|
176 | XCN_OID_OIWSEC = 65,
|
---|
177 | XCN_OID_OIWSEC_md4RSA = 66,
|
---|
178 | XCN_OID_OIWSEC_md5RSA = 67,
|
---|
179 | XCN_OID_OIWSEC_md4RSA2 = 68,
|
---|
180 | XCN_OID_OIWSEC_desECB = 69,
|
---|
181 | XCN_OID_OIWSEC_desCBC = 70,
|
---|
182 | XCN_OID_OIWSEC_desOFB = 71,
|
---|
183 | XCN_OID_OIWSEC_desCFB = 72,
|
---|
184 | XCN_OID_OIWSEC_desMAC = 73,
|
---|
185 | XCN_OID_OIWSEC_rsaSign = 74,
|
---|
186 | XCN_OID_OIWSEC_dsa = 75,
|
---|
187 | XCN_OID_OIWSEC_shaDSA = 76,
|
---|
188 | XCN_OID_OIWSEC_mdc2RSA = 77,
|
---|
189 | XCN_OID_OIWSEC_shaRSA = 78,
|
---|
190 | XCN_OID_OIWSEC_dhCommMod = 79,
|
---|
191 | XCN_OID_OIWSEC_desEDE = 80,
|
---|
192 | XCN_OID_OIWSEC_sha = 81,
|
---|
193 | XCN_OID_OIWSEC_mdc2 = 82,
|
---|
194 | XCN_OID_OIWSEC_dsaComm = 83,
|
---|
195 | XCN_OID_OIWSEC_dsaCommSHA = 84,
|
---|
196 | XCN_OID_OIWSEC_rsaXchg = 85,
|
---|
197 | XCN_OID_OIWSEC_keyHashSeal = 86,
|
---|
198 | XCN_OID_OIWSEC_md2RSASign = 87,
|
---|
199 | XCN_OID_OIWSEC_md5RSASign = 88,
|
---|
200 | XCN_OID_OIWSEC_sha1 = 89,
|
---|
201 | XCN_OID_OIWSEC_dsaSHA1 = 90,
|
---|
202 | XCN_OID_OIWSEC_dsaCommSHA1 = 91,
|
---|
203 | XCN_OID_OIWSEC_sha1RSASign = 92,
|
---|
204 | XCN_OID_OIWDIR = 93,
|
---|
205 | XCN_OID_OIWDIR_CRPT = 94,
|
---|
206 | XCN_OID_OIWDIR_HASH = 95,
|
---|
207 | XCN_OID_OIWDIR_SIGN = 96,
|
---|
208 | XCN_OID_OIWDIR_md2 = 97,
|
---|
209 | XCN_OID_OIWDIR_md2RSA = 98,
|
---|
210 | XCN_OID_INFOSEC = 99,
|
---|
211 | XCN_OID_INFOSEC_sdnsSignature = 100,
|
---|
212 | XCN_OID_INFOSEC_mosaicSignature = 101,
|
---|
213 | XCN_OID_INFOSEC_sdnsConfidentiality = 102,
|
---|
214 | XCN_OID_INFOSEC_mosaicConfidentiality = 103,
|
---|
215 | XCN_OID_INFOSEC_sdnsIntegrity = 104,
|
---|
216 | XCN_OID_INFOSEC_mosaicIntegrity = 105,
|
---|
217 | XCN_OID_INFOSEC_sdnsTokenProtection = 106,
|
---|
218 | XCN_OID_INFOSEC_mosaicTokenProtection = 107,
|
---|
219 | XCN_OID_INFOSEC_sdnsKeyManagement = 108,
|
---|
220 | XCN_OID_INFOSEC_mosaicKeyManagement = 109,
|
---|
221 | XCN_OID_INFOSEC_sdnsKMandSig = 110,
|
---|
222 | XCN_OID_INFOSEC_mosaicKMandSig = 111,
|
---|
223 | XCN_OID_INFOSEC_SuiteASignature = 112,
|
---|
224 | XCN_OID_INFOSEC_SuiteAConfidentiality = 113,
|
---|
225 | XCN_OID_INFOSEC_SuiteAIntegrity = 114,
|
---|
226 | XCN_OID_INFOSEC_SuiteATokenProtection = 115,
|
---|
227 | XCN_OID_INFOSEC_SuiteAKeyManagement = 116,
|
---|
228 | XCN_OID_INFOSEC_SuiteAKMandSig = 117,
|
---|
229 | XCN_OID_INFOSEC_mosaicUpdatedSig = 118,
|
---|
230 | XCN_OID_INFOSEC_mosaicKMandUpdSig = 119,
|
---|
231 | XCN_OID_INFOSEC_mosaicUpdatedInteg = 120,
|
---|
232 | XCN_OID_COMMON_NAME = 121,
|
---|
233 | XCN_OID_SUR_NAME = 122,
|
---|
234 | XCN_OID_DEVICE_SERIAL_NUMBER = 123,
|
---|
235 | XCN_OID_COUNTRY_NAME = 124,
|
---|
236 | XCN_OID_LOCALITY_NAME = 125,
|
---|
237 | XCN_OID_STATE_OR_PROVINCE_NAME = 126,
|
---|
238 | XCN_OID_STREET_ADDRESS = 127,
|
---|
239 | XCN_OID_ORGANIZATION_NAME = 128,
|
---|
240 | XCN_OID_ORGANIZATIONAL_UNIT_NAME = 129,
|
---|
241 | XCN_OID_TITLE = 130,
|
---|
242 | XCN_OID_DESCRIPTION = 131,
|
---|
243 | XCN_OID_SEARCH_GUIDE = 132,
|
---|
244 | XCN_OID_BUSINESS_CATEGORY = 133,
|
---|
245 | XCN_OID_POSTAL_ADDRESS = 134,
|
---|
246 | XCN_OID_POSTAL_CODE = 135,
|
---|
247 | XCN_OID_POST_OFFICE_BOX = 136,
|
---|
248 | XCN_OID_PHYSICAL_DELIVERY_OFFICE_NAME = 137,
|
---|
249 | XCN_OID_TELEPHONE_NUMBER = 138,
|
---|
250 | XCN_OID_TELEX_NUMBER = 139,
|
---|
251 | XCN_OID_TELETEXT_TERMINAL_IDENTIFIER = 140,
|
---|
252 | XCN_OID_FACSIMILE_TELEPHONE_NUMBER = 141,
|
---|
253 | XCN_OID_X21_ADDRESS = 142,
|
---|
254 | XCN_OID_INTERNATIONAL_ISDN_NUMBER = 143,
|
---|
255 | XCN_OID_REGISTERED_ADDRESS = 144,
|
---|
256 | XCN_OID_DESTINATION_INDICATOR = 145,
|
---|
257 | XCN_OID_PREFERRED_DELIVERY_METHOD = 146,
|
---|
258 | XCN_OID_PRESENTATION_ADDRESS = 147,
|
---|
259 | XCN_OID_SUPPORTED_APPLICATION_CONTEXT = 148,
|
---|
260 | XCN_OID_MEMBER = 149,
|
---|
261 | XCN_OID_OWNER = 150,
|
---|
262 | XCN_OID_ROLE_OCCUPANT = 151,
|
---|
263 | XCN_OID_SEE_ALSO = 152,
|
---|
264 | XCN_OID_USER_PASSWORD = 153,
|
---|
265 | XCN_OID_USER_CERTIFICATE = 154,
|
---|
266 | XCN_OID_CA_CERTIFICATE = 155,
|
---|
267 | XCN_OID_AUTHORITY_REVOCATION_LIST = 156,
|
---|
268 | XCN_OID_CERTIFICATE_REVOCATION_LIST = 157,
|
---|
269 | XCN_OID_CROSS_CERTIFICATE_PAIR = 158,
|
---|
270 | XCN_OID_GIVEN_NAME = 159,
|
---|
271 | XCN_OID_INITIALS = 160,
|
---|
272 | XCN_OID_DN_QUALIFIER = 161,
|
---|
273 | XCN_OID_DOMAIN_COMPONENT = 162,
|
---|
274 | XCN_OID_PKCS_12_FRIENDLY_NAME_ATTR = 163,
|
---|
275 | XCN_OID_PKCS_12_LOCAL_KEY_ID = 164,
|
---|
276 | XCN_OID_PKCS_12_KEY_PROVIDER_NAME_ATTR = 165,
|
---|
277 | XCN_OID_LOCAL_MACHINE_KEYSET = 166,
|
---|
278 | XCN_OID_PKCS_12_EXTENDED_ATTRIBUTES = 167,
|
---|
279 | XCN_OID_KEYID_RDN = 168,
|
---|
280 | XCN_OID_AUTHORITY_KEY_IDENTIFIER = 169,
|
---|
281 | XCN_OID_KEY_ATTRIBUTES = 170,
|
---|
282 | XCN_OID_CERT_POLICIES_95 = 171,
|
---|
283 | XCN_OID_KEY_USAGE_RESTRICTION = 172,
|
---|
284 | XCN_OID_SUBJECT_ALT_NAME = 173,
|
---|
285 | XCN_OID_ISSUER_ALT_NAME = 174,
|
---|
286 | XCN_OID_BASIC_CONSTRAINTS = 175,
|
---|
287 | XCN_OID_KEY_USAGE = 176,
|
---|
288 | XCN_OID_PRIVATEKEY_USAGE_PERIOD = 177,
|
---|
289 | XCN_OID_BASIC_CONSTRAINTS2 = 178,
|
---|
290 | XCN_OID_CERT_POLICIES = 179,
|
---|
291 | XCN_OID_ANY_CERT_POLICY = 180,
|
---|
292 | XCN_OID_AUTHORITY_KEY_IDENTIFIER2 = 181,
|
---|
293 | XCN_OID_SUBJECT_KEY_IDENTIFIER = 182,
|
---|
294 | XCN_OID_SUBJECT_ALT_NAME2 = 183,
|
---|
295 | XCN_OID_ISSUER_ALT_NAME2 = 184,
|
---|
296 | XCN_OID_CRL_REASON_CODE = 185,
|
---|
297 | XCN_OID_REASON_CODE_HOLD = 186,
|
---|
298 | XCN_OID_CRL_DIST_POINTS = 187,
|
---|
299 | XCN_OID_ENHANCED_KEY_USAGE = 188,
|
---|
300 | XCN_OID_CRL_NUMBER = 189,
|
---|
301 | XCN_OID_DELTA_CRL_INDICATOR = 190,
|
---|
302 | XCN_OID_ISSUING_DIST_POINT = 191,
|
---|
303 | XCN_OID_FRESHEST_CRL = 192,
|
---|
304 | XCN_OID_NAME_CONSTRAINTS = 193,
|
---|
305 | XCN_OID_POLICY_MAPPINGS = 194,
|
---|
306 | XCN_OID_LEGACY_POLICY_MAPPINGS = 195,
|
---|
307 | XCN_OID_POLICY_CONSTRAINTS = 196,
|
---|
308 | XCN_OID_RENEWAL_CERTIFICATE = 197,
|
---|
309 | XCN_OID_ENROLLMENT_NAME_VALUE_PAIR = 198,
|
---|
310 | XCN_OID_ENROLLMENT_CSP_PROVIDER = 199,
|
---|
311 | XCN_OID_OS_VERSION = 200,
|
---|
312 | XCN_OID_ENROLLMENT_AGENT = 201,
|
---|
313 | XCN_OID_PKIX = 202,
|
---|
314 | XCN_OID_PKIX_PE = 203,
|
---|
315 | XCN_OID_AUTHORITY_INFO_ACCESS = 204,
|
---|
316 | XCN_OID_BIOMETRIC_EXT = 205,
|
---|
317 | XCN_OID_LOGOTYPE_EXT = 206,
|
---|
318 | XCN_OID_CERT_EXTENSIONS = 207,
|
---|
319 | XCN_OID_NEXT_UPDATE_LOCATION = 208,
|
---|
320 | XCN_OID_REMOVE_CERTIFICATE = 209,
|
---|
321 | XCN_OID_CROSS_CERT_DIST_POINTS = 210,
|
---|
322 | XCN_OID_CTL = 211,
|
---|
323 | XCN_OID_SORTED_CTL = 212,
|
---|
324 | XCN_OID_SERIALIZED = 213,
|
---|
325 | XCN_OID_NT_PRINCIPAL_NAME = 214,
|
---|
326 | XCN_OID_PRODUCT_UPDATE = 215,
|
---|
327 | XCN_OID_ANY_APPLICATION_POLICY = 216,
|
---|
328 | XCN_OID_AUTO_ENROLL_CTL_USAGE = 217,
|
---|
329 | XCN_OID_ENROLL_CERTTYPE_EXTENSION = 218,
|
---|
330 | XCN_OID_CERT_MANIFOLD = 219,
|
---|
331 | XCN_OID_CERTSRV_CA_VERSION = 220,
|
---|
332 | XCN_OID_CERTSRV_PREVIOUS_CERT_HASH = 221,
|
---|
333 | XCN_OID_CRL_VIRTUAL_BASE = 222,
|
---|
334 | XCN_OID_CRL_NEXT_PUBLISH = 223,
|
---|
335 | XCN_OID_KP_CA_EXCHANGE = 224,
|
---|
336 | XCN_OID_KP_KEY_RECOVERY_AGENT = 225,
|
---|
337 | XCN_OID_CERTIFICATE_TEMPLATE = 226,
|
---|
338 | XCN_OID_ENTERPRISE_OID_ROOT = 227,
|
---|
339 | XCN_OID_RDN_DUMMY_SIGNER = 228,
|
---|
340 | XCN_OID_APPLICATION_CERT_POLICIES = 229,
|
---|
341 | XCN_OID_APPLICATION_POLICY_MAPPINGS = 230,
|
---|
342 | XCN_OID_APPLICATION_POLICY_CONSTRAINTS = 231,
|
---|
343 | XCN_OID_ARCHIVED_KEY_ATTR = 232,
|
---|
344 | XCN_OID_CRL_SELF_CDP = 233,
|
---|
345 | XCN_OID_REQUIRE_CERT_CHAIN_POLICY = 234,
|
---|
346 | XCN_OID_ARCHIVED_KEY_CERT_HASH = 235,
|
---|
347 | XCN_OID_ISSUED_CERT_HASH = 236,
|
---|
348 | XCN_OID_DS_EMAIL_REPLICATION = 237,
|
---|
349 | XCN_OID_REQUEST_CLIENT_INFO = 238,
|
---|
350 | XCN_OID_ENCRYPTED_KEY_HASH = 239,
|
---|
351 | XCN_OID_CERTSRV_CROSSCA_VERSION = 240,
|
---|
352 | XCN_OID_NTDS_REPLICATION = 241,
|
---|
353 | XCN_OID_SUBJECT_DIR_ATTRS = 242,
|
---|
354 | XCN_OID_PKIX_KP = 243,
|
---|
355 | XCN_OID_PKIX_KP_SERVER_AUTH = 244,
|
---|
356 | XCN_OID_PKIX_KP_CLIENT_AUTH = 245,
|
---|
357 | XCN_OID_PKIX_KP_CODE_SIGNING = 246,
|
---|
358 | XCN_OID_PKIX_KP_EMAIL_PROTECTION = 247,
|
---|
359 | XCN_OID_PKIX_KP_IPSEC_END_SYSTEM = 248,
|
---|
360 | XCN_OID_PKIX_KP_IPSEC_TUNNEL = 249,
|
---|
361 | XCN_OID_PKIX_KP_IPSEC_USER = 250,
|
---|
362 | XCN_OID_PKIX_KP_TIMESTAMP_SIGNING = 251,
|
---|
363 | XCN_OID_PKIX_KP_OCSP_SIGNING = 252,
|
---|
364 | XCN_OID_PKIX_OCSP_NOCHECK = 253,
|
---|
365 | XCN_OID_IPSEC_KP_IKE_INTERMEDIATE = 254,
|
---|
366 | XCN_OID_KP_CTL_USAGE_SIGNING = 255,
|
---|
367 | XCN_OID_KP_TIME_STAMP_SIGNING = 256,
|
---|
368 | XCN_OID_SERVER_GATED_CRYPTO = 257,
|
---|
369 | XCN_OID_SGC_NETSCAPE = 258,
|
---|
370 | XCN_OID_KP_EFS = 259,
|
---|
371 | XCN_OID_EFS_RECOVERY = 260,
|
---|
372 | XCN_OID_WHQL_CRYPTO = 261,
|
---|
373 | XCN_OID_NT5_CRYPTO = 262,
|
---|
374 | XCN_OID_OEM_WHQL_CRYPTO = 263,
|
---|
375 | XCN_OID_EMBEDDED_NT_CRYPTO = 264,
|
---|
376 | XCN_OID_ROOT_LIST_SIGNER = 265,
|
---|
377 | XCN_OID_KP_QUALIFIED_SUBORDINATION = 266,
|
---|
378 | XCN_OID_KP_KEY_RECOVERY = 267,
|
---|
379 | XCN_OID_KP_DOCUMENT_SIGNING = 268,
|
---|
380 | XCN_OID_KP_LIFETIME_SIGNING = 269,
|
---|
381 | XCN_OID_KP_MOBILE_DEVICE_SOFTWARE = 270,
|
---|
382 | XCN_OID_KP_SMART_DISPLAY = 271,
|
---|
383 | XCN_OID_KP_CSP_SIGNATURE = 272,
|
---|
384 | XCN_OID_DRM = 273,
|
---|
385 | XCN_OID_DRM_INDIVIDUALIZATION = 274,
|
---|
386 | XCN_OID_LICENSES = 275,
|
---|
387 | XCN_OID_LICENSE_SERVER = 276,
|
---|
388 | XCN_OID_KP_SMARTCARD_LOGON = 277,
|
---|
389 | XCN_OID_YESNO_TRUST_ATTR = 278,
|
---|
390 | XCN_OID_PKIX_POLICY_QUALIFIER_CPS = 279,
|
---|
391 | XCN_OID_PKIX_POLICY_QUALIFIER_USERNOTICE = 280,
|
---|
392 | XCN_OID_CERT_POLICIES_95_QUALIFIER1 = 281,
|
---|
393 | XCN_OID_PKIX_ACC_DESCR = 282,
|
---|
394 | XCN_OID_PKIX_OCSP = 283,
|
---|
395 | XCN_OID_PKIX_CA_ISSUERS = 284,
|
---|
396 | XCN_OID_VERISIGN_PRIVATE_6_9 = 285,
|
---|
397 | XCN_OID_VERISIGN_ONSITE_JURISDICTION_HASH = 286,
|
---|
398 | XCN_OID_VERISIGN_BITSTRING_6_13 = 287,
|
---|
399 | XCN_OID_VERISIGN_ISS_STRONG_CRYPTO = 288,
|
---|
400 | XCN_OID_NETSCAPE = 289,
|
---|
401 | XCN_OID_NETSCAPE_CERT_EXTENSION = 290,
|
---|
402 | XCN_OID_NETSCAPE_CERT_TYPE = 291,
|
---|
403 | XCN_OID_NETSCAPE_BASE_URL = 292,
|
---|
404 | XCN_OID_NETSCAPE_REVOCATION_URL = 293,
|
---|
405 | XCN_OID_NETSCAPE_CA_REVOCATION_URL = 294,
|
---|
406 | XCN_OID_NETSCAPE_CERT_RENEWAL_URL = 295,
|
---|
407 | XCN_OID_NETSCAPE_CA_POLICY_URL = 296,
|
---|
408 | XCN_OID_NETSCAPE_SSL_SERVER_NAME = 297,
|
---|
409 | XCN_OID_NETSCAPE_COMMENT = 298,
|
---|
410 | XCN_OID_NETSCAPE_DATA_TYPE = 299,
|
---|
411 | XCN_OID_NETSCAPE_CERT_SEQUENCE = 300,
|
---|
412 | XCN_OID_CT_PKI_DATA = 301,
|
---|
413 | XCN_OID_CT_PKI_RESPONSE = 302,
|
---|
414 | XCN_OID_PKIX_NO_SIGNATURE = 303,
|
---|
415 | XCN_OID_CMC = 304,
|
---|
416 | XCN_OID_CMC_STATUS_INFO = 305,
|
---|
417 | XCN_OID_CMC_IDENTIFICATION = 306,
|
---|
418 | XCN_OID_CMC_IDENTITY_PROOF = 307,
|
---|
419 | XCN_OID_CMC_DATA_RETURN = 308,
|
---|
420 | XCN_OID_CMC_TRANSACTION_ID = 309,
|
---|
421 | XCN_OID_CMC_SENDER_NONCE = 310,
|
---|
422 | XCN_OID_CMC_RECIPIENT_NONCE = 311,
|
---|
423 | XCN_OID_CMC_ADD_EXTENSIONS = 312,
|
---|
424 | XCN_OID_CMC_ENCRYPTED_POP = 313,
|
---|
425 | XCN_OID_CMC_DECRYPTED_POP = 314,
|
---|
426 | XCN_OID_CMC_LRA_POP_WITNESS = 315,
|
---|
427 | XCN_OID_CMC_GET_CERT = 316,
|
---|
428 | XCN_OID_CMC_GET_CRL = 317,
|
---|
429 | XCN_OID_CMC_REVOKE_REQUEST = 318,
|
---|
430 | XCN_OID_CMC_REG_INFO = 319,
|
---|
431 | XCN_OID_CMC_RESPONSE_INFO = 320,
|
---|
432 | XCN_OID_CMC_QUERY_PENDING = 321,
|
---|
433 | XCN_OID_CMC_ID_POP_LINK_RANDOM = 322,
|
---|
434 | XCN_OID_CMC_ID_POP_LINK_WITNESS = 323,
|
---|
435 | XCN_OID_CMC_ID_CONFIRM_CERT_ACCEPTANCE = 324,
|
---|
436 | XCN_OID_CMC_ADD_ATTRIBUTES = 325,
|
---|
437 | XCN_OID_LOYALTY_OTHER_LOGOTYPE = 326,
|
---|
438 | XCN_OID_BACKGROUND_OTHER_LOGOTYPE = 327,
|
---|
439 | XCN_OID_PKIX_OCSP_BASIC_SIGNED_RESPONSE = 328,
|
---|
440 | XCN_OID_PKCS_7_DATA = 329,
|
---|
441 | XCN_OID_PKCS_7_SIGNED = 330,
|
---|
442 | XCN_OID_PKCS_7_ENVELOPED = 331,
|
---|
443 | XCN_OID_PKCS_7_SIGNEDANDENVELOPED = 332,
|
---|
444 | XCN_OID_PKCS_7_DIGESTED = 333,
|
---|
445 | XCN_OID_PKCS_7_ENCRYPTED = 334,
|
---|
446 | XCN_OID_PKCS_9_CONTENT_TYPE = 335,
|
---|
447 | XCN_OID_PKCS_9_MESSAGE_DIGEST = 336,
|
---|
448 | XCN_OID_CERT_PROP_ID_PREFIX = 337,
|
---|
449 | XCN_OID_CERT_KEY_IDENTIFIER_PROP_ID = 338,
|
---|
450 | XCN_OID_CERT_ISSUER_SERIAL_NUMBER_MD5_HASH_PROP_ID = 339,
|
---|
451 | XCN_OID_CERT_SUBJECT_NAME_MD5_HASH_PROP_ID = 340,
|
---|
452 | XCN_OID_CERT_MD5_HASH_PROP_ID = 341,
|
---|
453 | XCN_OID_RSA_SHA256RSA = 342,
|
---|
454 | XCN_OID_RSA_SHA384RSA = 343,
|
---|
455 | XCN_OID_RSA_SHA512RSA = 344,
|
---|
456 | XCN_OID_NIST_sha256 = 345,
|
---|
457 | XCN_OID_NIST_sha384 = 346,
|
---|
458 | XCN_OID_NIST_sha512 = 347,
|
---|
459 | XCN_OID_RSA_MGF1 = 348,
|
---|
460 | XCN_OID_ECC_PUBLIC_KEY = 349,
|
---|
461 | XCN_OID_RSA_SSA_PSS = 353,
|
---|
462 | XCN_OID_ECDSA_SHA1 = 354,
|
---|
463 | XCN_OID_ECDSA_SPECIFIED = 354
|
---|
464 | } CERTENROLL_OBJECTID;
|
---|
465 |
|
---|
466 | typedef enum EnrollmentCAProperty {
|
---|
467 | CAPropCommonName = 1,
|
---|
468 | CAPropDistinguishedName = 2,
|
---|
469 | CAPropSanitizedName = 3,
|
---|
470 | CAPropSanitizedShortName = 4,
|
---|
471 | CAPropDNSName = 5,
|
---|
472 | CAPropCertificateTypes = 6,
|
---|
473 | CAPropCertificate = 7,
|
---|
474 | CAPropDescription = 8,
|
---|
475 | CAPropWebServers = 9,
|
---|
476 | CAPropSiteName = 10,
|
---|
477 | CAPropSecurity = 11,
|
---|
478 | CAPropRenewalOnly = 12
|
---|
479 | } EnrollmentCAProperty;
|
---|
480 |
|
---|
481 | typedef enum EncodingType {
|
---|
482 | XCN_CRYPT_STRING_BASE64HEADER = 0,
|
---|
483 | XCN_CRYPT_STRING_BASE64 = 0x1,
|
---|
484 | XCN_CRYPT_STRING_BINARY = 0x2,
|
---|
485 | XCN_CRYPT_STRING_BASE64REQUESTHEADER = 0x3,
|
---|
486 | XCN_CRYPT_STRING_HEX = 0x4,
|
---|
487 | XCN_CRYPT_STRING_HEXASCII = 0x5,
|
---|
488 | XCN_CRYPT_STRING_BASE64_ANY = 0x6,
|
---|
489 | XCN_CRYPT_STRING_ANY = 0x7,
|
---|
490 | XCN_CRYPT_STRING_HEX_ANY = 0x8,
|
---|
491 | XCN_CRYPT_STRING_BASE64X509CRLHEADER = 0x9,
|
---|
492 | XCN_CRYPT_STRING_HEXADDR = 0xa,
|
---|
493 | XCN_CRYPT_STRING_HEXASCIIADDR = 0xb,
|
---|
494 | XCN_CRYPT_STRING_HEXRAW = 0xc,
|
---|
495 | XCN_CRYPT_STRING_NOCRLF = 0x40000000,
|
---|
496 | XCN_CRYPT_STRING_NOCR = 0x80000000
|
---|
497 | } EncodingType;
|
---|
498 |
|
---|
499 | typedef enum CommitTemplateFlags {
|
---|
500 | CommitFlagSaveTemplateGenerateOID = 1,
|
---|
501 | CommitFlagSaveTemplateUseCurrentOID = 2,
|
---|
502 | CommitFlagSaveTemplateOverwrite = 3,
|
---|
503 | CommitFlagDeleteTemplate = 4
|
---|
504 | } CommitTemplateFlags;
|
---|
505 |
|
---|
506 | typedef enum EnrollmentDisplayStatus {
|
---|
507 | DisplayNo = 0,
|
---|
508 | DisplayYes = 1
|
---|
509 | } EnrollmentDisplayStatus;
|
---|
510 |
|
---|
511 | typedef enum EnrollmentEnrollStatus {
|
---|
512 | Enrolled = 0x00000001,
|
---|
513 | EnrollPended = 0x00000002,
|
---|
514 | EnrollUIDeferredEnrollmentRequired = 0x00000004,
|
---|
515 | EnrollError = 0x00000010,
|
---|
516 | EnrollUnknown = 0x00000020,
|
---|
517 | EnrollSkipped = 0x00000040,
|
---|
518 | EnrollDenied = 0x00000100
|
---|
519 | } EnrollmentEnrollStatus;
|
---|
520 |
|
---|
521 | #if (_WIN32_WINNT >= 0x0601)
|
---|
522 | enum EnrollmentPolicyFlags {
|
---|
523 | DisableGroupPolicyList = 0x2,
|
---|
524 | DisableUserServerList = 0x4
|
---|
525 | };
|
---|
526 |
|
---|
527 | typedef enum EnrollmentPolicyServerPropertyFlags {
|
---|
528 | DefaultNone = 0x00000000,
|
---|
529 | DefaultPolicyServer = 0x00000001
|
---|
530 | } EnrollmentPolicyServerPropertyFlags;
|
---|
531 |
|
---|
532 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
533 |
|
---|
534 | typedef enum EnrollmentSelectionStatus {
|
---|
535 | SelectedNo = 0,
|
---|
536 | SelectedYes = 1
|
---|
537 | } EnrollmentSelectionStatus;
|
---|
538 |
|
---|
539 | #if (_WIN32_WINNT >= 0x0601)
|
---|
540 |
|
---|
541 | typedef enum EnrollmentTemplateProperty {
|
---|
542 | TemplatePropCommonName = 1,
|
---|
543 | TemplatePropFriendlyName = 2,
|
---|
544 | TemplatePropEKUs = 3,
|
---|
545 | TemplatePropCryptoProviders = 4,
|
---|
546 | TemplatePropMajorRevision = 5,
|
---|
547 | TemplatePropDescription = 6,
|
---|
548 | TemplatePropKeySpec = 7,
|
---|
549 | TemplatePropSchemaVersion = 8,
|
---|
550 | TemplatePropMinorRevision = 9,
|
---|
551 | TemplatePropRASignatureCount = 10,
|
---|
552 | TemplatePropMinimumKeySize = 11,
|
---|
553 | TemplatePropOID = 12,
|
---|
554 | TemplatePropSupersede = 13,
|
---|
555 | TemplatePropRACertificatePolicies = 14,
|
---|
556 | TemplatePropRAEKUs = 15,
|
---|
557 | TemplatePropCertificatePolicies = 16,
|
---|
558 | TemplatePropV1ApplicationPolicy = 17,
|
---|
559 | TemplatePropAsymmetricAlgorithm = 18,
|
---|
560 | TemplatePropKeySecurityDescriptor = 19,
|
---|
561 | TemplatePropSymmetricAlgorithm = 20,
|
---|
562 | TemplatePropSymmetricKeyLength = 21,
|
---|
563 | TemplatePropHashAlgorithm = 22,
|
---|
564 | TemplatePropEnrollmentFlags = 23,
|
---|
565 | TemplatePropSubjectNameFlags = 24,
|
---|
566 | TemplatePropPrivateKeyFlags = 25,
|
---|
567 | TemplatePropGeneralFlags = 26,
|
---|
568 | TemplatePropSecurityDescriptor = 27,
|
---|
569 | TemplatePropExtensions = 28,
|
---|
570 | TemplatePropValidityPeriod = 29,
|
---|
571 | TemplatePropRenewalPeriod = 30
|
---|
572 | } EnrollmentTemplateProperty;
|
---|
573 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
574 |
|
---|
575 | typedef enum InnerRequestLevel {
|
---|
576 | LevelInnermost = 0,
|
---|
577 | LevelNext = 1
|
---|
578 | } InnerRequestLevel;
|
---|
579 |
|
---|
580 | typedef enum InstallResponseRestrictionFlags {
|
---|
581 | AllowNone = 0x00000000,
|
---|
582 | AllowNoOutstandingRequest = 0x00000001,
|
---|
583 | AllowUntrustedCertificate = 0x00000002,
|
---|
584 | AllowUntrustedRoot = 0x00000004
|
---|
585 | } InstallResponseRestrictionFlags;
|
---|
586 |
|
---|
587 | typedef enum KeyIdentifierHashAlgorithm {
|
---|
588 | SKIHashDefault = 0,
|
---|
589 | SKIHashSha1 = 1,
|
---|
590 | SKIHashCapiSha1 = 2
|
---|
591 | } KeyIdentifierHashAlgorithm;
|
---|
592 |
|
---|
593 | typedef enum ObjectIdGroupId {
|
---|
594 | XCN_CRYPT_ANY_GROUP_ID = 0,
|
---|
595 | XCN_CRYPT_HASH_ALG_OID_GROUP_ID = 1,
|
---|
596 | XCN_CRYPT_ENCRYPT_ALG_OID_GROUP_ID = 2,
|
---|
597 | XCN_CRYPT_PUBKEY_ALG_OID_GROUP_ID = 3,
|
---|
598 | XCN_CRYPT_SIGN_ALG_OID_GROUP_ID = 4,
|
---|
599 | XCN_CRYPT_RDN_ATTR_OID_GROUP_ID = 5,
|
---|
600 | XCN_CRYPT_EXT_OR_ATTR_OID_GROUP_ID = 6,
|
---|
601 | XCN_CRYPT_ENHKEY_USAGE_OID_GROUP_ID = 7,
|
---|
602 | XCN_CRYPT_POLICY_OID_GROUP_ID = 8,
|
---|
603 | XCN_CRYPT_TEMPLATE_OID_GROUP_ID = 9,
|
---|
604 | XCN_CRYPT_LAST_OID_GROUP_ID = 9,
|
---|
605 | XCN_CRYPT_FIRST_ALG_OID_GROUP_ID = 1,
|
---|
606 | XCN_CRYPT_LAST_ALG_OID_GROUP_ID = 4,
|
---|
607 | XCN_CRYPT_OID_DISABLE_SEARCH_DS_FLAG = 0x80000000,
|
---|
608 | XCN_CRYPT_KEY_LENGTH_MASK = 0xffff0000
|
---|
609 | } ObjectIdGroupId;
|
---|
610 |
|
---|
611 | typedef enum ObjectIdPublicKeyFlags {
|
---|
612 | XCN_CRYPT_OID_INFO_PUBKEY_ANY = 0,
|
---|
613 | XCN_CRYPT_OID_INFO_PUBKEY_SIGN_KEY_FLAG = 0x80000000,
|
---|
614 | XCN_CRYPT_OID_INFO_PUBKEY_ENCRYPT_KEY_FLAG = 0x40000000
|
---|
615 | } ObjectIdPublicKeyFlags;
|
---|
616 |
|
---|
617 | typedef enum PFXExportOptions {
|
---|
618 | PFXExportEEOnly = 0,
|
---|
619 | PFXExportChainNoRoot = 1,
|
---|
620 | PFXExportChainWithRoot = 2
|
---|
621 | } PFXExportOptions;
|
---|
622 |
|
---|
623 | typedef enum Pkcs10AllowedSignatureTypes {
|
---|
624 | AllowedKeySignature = 0x1,
|
---|
625 | AllowedNullSignature = 0x2
|
---|
626 | } Pkcs10AllowedSignatureTypes;
|
---|
627 |
|
---|
628 | typedef enum PolicyQualifierType {
|
---|
629 | PolicyQualifierTypeUnknown = 0,
|
---|
630 | PolicyQualifierTypeUrl = 1,
|
---|
631 | PolicyQualifierTypeUserNotice = 2
|
---|
632 | } PolicyQualifierType;
|
---|
633 |
|
---|
634 | typedef enum PolicyServerUrlFlags {
|
---|
635 | PsfNone = 0,
|
---|
636 | PsfLocationGroupPolicy = 1,
|
---|
637 | PsfLocationRegistry = 2,
|
---|
638 | PsfUseClientId = 4,
|
---|
639 | PsfAutoEnrollmentEnabled = 16,
|
---|
640 | PsfAllowUnTrustedCA = 32
|
---|
641 | } PolicyServerUrlFlags;
|
---|
642 |
|
---|
643 | #if (_WIN32_WINNT >= 0x0601)
|
---|
644 |
|
---|
645 | typedef enum PolicyServerUrlPropertyID {
|
---|
646 | PsPolicyID = 0,
|
---|
647 | PsFriendlyName = 1
|
---|
648 | } PolicyServerUrlPropertyID;
|
---|
649 |
|
---|
650 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
651 |
|
---|
652 | typedef enum RequestClientInfoClientId {
|
---|
653 | ClientIdNone = 0,
|
---|
654 | ClientIdXEnroll2003 = 1,
|
---|
655 | ClientIdAutoEnroll2003 = 2,
|
---|
656 | ClientIdWizard2003 = 3,
|
---|
657 | ClientIdCertReq2003 = 4,
|
---|
658 | ClientIdDefaultRequest = 5,
|
---|
659 | ClientIdAutoEnroll = 6,
|
---|
660 | ClientIdRequestWizard = 7,
|
---|
661 | ClientIdEOBO = 8,
|
---|
662 | ClientIdCertReq = 9,
|
---|
663 | ClientIdTest = 10,
|
---|
664 | ClientIdUserStart = 1000
|
---|
665 | } RequestClientInfoClientId;
|
---|
666 |
|
---|
667 | #if (_WIN32_WINNT >= 0x0601)
|
---|
668 |
|
---|
669 | typedef enum WebEnrollmentFlags {
|
---|
670 | EnrollPrompt = 0x00000001
|
---|
671 | } WebEnrollmentFlags;
|
---|
672 |
|
---|
673 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
674 |
|
---|
675 | typedef enum WebSecurityLevel {
|
---|
676 | LevelUnsafe = 0,
|
---|
677 | LevelSafe = 1
|
---|
678 | } WebSecurityLevel;
|
---|
679 |
|
---|
680 | typedef enum X500NameFlags {
|
---|
681 | XCN_CERT_NAME_STR_NONE = 0,
|
---|
682 | XCN_CERT_SIMPLE_NAME_STR = 1,
|
---|
683 | XCN_CERT_OID_NAME_STR = 2,
|
---|
684 | XCN_CERT_X500_NAME_STR = 3,
|
---|
685 | XCN_CERT_XML_NAME_STR = 4,
|
---|
686 | XCN_CERT_NAME_STR_SEMICOLON_FLAG = 0x40000000,
|
---|
687 | XCN_CERT_NAME_STR_NO_PLUS_FLAG = 0x20000000,
|
---|
688 | XCN_CERT_NAME_STR_NO_QUOTING_FLAG = 0x10000000,
|
---|
689 | XCN_CERT_NAME_STR_CRLF_FLAG = 0x8000000,
|
---|
690 | XCN_CERT_NAME_STR_COMMA_FLAG = 0x4000000,
|
---|
691 | XCN_CERT_NAME_STR_REVERSE_FLAG = 0x2000000,
|
---|
692 | XCN_CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG = 0x10000,
|
---|
693 | XCN_CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG = 0x20000,
|
---|
694 | XCN_CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG = 0x40000,
|
---|
695 | XCN_CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG = 0x80000,
|
---|
696 | XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG = 0x100000
|
---|
697 | } X500NameFlags;
|
---|
698 |
|
---|
699 | typedef enum X509CertificateEnrollmentContext {
|
---|
700 | ContextUser = 0x1,
|
---|
701 | ContextMachine = 0x2,
|
---|
702 | ContextAdministratorForceMachine = 0x3
|
---|
703 | } X509CertificateEnrollmentContext;
|
---|
704 |
|
---|
705 | #if (_WIN32_WINNT >= 0x0601)
|
---|
706 |
|
---|
707 | typedef enum X509CertificateTemplateEnrollmentFlag {
|
---|
708 | EnrollmentIncludeSymmetricAlgorithms = CT_FLAG_INCLUDE_SYMMETRIC_ALGORITHMS,
|
---|
709 | EnrollmentPendAllRequests = CT_FLAG_PEND_ALL_REQUESTS,
|
---|
710 | EnrollmentPublishToKRAContainer = CT_FLAG_PUBLISH_TO_KRA_CONTAINER,
|
---|
711 | EnrollmentPublishToDS = CT_FLAG_PUBLISH_TO_DS,
|
---|
712 | EnrollmentAutoEnrollmentCheckUserDSCertificate = CT_FLAG_AUTO_ENROLLMENT_CHECK_USER_DS_CERTIFICATE,
|
---|
713 | EnrollmentAutoEnrollment = CT_FLAG_AUTO_ENROLLMENT,
|
---|
714 | EnrollmentDomainAuthenticationNotRequired = CT_FLAG_DOMAIN_AUTHENTICATION_NOT_REQUIRED,
|
---|
715 | EnrollmentPreviousApprovalValidateReenrollment = CT_FLAG_PREVIOUS_APPROVAL_VALIDATE_REENROLLMENT,
|
---|
716 | EnrollmentUserInteractionRequired = CT_FLAG_USER_INTERACTION_REQUIRED,
|
---|
717 | EnrollmentAddTemplateName = CT_FLAG_ADD_TEMPLATE_NAME,
|
---|
718 | EnrollmentRemoveInvalidCertificateFromPersonalStore = CT_FLAG_REMOVE_INVALID_CERTIFICATE_FROM_PERSONAL_STORE,
|
---|
719 | EnrollmentAllowEnrollOnBehalfOf = CT_FLAG_ALLOW_ENROLL_ON_BEHALF_OF,
|
---|
720 | EnrollmentAddOCSPNoCheck = CT_FLAG_ADD_OCSP_NOCHECK,
|
---|
721 | EnrollmentReuseKeyOnFullSmartCard = CT_FLAG_ENABLE_KEY_REUSE_ON_NT_TOKEN_KEYSET_STORAGE_FULL,
|
---|
722 | EnrollmentNoRevocationInfoInCerts = CT_FLAG_NOREVOCATIONINFOINISSUEDCERTS,
|
---|
723 | EnrollmentIncludeBasicConstraintsForEECerts = CT_FLAG_INCLUDE_BASIC_CONSTRAINTS_FOR_EE_CERTS
|
---|
724 | } X509CertificateTemplateEnrollmentFlag;
|
---|
725 |
|
---|
726 | typedef enum X509CertificateTemplateGeneralFlag {
|
---|
727 | GeneralMachineType = CT_FLAG_MACHINE_TYPE,
|
---|
728 | GeneralCA = CT_FLAG_IS_CA,
|
---|
729 | GeneralCrossCA = CT_FLAG_IS_CROSS_CA,
|
---|
730 | GeneralDefault = CT_FLAG_IS_DEFAULT,
|
---|
731 | GeneralModified = CT_FLAG_IS_MODIFIED,
|
---|
732 | GeneralDonotPersist = CT_FLAG_DONOTPERSISTINDB
|
---|
733 | } X509CertificateTemplateGeneralFlag;
|
---|
734 |
|
---|
735 | typedef enum X509CertificateTemplatePrivateKeyFlag {
|
---|
736 | PrivateKeyRequireArchival = CT_FLAG_REQUIRE_PRIVATE_KEY_ARCHIVAL,
|
---|
737 | PrivateKeyExportable = CT_FLAG_EXPORTABLE_KEY,
|
---|
738 | PrivateKeyRequireStrongKeyProtection = CT_FLAG_STRONG_KEY_PROTECTION_REQUIRED,
|
---|
739 | PrivateKeyRequireAlternateSignatureAlgorithm = CT_FLAG_REQUIRE_ALTERNATE_SIGNATURE_ALGORITHM
|
---|
740 | } X509CertificateTemplatePrivateKeyFlag;
|
---|
741 |
|
---|
742 | typedef enum X509CertificateTemplateSubjectNameFlag {
|
---|
743 | SubjectNameEnrolleeSupplies = CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT,
|
---|
744 | SubjectNameRequireDirectoryPath = CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH,
|
---|
745 | SubjectNameRequireCommonName = CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME,
|
---|
746 | SubjectNameRequireEmail = CT_FLAG_SUBJECT_REQUIRE_EMAIL,
|
---|
747 | SubjectNameRequireDNS = CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN,
|
---|
748 | SubjectNameAndAlternativeNameOldCertSupplies = CT_FLAG_OLD_CERT_SUPPLIES_SUBJECT_AND_ALT_NAME,
|
---|
749 | SubjectAlternativeNameEnrolleeSupplies = CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT_ALT_NAME,
|
---|
750 | SubjectAlternativeNameRequireDirectoryGUID = CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID,
|
---|
751 | SubjectAlternativeNameRequireUPN = CT_FLAG_SUBJECT_ALT_REQUIRE_UPN,
|
---|
752 | SubjectAlternativeNameRequireEmail = CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL,
|
---|
753 | SubjectAlternativeNameRequireSPN = CT_FLAG_SUBJECT_ALT_REQUIRE_SPN,
|
---|
754 | SubjectAlternativeNameRequireDNS = CT_FLAG_SUBJECT_ALT_REQUIRE_DNS,
|
---|
755 | SubjectAlternativeNameRequireDomainDNS = CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS
|
---|
756 | } X509CertificateTemplateSubjectNameFlag;
|
---|
757 |
|
---|
758 | typedef enum X509EnrollmentPolicyExportFlags {
|
---|
759 | ExportTemplates = 0x1,
|
---|
760 | ExportOIDs = 0x2,
|
---|
761 | ExportCAs = 0x4
|
---|
762 | } X509EnrollmentPolicyExportFlags;
|
---|
763 |
|
---|
764 | typedef enum X509EnrollmentPolicyLoadOption {
|
---|
765 | LoadOptionDefault = 0,
|
---|
766 | LoadOptionCacheOnly = 1,
|
---|
767 | LoadOptionReload = 2,
|
---|
768 | LoadOptionRegisterForADChanges = 4
|
---|
769 | } X509EnrollmentPolicyLoadOption;
|
---|
770 |
|
---|
771 |
|
---|
772 | #endif /*(_WIN32_WINNT >= 0x0601)*/
|
---|
773 |
|
---|
774 | typedef enum X509KeySpec {
|
---|
775 | XCN_AT_NONE = 0,
|
---|
776 | XCN_AT_KEYEXCHANGE = 1,
|
---|
777 | XCN_AT_SIGNATURE = 2
|
---|
778 | } X509KeySpec;
|
---|
779 |
|
---|
780 | typedef enum X509KeyUsageFlags {
|
---|
781 | XCN_CERT_NO_KEY_USAGE = 0,
|
---|
782 | XCN_CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80,
|
---|
783 | XCN_CERT_NON_REPUDIATION_KEY_USAGE = 0x40,
|
---|
784 | XCN_CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20,
|
---|
785 | XCN_CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10,
|
---|
786 | XCN_CERT_KEY_AGREEMENT_KEY_USAGE = 0x8,
|
---|
787 | XCN_CERT_KEY_CERT_SIGN_KEY_USAGE = 0x4,
|
---|
788 | XCN_CERT_OFFLINE_CRL_SIGN_KEY_USAGE = 0x2,
|
---|
789 | XCN_CERT_CRL_SIGN_KEY_USAGE = 0x2,
|
---|
790 | XCN_CERT_ENCIPHER_ONLY_KEY_USAGE = 0x1,
|
---|
791 | XCN_CERT_DECIPHER_ONLY_KEY_USAGE = ( 0x80 << 8 )
|
---|
792 | } X509KeyUsageFlags;
|
---|
793 |
|
---|
794 | typedef enum X509PrivateKeyExportFlags {
|
---|
795 | XCN_NCRYPT_ALLOW_EXPORT_NONE = 0,
|
---|
796 | XCN_NCRYPT_ALLOW_EXPORT_FLAG = 0x1,
|
---|
797 | XCN_NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG = 0x2,
|
---|
798 | XCN_NCRYPT_ALLOW_ARCHIVING_FLAG = 0x4,
|
---|
799 | XCN_NCRYPT_ALLOW_PLAINTEXT_ARCHIVING_FLAG = 0x8
|
---|
800 | } X509PrivateKeyExportFlags;
|
---|
801 |
|
---|
802 | typedef enum X509PrivateKeyProtection {
|
---|
803 | XCN_NCRYPT_UI_NO_PROTECTION_FLAG = 0,
|
---|
804 | XCN_NCRYPT_UI_PROTECT_KEY_FLAG = 0x1,
|
---|
805 | XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG = 0x2
|
---|
806 | } X509PrivateKeyProtection;
|
---|
807 |
|
---|
808 | typedef enum X509RequestType {
|
---|
809 | TypeAny = 0,
|
---|
810 | TypePkcs10 = 1,
|
---|
811 | TypePkcs7 = 2,
|
---|
812 | TypeCmc = 3,
|
---|
813 | TypeCertificate = 4
|
---|
814 | } X509RequestType;
|
---|
815 |
|
---|
816 | typedef enum X509RequestInheritOptions {
|
---|
817 | InheritDefault = 0x00000000,
|
---|
818 | InheritNewDefaultKey = 0x00000001,
|
---|
819 | InheritNewSimilarKey = 0x00000002,
|
---|
820 | InheritPrivateKey = 0x00000003,
|
---|
821 | InheritPublicKey = 0x00000004,
|
---|
822 | InheritKeyMask = 0x0000000f,
|
---|
823 | InheritNone = 0x00000010,
|
---|
824 | InheritRenewalCertificateFlag = 0x00000020,
|
---|
825 | InheritTemplateFlag = 0x00000040,
|
---|
826 | InheritSubjectFlag = 0x00000080,
|
---|
827 | InheritExtensionsFlag = 0x00000100,
|
---|
828 | InheritSubjectAltNameFlag = 0x00000200,
|
---|
829 | InheritValidityPeriodFlag = 0x00000400
|
---|
830 | } X509RequestInheritOptions;
|
---|
831 |
|
---|
832 | typedef enum X509ProviderType {
|
---|
833 | XCN_PROV_NONE = 0,
|
---|
834 | XCN_PROV_RSA_FULL = 1,
|
---|
835 | XCN_PROV_RSA_SIG = 2,
|
---|
836 | XCN_PROV_DSS = 3,
|
---|
837 | XCN_PROV_FORTEZZA = 4,
|
---|
838 | XCN_PROV_MS_EXCHANGE = 5,
|
---|
839 | XCN_PROV_SSL = 6,
|
---|
840 | XCN_PROV_RSA_SCHANNEL = 12,
|
---|
841 | XCN_PROV_DSS_DH = 13,
|
---|
842 | XCN_PROV_EC_ECDSA_SIG = 14,
|
---|
843 | XCN_PROV_EC_ECNRA_SIG = 15,
|
---|
844 | XCN_PROV_EC_ECDSA_FULL = 16,
|
---|
845 | XCN_PROV_EC_ECNRA_FULL = 17,
|
---|
846 | XCN_PROV_DH_SCHANNEL = 18,
|
---|
847 | XCN_PROV_SPYRUS_LYNKS = 20,
|
---|
848 | XCN_PROV_RNG = 21,
|
---|
849 | XCN_PROV_INTEL_SEC = 22,
|
---|
850 | XCN_PROV_REPLACE_OWF = 23,
|
---|
851 | XCN_PROV_RSA_AES = 24
|
---|
852 | } X509ProviderType;
|
---|
853 |
|
---|
854 | typedef enum X509PrivateKeyVerify {
|
---|
855 | VerifyNone = 0,
|
---|
856 | VerifySilent = 1,
|
---|
857 | VerifySmartCardNone = 2,
|
---|
858 | VerifySmartCardSilent = 3,
|
---|
859 | VerifyAllowUI = 4
|
---|
860 | } X509PrivateKeyVerify;
|
---|
861 |
|
---|
862 | typedef enum X509PrivateKeyUsageFlags {
|
---|
863 | XCN_NCRYPT_ALLOW_USAGES_NONE = 0,
|
---|
864 | XCN_NCRYPT_ALLOW_DECRYPT_FLAG = 0x1,
|
---|
865 | XCN_NCRYPT_ALLOW_SIGNING_FLAG = 0x2,
|
---|
866 | XCN_NCRYPT_ALLOW_KEY_AGREEMENT_FLAG = 0x4,
|
---|
867 | XCN_NCRYPT_ALLOW_ALL_USAGES = 0xffffff
|
---|
868 | } X509PrivateKeyUsageFlags;
|
---|
869 |
|
---|
870 | typedef enum EncodingType {
|
---|
871 | XCN_CRYPT_STRING_BASE64HEADER = 0,
|
---|
872 | XCN_CRYPT_STRING_BASE64 = 0x1,
|
---|
873 | XCN_CRYPT_STRING_BINARY = 0x2,
|
---|
874 | XCN_CRYPT_STRING_BASE64REQUESTHEADER = 0x3,
|
---|
875 | XCN_CRYPT_STRING_HEX = 0x4,
|
---|
876 | XCN_CRYPT_STRING_HEXASCII = 0x5,
|
---|
877 | XCN_CRYPT_STRING_BASE64_ANY = 0x6,
|
---|
878 | XCN_CRYPT_STRING_ANY = 0x7,
|
---|
879 | XCN_CRYPT_STRING_HEX_ANY = 0x8,
|
---|
880 | XCN_CRYPT_STRING_BASE64X509CRLHEADER = 0x9,
|
---|
881 | XCN_CRYPT_STRING_HEXADDR = 0xa,
|
---|
882 | XCN_CRYPT_STRING_HEXASCIIADDR = 0xb,
|
---|
883 | XCN_CRYPT_STRING_HEXRAW = 0xc,
|
---|
884 | XCN_CRYPT_STRING_NOCRLF = 0x40000000,
|
---|
885 | XCN_CRYPT_STRING_NOCR = 0x80000000
|
---|
886 | } EncodingType;
|
---|
887 |
|
---|
888 | typedef enum EnrollmentDisplayStatus {
|
---|
889 | DisplayNo = 0,
|
---|
890 | DisplayYes = 1
|
---|
891 | } EnrollmentDisplayStatus;
|
---|
892 |
|
---|
893 | typedef enum EnrollmentEnrollStatus {
|
---|
894 | Enrolled = 0x00000001,
|
---|
895 | EnrollPended = 0x00000002,
|
---|
896 | EnrollUIDeferredEnrollmentRequired = 0x00000004,
|
---|
897 | EnrollError = 0x00000010,
|
---|
898 | EnrollUnknown = 0x00000020,
|
---|
899 | EnrollSkipped = 0x00000040,
|
---|
900 | EnrollDenied = 0x00000100
|
---|
901 | } EnrollmentEnrollStatus;
|
---|
902 |
|
---|
903 | typedef enum EnrollmentSelectionStatus {
|
---|
904 | SelectedNo = 0,
|
---|
905 | SelectedYes = 1
|
---|
906 | } EnrollmentSelectionStatus;
|
---|
907 |
|
---|
908 | #ifdef __cplusplus
|
---|
909 | }
|
---|
910 | #endif
|
---|
911 | #endif /*(_WIN32_WINNT >= 0x0600)*/
|
---|
912 | #endif /*_INC_CERTENROLL*/
|
---|