source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/certenroll.h

Last change on this file was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 44.7 KB
RevLine 
[1166]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
11extern "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
888typedef enum EnrollmentDisplayStatus {
889 DisplayNo = 0,
890 DisplayYes = 1
891} EnrollmentDisplayStatus;
892
893typedef 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
903typedef 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*/
Note: See TracBrowser for help on using the repository browser.