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 #if !defined(_CERTSRV_H_)
7 #define _CERTSRV_H_
8 
9 #include <certadm.h>
10 #include <certbcli.h>
11 #include <certcli.h>
12 #include <certenc.h>
13 #include <certexit.h>
14 #include <certif.h>
15 #include <certpol.h>
16 #include <certmod.h>
17 #include <certview.h>
18 
19 #define wszSERVICE_NAME TEXT("CertSvc")
20 #define wszREGKEYNOSYSTEMCERTSVCPATH TEXT("CurrentControlSet\\Services\\") wszSERVICE_NAME
21 #define wszREGKEYCERTSVCPATH TEXT("SYSTEM\\") wszREGKEYNOSYSTEMCERTSVCPATH
22 #define wszREGKEYBASE wszREGKEYCERTSVCPATH
23 #define wszREGKEYCONFIGPATH wszREGKEYCERTSVCPATH TEXT("\\") wszREGKEYCONFIG
24 #define wszREGKEYCONFIGPATH_BS wszREGKEYCONFIGPATH TEXT("\\")
25 #define wszREGKEYCONFIGCANAME wszREGKEYCONFIGPATH_BS
26 #define wszREGKEYCONFIGRESTORE wszREGKEYCONFIGPATH_BS wszREGKEYRESTOREINPROGRESS
27 #define wszREGKEYCONFIG TEXT("Configuration")
28 #define wszREGACTIVE TEXT("Active")
29 #define wszREGDIRECTORY TEXT("ConfigurationDirectory")
30 #define wszREGDBDIRECTORY TEXT("DBDirectory")
31 #define wszREGDBLOGDIRECTORY TEXT("DBLogDirectory")
32 #define wszREGDBSYSDIRECTORY TEXT("DBSystemDirectory")
33 #define wszREGDBTEMPDIRECTORY TEXT("DBTempDirectory")
34 #define wszREGDBSESSIONCOUNT TEXT("DBSessionCount")
35 #define wszREGDBFLAGS TEXT("DBFlags")
36 #define wszREGDBLASTFULLBACKUP TEXT("DBLastFullBackup")
37 #define wszREGDBLASTINCREMENTALBACKUP TEXT("DBLastIncrementalBackup")
38 #define wszREGDBLASTRECOVERY TEXT("DBLastRecovery")
39 #define wszREGWEBCLIENTCAMACHINE TEXT("WebClientCAMachine")
40 #define wszREGVERSION TEXT("Version")
41 #define wszREGWEBCLIENTCANAME TEXT("WebClientCAName")
42 #define wszREGWEBCLIENTCATYPE TEXT("WebClientCAType")
43 #define wszREGLDAPFLAGS TEXT("LDAPFlags")
44 #define wszREGCERTSRVDEBUG TEXT("Debug")
45 
46 #define DBSESSIONCOUNTDEFAULT 20
47 
48 #define DBFLAGS_READONLY 0x00000001
49 #define DBFLAGS_CREATEIFNEEDED 0x00000002
50 #define DBFLAGS_CIRCULARLOGGING 0x00000004
51 #define DBFLAGS_LAZYFLUSH 0x00000008
52 #define DBFLAGS_MAXCACHESIZEX100 0x00000010
53 #define DBFLAGS_CHECKPOINTDEPTH60MB 0x00000020
54 #define DBFLAGS_LOGBUFFERSLARGE 0x00000040
55 #define DBFLAGS_LOGBUFFERSHUGE 0x00000080
56 #define DBFLAGS_LOGFILESIZE16MB 0x00000100
57 #define DBFLAGS_MULTITHREADTRANSACTIONS 0x00000200
58 #define DBFLAGS_DISABLESNAPSHOTBACKUP 0x00000400
59 
60 #define DBFLAGS_DEFAULT (DBFLAGS_LAZYFLUSH | DBFLAGS_MAXCACHESIZEX100 | DBFLAGS_CHECKPOINTDEPTH60MB | DBFLAGS_LOGBUFFERSHUGE)
61 
62 #define LDAPF_SSLENABLE 0x00000001
63 #define LDAPF_SIGNDISABLE 0x00000002
64 
65 #define MAXINCOMINGMESSAGESIZEDEFAULT (64 *1024)
66 #define MAXINCOMINGALLOCSIZEDEFAULT (64 *1024)
67 
68 #define CSVER_MAJOR_WIN2K 1
69 #define CSVER_MINOR_WIN2K 1
70 
71 #define CSVER_MAJOR_WHISTLER 2
72 #define CSVER_MINOR_WHISTLER_BETA2 1
73 #define CSVER_MINOR_WHISTLER_BETA3 2
74 
75 #define CSVER_MAJOR CSVER_MAJOR_WHISTLER
76 #define CSVER_MINOR CSVER_MINOR_WHISTLER_BETA3
77 
78 #define CSVER_EXTRACT_MAJOR(version) ((version)>>16)
79 #define CSVER_EXTRACT_MINOR(version) ((version)&0xffff)
80 #define CSVER_BUILD_VERSION(major,minor) (((major)<<16)|(minor))
81 
82 #define wszREGKEYRESTOREINPROGRESS TEXT("RestoreInProgress")
83 #define wszREGKEYDBPARAMETERS TEXT("DBParameters")
84 
85 #define wszREGCADESCRIPTION TEXT("CADescription")
86 #define wszREGCACERTHASH TEXT("CACertHash")
87 #define wszREGCASERIALNUMBER TEXT("CACertSerialNumber")
88 #define wszREGCAXCHGCERTHASH TEXT("CAXchgCertHash")
89 #define wszREGKRACERTHASH TEXT("KRACertHash")
90 #define wszREGKRACERTCOUNT TEXT("KRACertCount")
91 #define wszREGKRAFLAGS TEXT("KRAFlags")
92 #define wszREGCATYPE TEXT("CAType")
93 #define wszREGCERTENROLLCOMPATIBLE TEXT("CertEnrollCompatible")
94 #define wszREGENFORCEX500NAMELENGTHS TEXT("EnforceX500NameLengths")
95 #define wszREGCOMMONNAME TEXT("CommonName")
96 #define wszREGCLOCKSKEWMINUTES TEXT("ClockSkewMinutes")
97 
98 #define wszREGCRLNEXTPUBLISH TEXT("CRLNextPublish")
99 #define wszREGCRLPERIODSTRING TEXT("CRLPeriod")
100 #define wszREGCRLPERIODCOUNT TEXT("CRLPeriodUnits")
101 #define wszREGCRLOVERLAPPERIODSTRING TEXT("CRLOverlapPeriod")
102 #define wszREGCRLOVERLAPPERIODCOUNT TEXT("CRLOverlapUnits")
103 
104 #define wszREGCRLDELTANEXTPUBLISH TEXT("CRLDeltaNextPublish")
105 #define wszREGCRLDELTAPERIODSTRING TEXT("CRLDeltaPeriod")
106 #define wszREGCRLDELTAPERIODCOUNT TEXT("CRLDeltaPeriodUnits")
107 #define wszREGCRLDELTAOVERLAPPERIODSTRING TEXT("CRLDeltaOverlapPeriod")
108 #define wszREGCRLDELTAOVERLAPPERIODCOUNT TEXT("CRLDeltaOverlapUnits")
109 
110 #define wszREGCRLPUBLICATIONURLS TEXT("CRLPublicationURLs")
111 #define wszREGCACERTPUBLICATIONURLS TEXT("CACertPublicationURLs")
112 
113 #define wszREGCAXCHGVALIDITYPERIODSTRING TEXT("CAXchgValidityPeriod")
114 #define wszREGCAXCHGVALIDITYPERIODCOUNT TEXT("CAXchgValidityPeriodUnits")
115 #define wszREGCAXCHGOVERLAPPERIODSTRING TEXT("CAXchgOverlapPeriod")
116 #define wszREGCAXCHGOVERLAPPERIODCOUNT TEXT("CAXchgOverlapPeriodUnits")
117 
118 #define wszREGCRLPATH_OLD TEXT("CRLPath")
119 #define wszREGCRLEDITFLAGS TEXT("CRLEditFlags")
120 #define wszREGCRLFLAGS TEXT("CRLFlags")
121 #define wszREGCRLATTEMPTREPUBLISH TEXT("CRLAttemptRepublish")
122 #define wszREGENABLED TEXT("Enabled")
123 #define wszREGFORCETELETEX TEXT("ForceTeletex")
124 #define wszREGLOGLEVEL TEXT("LogLevel")
125 #define wszREGHIGHSERIAL TEXT("HighSerial")
126 #define wszREGPOLICYFLAGS TEXT("PolicyFlags")
127 #define wszREGNAMESEPARATOR TEXT("SubjectNameSeparator")
128 #define wszREGSUBJECTTEMPLATE TEXT("SubjectTemplate")
129 #define wszREGCAUSEDS TEXT("UseDS")
130 #define wszREGVALIDITYPERIODSTRING TEXT("ValidityPeriod")
131 #define wszREGVALIDITYPERIODCOUNT TEXT("ValidityPeriodUnits")
132 #define wszREGPARENTCAMACHINE TEXT("ParentCAMachine")
133 #define wszREGPARENTCANAME TEXT("ParentCAName")
134 #define wszREGREQUESTFILENAME TEXT("RequestFileName")
135 #define wszREGREQUESTID TEXT("RequestId")
136 #define wszREGREQUESTKEYCONTAINER TEXT("RequestKeyContainer")
137 #define wszREGREQUESTKEYINDEX TEXT("RequestKeyIndex")
138 #define wszREGCASERVERNAME TEXT("CAServerName")
139 #define wszREGCACERTFILENAME TEXT("CACertFileName")
140 #define wszREGCASECURITY TEXT("Security")
141 #define wszREGAUDITFILTER TEXT("AuditFilter")
142 #define wszREGOFFICERRIGHTS TEXT("OfficerRights")
143 #define wszREGMAXINCOMINGMESSAGESIZE TEXT("MaxIncomingMessageSize")
144 #define wszREGMAXINCOMINGALLOCSIZE TEXT("MaxIncomingAllocSize")
145 #define wszREGROLESEPARATIONENABLED TEXT("RoleSeparationEnabled")
146 #define wszREGALTERNATEPUBLISHDOMAINS TEXT("AlternatePublishDomains")
147 
148 #define wszREGSETUPSTATUS TEXT("SetupStatus")
149 #define wszREGINTERFACEFLAGS TEXT("InterfaceFlags")
150 #define wszREGDSCONFIGDN TEXT("DSConfigDN")
151 #define wszREGDSDOMAINDN TEXT("DSDomainDN")
152 #define wszREGVIEWAGEMINUTES TEXT("ViewAgeMinutes")
153 #define wszREGVIEWIDLEMINUTES TEXT("ViewIdleMinutes")
154 
155 #define wszCRTFILENAMEEXT TEXT(".crt")
156 #define wszPFXFILENAMEEXT TEXT(".p12")
157 #define wszDATFILENAMEEXT TEXT(".dat")
158 #define wszLOGFILENAMEEXT TEXT(".log")
159 #define wszDBFILENAMEEXT TEXT(".edb")
160 #define szDBBASENAMEPARM "edb"
161 #define wszDBBASENAMEPARM TEXT(szDBBASENAMEPARM)
162 #define wszLOGPATH TEXT("CertLog")
163 #define wszDBBACKUPSUBDIR TEXT("DataBase")
164 #define wszDBBACKUPCERTBACKDAT TEXT("certbkxp.dat")
165 
166 #ifndef __ENUM_CATYPES__
167 #define __ENUM_CATYPES__
168 
169 typedef enum {
170   ENUM_ENTERPRISE_ROOTCA = 0,ENUM_ENTERPRISE_SUBCA = 1,ENUM_STANDALONE_ROOTCA = 3,ENUM_STANDALONE_SUBCA = 4,ENUM_UNKNOWN_CA = 5,
171 } ENUM_CATYPES;
172 
173 typedef struct _CAINFO {
174   DWORD cbSize;
175   ENUM_CATYPES CAType;
176   DWORD cCASignatureCerts;
177   DWORD cCAExchangeCerts;
178   DWORD cExitModules;
179   LONG lPropIdMax;
180   LONG lRoleSeparationEnabled;
181   DWORD cKRACertUsedCount;
182   DWORD cKRACertCount;
183   DWORD fAdvancedServer;
184 } CAINFO;
185 #endif
186 
187 #define CCLOCKSKEWMINUTESDEFAULT 10
188 #define CVIEWAGEMINUTESDEFAULT 16
189 #define CVIEWIDLEMINUTESDEFAULT (CVIEWAGEMINUTESDEFAULT / 2)
190 #define dwVALIDITYPERIODCOUNTDEFAULT_ROOT 5
191 #define dwVALIDITYPERIODCOUNTDEFAULT_ENTERPRISE 2
192 #define dwVALIDITYPERIODCOUNTDEFAULT_STANDALONE 1
193 #define dwVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_YEARS
194 #define wszVALIDITYPERIODSTRINGDEFAULT wszPERIODYEARS
195 #define dwCAXCHGVALIDITYPERIODCOUNTDEFAULT 1
196 #define dwCAXCHGVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_WEEKS
197 #define wszCAXCHGVALIDITYPERIODSTRINGDEFAULT wszPERIODWEEKS
198 #define dwCAXCHGOVERLAPPERIODCOUNTDEFAULT 1
199 #define dwCAXCHGOVERLAPPERIODENUMDEFAULT ENUM_PERIOD_DAYS
200 #define wszCAXCHGOVERLAPPERIODSTRINGDEFAULT wszPERIODDAYS
201 #define dwCRLPERIODCOUNTDEFAULT 1
202 #define wszCRLPERIODSTRINGDEFAULT wszPERIODWEEKS
203 #define dwCRLOVERLAPPERIODCOUNTDEFAULT 0
204 #define wszCRLOVERLAPPERIODSTRINGDEFAULT wszPERIODHOURS
205 #define dwCRLDELTAPERIODCOUNTDEFAULT 1
206 #define wszCRLDELTAPERIODSTRINGDEFAULT wszPERIODDAYS
207 #define dwCRLDELTAOVERLAPPERIODCOUNTDEFAULT 0
208 #define wszCRLDELTAOVERLAPPERIODSTRINGDEFAULT wszPERIODMINUTES
209 
210 #define CERTLOG_MINIMAL (DWORD) 0
211 #define CERTLOG_TERSE (DWORD) 1
212 #define CERTLOG_ERROR (DWORD) 2
213 #define CERTLOG_WARNING (DWORD) 3
214 #define CERTLOG_VERBOSE (DWORD) 4
215 #define CERTLOG_EXHAUSTIVE (DWORD) 5
216 
217 #define SETUP_SERVER_FLAG 0x00000001
218 #define SETUP_CLIENT_FLAG 0x00000002
219 #define SETUP_SUSPEND_FLAG 0x00000004
220 #define SETUP_REQUEST_FLAG 0x00000008
221 #define SETUP_ONLINE_FLAG 0x00000010
222 #define SETUP_DENIED_FLAG 0x00000020
223 #define SETUP_CREATEDB_FLAG 0x00000040
224 #define SETUP_ATTEMPT_VROOT_CREATE 0x00000080
225 #define SETUP_FORCECRL_FLAG 0x00000100
226 #define SETUP_UPDATE_CAOBJECT_SVRTYPE 0x00000200
227 #define SETUP_SERVER_UPGRADED_FLAG 0x00000400
228 #define SETUP_W2K_SECURITY_NOT_UPGRADED_FLAG 0x00000800
229 #define SETUP_SECURITY_CHANGED 0x00001000
230 
231 #define SETUP_DCOM_SECURITY_UPDATED_FLAG 0x00002000
232 
233 #define CRLF_DELTA_USE_OLDEST_UNEXPIRED_BASE 0x00000001
234 #define CRLF_DELETE_EXPIRED_CRLS 0x00000002
235 #define CRLF_CRLNUMBER_CRITICAL 0x00000004
236 #define CRLF_REVCHECK_IGNORE_OFFLINE 0x00000008
237 #define CRLF_IGNORE_INVALID_POLICIES 0x00000010
238 #define CRLF_REBUILD_MODIFIED_SUBJECT_ONLY 0x00000020
239 #define CRLF_SAVE_FAILED_CERTS 0x00000040
240 #define CRLF_IGNORE_UNKNOWN_CMC_ATTRIBUTES 0x00000080
241 #define CRLF_IGNORE_CROSS_CERT_TRUST_ERROR 0x00000100
242 #define CRLF_PUBLISH_EXPIRED_CERT_CRLS 0x00000200
243 #define CRLF_ENFORCE_ENROLLMENT_AGENT 0x00000400
244 #define CRLF_DISABLE_RDN_REORDER 0x00000800
245 #define CRLF_DISABLE_ROOT_CROSS_CERTS 0x00001000
246 #define CRLF_LOG_FULL_RESPONSE 0x00002000
247 #define CRLF_USE_XCHG_CERT_TEMPLATE 0x00004000
248 #define CRLF_USE_CROSS_CERT_TEMPLATE 0x00008000
249 #define CRLF_ALLOW_REQUEST_ATTRIBUTE_SUBJECT 0x00010000
250 #define CRLF_REVCHECK_IGNORE_NOREVCHECK 0x00020000
251 #define CRLF_PRESERVE_EXPIRED_CA_CERTS 0x00040000
252 #define CRLF_PRESERVE_REVOKED_CA_CERTS 0x00080000
253 
254 #define KRAF_ENABLEFOREIGN 0x00000001
255 #define KRAF_SAVEBADREQUESTKEY 0x00000002
256 #define KRAF_ENABLEARCHIVEALL 0x00000004
257 
258 #define IF_LOCKICERTREQUEST 0x00000001
259 #define IF_NOREMOTEICERTREQUEST 0x00000002
260 #define IF_NOLOCALICERTREQUEST 0x00000004
261 #define IF_NORPCICERTREQUEST 0x00000008
262 #define IF_NOREMOTEICERTADMIN 0x00000010
263 #define IF_NOLOCALICERTADMIN 0x00000020
264 #define IF_NOREMOTEICERTADMINBACKUP 0x00000040
265 #define IF_NOLOCALICERTADMINBACKUP 0x00000080
266 #define IF_NOSNAPSHOTBACKUP 0x00000100
267 #define IF_ENFORCEENCRYPTICERTREQUEST 0x00000200
268 #define IF_ENFORCEENCRYPTICERTADMIN 0x00000400
269 #define IF_ENABLEEXITKEYRETRIEVAL 0x00000800
270 #define IF_ENABLEADMINASAUDITOR 0x00001000
271 #define IF_DEFAULT (IF_NOREMOTEICERTADMINBACKUP)
272 
273 #define CSURL_SERVERPUBLISH 0x00000001
274 #define CSURL_ADDTOCERTCDP 0x00000002
275 #define CSURL_ADDTOFRESHESTCRL 0x00000004
276 #define CSURL_ADDTOCRLCDP 0x00000008
277 #define CSURL_PUBLISHRETRY 0x00000010
278 #define CSURL_ADDTOCERTOCSP 0x00000020
279 #define CSURL_SERVERPUBLISHDELTA 0x00000040
280 
281 #define wszREGKEYCSP TEXT("CSP")
282 #define wszREGKEYENCRYPTIONCSP TEXT("EncryptionCSP")
283 #define wszREGKEYEXITMODULES TEXT("ExitModules")
284 #define wszREGKEYPOLICYMODULES TEXT("PolicyModules")
285 #define wszSECUREDATTRIBUTES TEXT("SignedAttributes")
286 #define wszzDEFAULTSIGNEDATTRIBUTES TEXT("RequesterName\0")
287 #define wszREGBACKUPLOGDIRECTORY TEXT("BackupLogDirectory")
288 #define wszREGCHECKPOINTFILE TEXT("CheckPointFile")
289 #define wszREGHIGHLOGNUMBER TEXT("HighLogNumber")
290 #define wszREGLOWLOGNUMBER TEXT("LowLogNumber")
291 #define wszREGLOGPATH TEXT("LogPath")
292 #define wszREGRESTOREMAPCOUNT TEXT("RestoreMapCount")
293 #define wszREGRESTOREMAP TEXT("RestoreMap")
294 #define wszREGDATABASERECOVERED TEXT("DatabaseRecovered")
295 #define wszREGRESTORESTATUS TEXT("RestoreStatus")
296 #define wszREGB2ICERTMANAGEMODULE TEXT("ICertManageModule")
297 #define wszREGSP4DEFAULTCONFIGURATION TEXT("DefaultConfiguration")
298 #define wszREGSP4KEYSETNAME TEXT("KeySetName")
299 #define wszREGSP4SUBJECTNAMESEPARATOR TEXT("SubjectNameSeparator")
300 #define wszREGSP4NAMES TEXT("Names")
301 #define wszREGSP4QUERIES TEXT("Queries")
302 #define wszREGNETSCAPECERTTYPE TEXT("NetscapeCertType")
303 #define wszNETSCAPEREVOCATIONTYPE TEXT("Netscape")
304 #define wszREGPROVIDERTYPE TEXT("ProviderType")
305 #define wszREGPROVIDER TEXT("Provider")
306 #define wszHASHALGORITHM TEXT("HashAlgorithm")
307 #define wszENCRYPTIONALGORITHM TEXT("EncryptionAlgorithm")
308 #define wszMACHINEKEYSET TEXT("MachineKeyset")
309 #define wszREGKEYSIZE TEXT("KeySize")
310 #define szNAMESEPARATORDEFAULT "\n"
311 #define wszNAMESEPARATORDEFAULT TEXT(szNAMESEPARATORDEFAULT)
312 #define wszPERIODYEARS TEXT("Years")
313 #define wszPERIODMONTHS TEXT("Months")
314 #define wszPERIODWEEKS TEXT("Weeks")
315 #define wszPERIODDAYS TEXT("Days")
316 #define wszPERIODHOURS TEXT("Hours")
317 #define wszPERIODMINUTES TEXT("Minutes")
318 #define wszPERIODSECONDS TEXT("Seconds")
319 #define wszREGISSUERCERTURLFLAGS TEXT("IssuerCertURLFlags")
320 #define wszREGEDITFLAGS TEXT("EditFlags")
321 #define wszREGUPNMAP TEXT("UPNMap")
322 #define wszREGSUBJECTALTNAME TEXT("SubjectAltName")
323 #define wszREGSUBJECTALTNAME2 TEXT("SubjectAltName2")
324 #define wszREGREQUESTDISPOSITION TEXT("RequestDisposition")
325 #define wszREGCAPATHLENGTH TEXT("CAPathLength")
326 #define wszREGREVOCATIONTYPE TEXT("RevocationType")
327 #define wszREGLDAPREVOCATIONCRLURL_OLD TEXT("LDAPRevocationCRLURL")
328 #define wszREGREVOCATIONCRLURL_OLD TEXT("RevocationCRLURL")
329 #define wszREGFTPREVOCATIONCRLURL_OLD TEXT("FTPRevocationCRLURL")
330 #define wszREGFILEREVOCATIONCRLURL_OLD TEXT("FileRevocationCRLURL")
331 #define wszREGREVOCATIONURL TEXT("RevocationURL")
332 #define wszREGLDAPISSUERCERTURL_OLD TEXT("LDAPIssuerCertURL")
333 #define wszREGISSUERCERTURL_OLD TEXT("IssuerCertURL")
334 #define wszREGFTPISSUERCERTURL_OLD TEXT("FTPIssuerCertURL")
335 #define wszREGFILEISSUERCERTURL_OLD TEXT("FileIssuerCertURL")
336 #define wszREGENABLEREQUESTEXTENSIONLIST TEXT("EnableRequestExtensionList")
337 #define wszREGENABLEENROLLEEREQUESTEXTENSIONLIST TEXT("EnableEnrolleeRequestExtensionList")
338 #define wszREGDISABLEEXTENSIONLIST TEXT("DisableExtensionList")
339 #define wszREGDEFAULTSMIME TEXT("DefaultSMIME")
340 
341 #define CAPATHLENGTH_INFINITE 0xffffffff
342 
343 #define REQDISP_PENDING 0x00000000
344 #define REQDISP_ISSUE 0x00000001
345 #define REQDISP_DENY 0x00000002
346 #define REQDISP_USEREQUESTATTRIBUTE 0x00000003
347 #define REQDISP_MASK 0x000000ff
348 #define REQDISP_PENDINGFIRST 0x00000100
349 #define REQDISP_DEFAULT_STANDALONE (REQDISP_PENDINGFIRST | REQDISP_ISSUE)
350 #define REQDISP_DEFAULT_ENTERPRISE (REQDISP_ISSUE)
351 
352 #define REVEXT_CDPLDAPURL_OLD 0x00000001
353 #define REVEXT_CDPHTTPURL_OLD 0x00000002
354 #define REVEXT_CDPFTPURL_OLD 0x00000004
355 #define REVEXT_CDPFILEURL_OLD 0x00000008
356 #define REVEXT_CDPURLMASK_OLD 0x000000ff
357 #define REVEXT_CDPENABLE 0x00000100
358 #define REVEXT_ASPENABLE 0x00000200
359 
360 #define REVEXT_DEFAULT_NODS (REVEXT_CDPENABLE)
361 #define REVEXT_DEFAULT_DS (REVEXT_CDPENABLE)
362 
363 #define ISSCERT_LDAPURL_OLD 0x00000001
364 #define ISSCERT_HTTPURL_OLD 0x00000002
365 #define ISSCERT_FTPURL_OLD 0x00000004
366 #define ISSCERT_FILEURL_OLD 0x00000008
367 #define ISSCERT_URLMASK_OLD 0x000000ff
368 #define ISSCERT_ENABLE 0x00000100
369 
370 #define ISSCERT_DEFAULT_NODS (ISSCERT_ENABLE)
371 #define ISSCERT_DEFAULT_DS (ISSCERT_ENABLE)
372 
373 #define EDITF_ENABLEREQUESTEXTENSIONS 0x00000001
374 #define EDITF_REQUESTEXTENSIONLIST 0x00000002
375 #define EDITF_DISABLEEXTENSIONLIST 0x00000004
376 #define EDITF_ADDOLDKEYUSAGE 0x00000008
377 #define EDITF_ADDOLDCERTTYPE 0x00000010
378 #define EDITF_ATTRIBUTEENDDATE 0x00000020
379 #define EDITF_BASICCONSTRAINTSCRITICAL 0x00000040
380 #define EDITF_BASICCONSTRAINTSCA 0x00000080
381 #define EDITF_ENABLEAKIKEYID 0x00000100
382 #define EDITF_ATTRIBUTECA 0x00000200
383 #define EDITF_IGNOREREQUESTERGROUP 0x00000400
384 #define EDITF_ENABLEAKIISSUERNAME 0x00000800
385 #define EDITF_ENABLEAKIISSUERSERIAL 0x00001000
386 #define EDITF_ENABLEAKICRITICAL 0x00002000
387 #define EDITF_SERVERUPGRADED 0x00004000
388 #define EDITF_ATTRIBUTEEKU 0x00008000
389 #define EDITF_ENABLEDEFAULTSMIME 0x00010000
390 #define EDITF_EMAILOPTIONAL 0x00020000
391 #define EDITF_ATTRIBUTESUBJECTALTNAME2 0x00040000
392 #define EDITF_ENABLELDAPREFERRALS 0x00080000
393 #define EDITF_ENABLECHASECLIENTDC 0x00100000
394 #define EDITF_AUDITCERTTEMPLATELOAD 0x00200000
395 #define EDITF_DISABLEOLDOSCNUPN 0x00400000
396 #define EDITF_DISABLELDAPPACKAGELIST 0x00800000
397 #define EDITF_ENABLEUPNMAP 0x01000000
398 
399 #define EDITF_DEFAULT_STANDALONE (EDITF_REQUESTEXTENSIONLIST | EDITF_DISABLEEXTENSIONLIST | EDITF_ADDOLDKEYUSAGE | EDITF_ATTRIBUTEENDDATE | EDITF_BASICCONSTRAINTSCRITICAL | EDITF_BASICCONSTRAINTSCA | EDITF_ENABLEAKIKEYID | EDITF_ATTRIBUTECA | EDITF_ATTRIBUTEEKU)
400 #define EDITF_DEFAULT_ENTERPRISE (EDITF_REQUESTEXTENSIONLIST | EDITF_DISABLEEXTENSIONLIST | EDITF_ADDOLDKEYUSAGE | EDITF_BASICCONSTRAINTSCRITICAL | EDITF_ENABLEAKIKEYID | EDITF_ENABLEDEFAULTSMIME | EDITF_ENABLECHASECLIENTDC)
401 
402 #define wszREGLDAPREVOCATIONDN_OLD TEXT("LDAPRevocationDN")
403 #define wszREGLDAPREVOCATIONDNTEMPLATE_OLD TEXT("LDAPRevocationDNTemplate")
404 #define wszCRLPUBLISHRETRYCOUNT TEXT("CRLPublishRetryCount")
405 #define wszREGCERTPUBLISHFLAGS TEXT("PublishCertFlags")
406 
407 #define EXITPUB_FILE 0x00000001
408 #define EXITPUB_ACTIVEDIRECTORY 0x00000002
409 #define EXITPUB_REMOVEOLDCERTS 0x00000010
410 
411 #define EXITPUB_DEFAULT_ENTERPRISE EXITPUB_ACTIVEDIRECTORY
412 
413 #define EXITPUB_DEFAULT_STANDALONE EXITPUB_FILE
414 
415 #define wszCLASS_CERTADMIN TEXT("CertificateAuthority.Admin")
416 #define wszCLASS_CERTCONFIG TEXT("CertificateAuthority.Config")
417 #define wszCLASS_CERTGETCONFIG TEXT("CertificateAuthority.GetConfig")
418 #define wszCLASS_CERTENCODE TEXT("CertificateAuthority.Encode")
419 #define wszCLASS_CERTREQUEST TEXT("CertificateAuthority.Request")
420 #define wszCLASS_CERTSERVEREXIT TEXT("CertificateAuthority.ServerExit")
421 #define wszCLASS_CERTSERVERPOLICY TEXT("CertificateAuthority.ServerPolicy")
422 #define wszCLASS_CERTVIEW TEXT("CertificateAuthority.View")
423 #define wszMICROSOFTCERTMODULE_PREFIX TEXT("CertificateAuthority_MicrosoftDefault")
424 #define wszCERTMANAGE_SUFFIX TEXT("Manage")
425 #define wszCERTEXITMODULE_POSTFIX TEXT(".Exit")
426 #define wszCERTMANAGEEXIT_POSTFIX wszCERTEXITMODULE_POSTFIX wszCERTMANAGE_SUFFIX
427 #define wszCERTPOLICYMODULE_POSTFIX TEXT(".Policy")
428 #define wszCERTMANAGEPOLICY_POSTFIX wszCERTPOLICYMODULE_POSTFIX wszCERTMANAGE_SUFFIX
429 #define wszCLASS_CERTMANAGEEXITMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEEXIT_POSTFIX
430 #define wszCLASS_CERTMANAGEPOLICYMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEPOLICY_POSTFIX
431 #define wszCLASS_CERTEXIT wszMICROSOFTCERTMODULE_PREFIX wszCERTEXITMODULE_POSTFIX
432 #define wszCLASS_CERTPOLICY wszMICROSOFTCERTMODULE_PREFIX wszCERTPOLICYMODULE_POSTFIX
433 #define wszCAPOLICYFILE L"CAPolicy.inf"
434 #define wszINFSECTION_CDP L"CRLDistributionPoint"
435 #define wszINFSECTION_AIA L"AuthorityInformationAccess"
436 #define wszINFSECTION_EKU L"EnhancedKeyUsageExtension"
437 #define wszINFSECTION_CCDP L"CrossCertificateDistributionPointsExtension"
438 #define wszINFSECTION_CERTSERVER L"certsrv_server"
439 #define wszINFKEY_RENEWALKEYLENGTH L"RenewalKeyLength"
440 #define wszINFKEY_RENEWALVALIDITYPERIODSTRING L"RenewalValidityPeriod"
441 #define wszINFKEY_RENEWALVALIDITYPERIODCOUNT L"RenewalValidityPeriodUnits"
442 #define wszINFKEY_UTF8 L"UTF8"
443 #define wszINFKEY_CRLPERIODSTRING wszREGCRLPERIODSTRING
444 #define wszINFKEY_CRLPERIODCOUNT wszREGCRLPERIODCOUNT
445 #define wszINFKEY_CRLDELTAPERIODSTRING wszREGCRLDELTAPERIODSTRING
446 #define wszINFKEY_CRLDELTAPERIODCOUNT wszREGCRLDELTAPERIODCOUNT
447 #define wszINFKEY_LOADDEFAULTTEMPLATES L"LoadDefaultTemplates"
448 #define wszINFKEY_ENABLEKEYCOUNTING L"EnableKeyCounting"
449 #define wszINFKEY_FORCEUTF8 L"FORCEUTF8"
450 #define wszINFKEY_CRITICAL L"Critical"
451 #define wszINFKEY_EMPTY L"Empty"
452 #define wszINFKEY_CCDPSYNCDELTATIME L"SyncDeltaTime"
453 #define wszINFSECTION_CAPOLICY L"CAPolicy"
454 #define wszINFSECTION_POLICYSTATEMENT L"PolicyStatementExtension"
455 #define wszINFSECTION_APPLICATIONPOLICYSTATEMENT L"ApplicationPolicyStatementExtension"
456 #define wszINFKEY_POLICIES L"Policies"
457 #define wszINFKEY_OID L"OID"
458 #define wszINFKEY_NOTICE L"Notice"
459 #define wszINFSECTION_REQUESTATTRIBUTES L"RequestAttributes"
460 #define wszINFSECTION_NAMECONSTRAINTS L"NameConstraintsExtension"
461 #define wszINFKEY_INCLUDE L"Include"
462 #define wszINFKEY_EXCLUDE L"Exclude"
463 #define wszINFKEY_UPN L"UPN"
464 #define wszINFKEY_EMAIL L"EMail"
465 #define wszINFKEY_DNS L"DNS"
466 #define wszINFKEY_DIRECTORYNAME L"DirectoryName"
467 #define wszINFKEY_URL L"URL"
468 #define wszINFKEY_IPADDRESS L"IPAddress"
469 #define wszINFKEY_REGISTEREDID L"RegisteredId"
470 #define wszINFKEY_OTHERNAME L"OtherName"
471 #define wszINFSECTION_POLICYMAPPINGS L"PolicyMappingsExtension"
472 #define wszINFSECTION_APPLICATIONPOLICYMAPPINGS L"ApplicationPolicyMappingsExtension"
473 #define wszINFSECTION_POLICYCONSTRAINTS L"PolicyConstraintsExtension"
474 #define wszINFSECTION_APPLICATIONPOLICYCONSTRAINTS L"ApplicationPolicyConstraintsExtension"
475 #define wszINFKEY_REQUIREEXPLICITPOLICY L"RequireExplicitPolicy"
476 #define wszINFKEY_INHIBITPOLICYMAPPING L"InhibitPolicyMapping"
477 #define wszINFSECTION_BASICCONSTRAINTS L"BasicConstraintsExtension"
478 #define wszINFKEY_PATHLENGTH L"PathLength"
479 #define wszREGEXITSMTPKEY L"SMTP"
480 #define wszREGEXITSMTPTEMPLATES L"Templates"
481 #define wszREGEXITSMTPEVENTFILTER L"EventFilter"
482 #define wszREGEXITSMTPSERVER L"SMTPServer"
483 #define wszREGEXITSMTPAUTHENTICATE L"SMTPAuthenticate"
484 #define wszREGEXITDENIEDKEY L"Denied"
485 #define wszREGEXITISSUEDKEY L"Issued"
486 #define wszREGEXITPENDINGKEY L"Pending"
487 #define wszREGEXITREVOKEDKEY L"Revoked"
488 #define wszREGEXITCRLISSUEDKEY L"CRLIssued"
489 #define wszREGEXITSHUTDOWNKEY L"Shutdown"
490 #define wszREGEXITSTARTUPKEY L"Startup"
491 #define wszREGEXITSMTPFROM L"From"
492 #define wszREGEXITSMTPTO L"To"
493 #define wszREGEXITSMTPCC L"Cc"
494 #define wszREGEXITTITLEFORMAT L"TitleFormat"
495 #define wszREGEXITTITLEARG L"TitleArg"
496 #define wszREGEXITBODYFORMAT L"BodyFormat"
497 #define wszREGEXITBODYARG L"BodyArg"
498 #define wszREGEXITPROPNOTFOUND L"???"
499 #define wszPROPDISTINGUISHEDNAME TEXT("DistinguishedName")
500 #define wszPROPRAWNAME TEXT("RawName")
501 #define wszPROPCOUNTRY TEXT("Country")
502 #define wszPROPORGANIZATION TEXT("Organization")
503 #define wszPROPORGUNIT TEXT("OrgUnit")
504 #define wszPROPCOMMONNAME TEXT("CommonName")
505 #define wszPROPLOCALITY TEXT("Locality")
506 #define wszPROPSTATE TEXT("State")
507 #define wszPROPTITLE TEXT("Title")
508 #define wszPROPGIVENNAME TEXT("GivenName")
509 #define wszPROPINITIALS TEXT("Initials")
510 #define wszPROPSURNAME TEXT("SurName")
511 #define wszPROPDOMAINCOMPONENT TEXT("DomainComponent")
512 #define wszPROPEMAIL TEXT("EMail")
513 #define wszPROPSTREETADDRESS TEXT("StreetAddress")
514 #define wszPROPUNSTRUCTUREDNAME TEXT("UnstructuredName")
515 #define wszPROPUNSTRUCTUREDADDRESS TEXT("UnstructuredAddress")
516 #define wszPROPDEVICESERIALNUMBER TEXT("DeviceSerialNumber")
517 #define wszPROPSUBJECTDOT TEXT("Subject.")
518 #define wszPROPSUBJECTDISTINGUISHEDNAME wszPROPSUBJECTDOT wszPROPDISTINGUISHEDNAME
519 #define wszPROPSUBJECTRAWNAME wszPROPSUBJECTDOT wszPROPRAWNAME
520 #define wszPROPSUBJECTCOUNTRY wszPROPSUBJECTDOT wszPROPCOUNTRY
521 #define wszPROPSUBJECTORGANIZATION wszPROPSUBJECTDOT wszPROPORGANIZATION
522 #define wszPROPSUBJECTORGUNIT wszPROPSUBJECTDOT wszPROPORGUNIT
523 #define wszPROPSUBJECTCOMMONNAME wszPROPSUBJECTDOT wszPROPCOMMONNAME
524 #define wszPROPSUBJECTLOCALITY wszPROPSUBJECTDOT wszPROPLOCALITY
525 #define wszPROPSUBJECTSTATE wszPROPSUBJECTDOT wszPROPSTATE
526 #define wszPROPSUBJECTTITLE wszPROPSUBJECTDOT wszPROPTITLE
527 #define wszPROPSUBJECTGIVENNAME wszPROPSUBJECTDOT wszPROPGIVENNAME
528 #define wszPROPSUBJECTINITIALS wszPROPSUBJECTDOT wszPROPINITIALS
529 #define wszPROPSUBJECTSURNAME wszPROPSUBJECTDOT wszPROPSURNAME
530 #define wszPROPSUBJECTDOMAINCOMPONENT wszPROPSUBJECTDOT wszPROPDOMAINCOMPONENT
531 #define wszPROPSUBJECTEMAIL wszPROPSUBJECTDOT wszPROPEMAIL
532 #define wszPROPSUBJECTSTREETADDRESS wszPROPSUBJECTDOT wszPROPSTREETADDRESS
533 #define wszPROPSUBJECTUNSTRUCTUREDNAME wszPROPSUBJECTDOT wszPROPUNSTRUCTUREDNAME
534 #define wszPROPSUBJECTUNSTRUCTUREDADDRESS wszPROPSUBJECTDOT wszPROPUNSTRUCTUREDADDRESS
535 #define wszPROPSUBJECTDEVICESERIALNUMBER wszPROPSUBJECTDOT wszPROPDEVICESERIALNUMBER
536 #define wszPROPREQUESTDOT TEXT("Request.")
537 #define wszPROPREQUESTREQUESTID TEXT("RequestID")
538 #define wszPROPREQUESTRAWREQUEST TEXT("RawRequest")
539 #define wszPROPREQUESTRAWARCHIVEDKEY TEXT("RawArchivedKey")
540 #define wszPROPREQUESTARCHIVEDKEY TEXT("ArchivedKey")
541 #define wszPROPREQUESTKEYRECOVERYHASHES TEXT("KeyRecoveryHashes")
542 #define wszPROPREQUESTRAWOLDCERTIFICATE TEXT("RawOldCertificate")
543 #define wszPROPREQUESTATTRIBUTES TEXT("RequestAttributes")
544 #define wszPROPREQUESTTYPE TEXT("RequestType")
545 #define wszPROPREQUESTFLAGS TEXT("RequestFlags")
546 #define wszPROPREQUESTSTATUSCODE TEXT("StatusCode")
547 #define wszPROPREQUESTDISPOSITION TEXT("Disposition")
548 #define wszPROPREQUESTDISPOSITIONMESSAGE TEXT("DispositionMessage")
549 #define wszPROPREQUESTSUBMITTEDWHEN TEXT("SubmittedWhen")
550 #define wszPROPREQUESTRESOLVEDWHEN TEXT("ResolvedWhen")
551 #define wszPROPREQUESTREVOKEDWHEN TEXT("RevokedWhen")
552 #define wszPROPREQUESTREVOKEDEFFECTIVEWHEN TEXT("RevokedEffectiveWhen")
553 #define wszPROPREQUESTREVOKEDREASON TEXT("RevokedReason")
554 #define wszPROPREQUESTERNAME TEXT("RequesterName")
555 #define wszPROPCALLERNAME TEXT("CallerName")
556 #define wszPROPSIGNERPOLICIES TEXT("SignerPolicies")
557 #define wszPROPSIGNERAPPLICATIONPOLICIES TEXT("SignerApplicationPolicies")
558 #define wszPROPOFFICER TEXT("Officer")
559 #define wszPROPCHALLENGE TEXT("Challenge")
560 #define wszPROPEXPECTEDCHALLENGE TEXT("ExpectedChallenge")
561 #define wszPROPDISPOSITION TEXT("Disposition")
562 #define wszPROPDISPOSITIONDENY TEXT("Deny")
563 #define wszPROPDISPOSITIONPENDING TEXT("Pending")
564 #define wszPROPVALIDITYPERIODSTRING TEXT("ValidityPeriod")
565 #define wszPROPVALIDITYPERIODCOUNT TEXT("ValidityPeriodUnits")
566 #define wszPROPCERTTYPE TEXT("CertType")
567 #define wszPROPCERTTEMPLATE TEXT("CertificateTemplate")
568 #define wszPROPCERTUSAGE TEXT("CertificateUsage")
569 #define wszPROPREQUESTOSVERSION TEXT("RequestOSVersion")
570 #define wszPROPREQUESTCSPPROVIDER TEXT("RequestCSPProvider")
571 #define wszPROPEXITCERTFILE TEXT("CertFile")
572 #define wszPROPCLIENTBROWSERMACHINE TEXT("cbm")
573 #define wszPROPCERTCLIENTMACHINE TEXT("ccm")
574 #define wszPROPCLIENTDCDNS L"cdc"
575 #define wszPROPREQUESTMACHINEDNS L"rmd"
576 #define wszPROPSUBJECTALTNAME2 TEXT("san")
577 #define wszPROPDNS TEXT("dns")
578 #define wszPROPDN TEXT("dn")
579 #define wszPROPURL TEXT("url")
580 #define wszPROPIPADDRESS TEXT("ipaddress")
581 #define wszPROPGUID TEXT("guid")
582 #define wszPROPOID TEXT("oid")
583 #define wszPROPUPN TEXT("upn")
584 #define wszPROPUPN TEXT("upn")
585 #define szPROPASNTAG "{asn}"
586 #define wszPROPUTF8TAG TEXT("{utf8}")
587 #define wszPROPOCTETTAG TEXT("{octet}")
588 #define wszPROPASNTAG TEXT(szPROPASNTAG)
589 #define wszPROPCATYPE TEXT("CAType")
590 #define wszPROPSANITIZEDCANAME TEXT("SanitizedCAName")
591 #define wszPROPSANITIZEDSHORTNAME TEXT("SanitizedShortName")
592 #define wszPROPMACHINEDNSNAME TEXT("MachineDNSName")
593 #define wszPROPMODULEREGLOC TEXT("ModuleRegistryLocation")
594 #define wszPROPUSEDS TEXT("fUseDS")
595 #define wszPROPDELTACRLSDISABLED TEXT("fDeltaCRLsDisabled")
596 #define wszPROPSERVERUPGRADED TEXT("fServerUpgraded")
597 #define wszPROPCONFIGDN TEXT("ConfigDN")
598 #define wszPROPDOMAINDN TEXT("DomainDN")
599 #define wszPROPLOGLEVEL TEXT("LogLevel")
600 #define wszPROPSESSIONCOUNT TEXT("SessionCount")
601 #define wszPROPTEMPLATECHANGESEQUENCENUMBER TEXT("TemplateChangeSequenceNumber")
602 #define wszLOCALIZEDTIMEPERIODUNITS TEXT("LocalizedTimePeriodUnits")
603 #define wszPROPREQUESTERCAACCESS TEXT("RequesterCAAccess")
604 #define wszPROPUSERDN TEXT("UserDN")
605 #define wszPROPKEYARCHIVED TEXT("KeyArchived")
606 #define wszPROPCERTCOUNT TEXT("CertCount")
607 #define wszPROPRAWCACERTIFICATE TEXT("RawCACertificate")
608 #define wszPROPCERTSTATE TEXT("CertState")
609 #define wszPROPCERTSUFFIX TEXT("CertSuffix")
610 #define wszPROPRAWCRL TEXT("RawCRL")
611 #define wszPROPRAWDELTACRL TEXT("RawDeltaCRL")
612 #define wszPROPCRLINDEX TEXT("CRLIndex")
613 #define wszPROPCRLSTATE TEXT("CRLState")
614 #define wszPROPCRLSUFFIX TEXT("CRLSuffix")
615 #define wszPROPEVENTLOGTERSE TEXT("EventLogTerse")
616 #define wszPROPEVENTLOGERROR TEXT("EventLogError")
617 #define wszPROPEVENTLOGWARNING TEXT("EventLogWarning")
618 #define wszPROPEVENTLOGVERBOSE TEXT("EventLogVerbose")
619 #define wszPROPEVENTLOGEXHAUSTIVE TEXT("EventLogExhaustive")
620 #define wszPROPDCNAME TEXT("DCName")
621 #define wszPROPSEAUDITID TEXT("SEAuditId")
622 #define wszPROPSEAUDITFILTER TEXT("SEAuditFilter")
623 #define wszPROPCERTIFICATEREQUESTID TEXT("RequestID")
624 #define wszPROPRAWCERTIFICATE TEXT("RawCertificate")
625 #define wszPROPCERTIFICATEHASH TEXT("CertificateHash")
626 #define wszPROPCERTIFICATETEMPLATE TEXT("CertificateTemplate")
627 #define wszPROPCERTIFICATEENROLLMENTFLAGS TEXT("EnrollmentFlags")
628 #define wszPROPCERTIFICATEGENERALFLAGS TEXT("GeneralFlags")
629 #define wszPROPCERTIFICATESERIALNUMBER TEXT("SerialNumber")
630 #define wszPROPCERTIFICATENOTBEFOREDATE TEXT("NotBefore")
631 #define wszPROPCERTIFICATENOTAFTERDATE TEXT("NotAfter")
632 #define wszPROPCERTIFICATESUBJECTKEYIDENTIFIER TEXT("SubjectKeyIdentifier")
633 #define wszPROPCERTIFICATERAWPUBLICKEY TEXT("RawPublicKey")
634 #define wszPROPCERTIFICATEPUBLICKEYLENGTH TEXT("PublicKeyLength")
635 #define wszPROPCERTIFICATEPUBLICKEYALGORITHM TEXT("PublicKeyAlgorithm")
636 #define wszPROPCERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS TEXT("RawPublicKeyAlgorithmParameters")
637 #define wszPROPCERTIFICATEUPN TEXT("UPN")
638 #define wszPROPCERTIFICATETYPE TEXT("CertificateType")
639 #define wszPROPCERTIFICATERAWSMIMECAPABILITIES TEXT("RawSMIMECapabilities")
640 #define wszPROPNAMETYPE TEXT("NameType")
641 
642 #define EXTENSION_CRITICAL_FLAG 0x00000001
643 #define EXTENSION_DISABLE_FLAG 0x00000002
644 #define EXTENSION_POLICY_MASK 0x0000ffff
645 
646 #define EXTENSION_ORIGIN_REQUEST 0x00010000
647 #define EXTENSION_ORIGIN_POLICY 0x00020000
648 #define EXTENSION_ORIGIN_ADMIN 0x00030000
649 #define EXTENSION_ORIGIN_SERVER 0x00040000
650 #define EXTENSION_ORIGIN_RENEWALCERT 0x00050000
651 #define EXTENSION_ORIGIN_IMPORTEDCERT 0x00060000
652 #define EXTENSION_ORIGIN_PKCS7 0x00070000
653 #define EXTENSION_ORIGIN_CMC 0x00080000
654 #define EXTENSION_ORIGIN_CACERT 0x00090000
655 #define EXTENSION_ORIGIN_MASK 0x000f0000
656 
657 #define wszPROPEXTREQUESTID TEXT("ExtensionRequestId")
658 #define wszPROPEXTNAME TEXT("ExtensionName")
659 #define wszPROPEXTFLAGS TEXT("ExtensionFlags")
660 #define wszPROPEXTRAWVALUE TEXT("ExtensionRawValue")
661 #define wszPROPATTRIBREQUESTID TEXT("AttributeRequestId")
662 #define wszPROPATTRIBNAME TEXT("AttributeName")
663 #define wszPROPATTRIBVALUE TEXT("AttributeValue")
664 #define wszPROPCRLROWID TEXT("CRLRowId")
665 #define wszPROPCRLNUMBER TEXT("CRLNumber")
666 #define wszPROPCRLMINBASE TEXT("CRLMinBase")
667 #define wszPROPCRLNAMEID TEXT("CRLNameId")
668 #define wszPROPCRLCOUNT TEXT("CRLCount")
669 #define wszPROPCRLTHISUPDATE TEXT("CRLThisUpdate")
670 #define wszPROPCRLNEXTUPDATE TEXT("CRLNextUpdate")
671 #define wszPROPCRLTHISPUBLISH TEXT("CRLThisPublish")
672 #define wszPROPCRLNEXTPUBLISH TEXT("CRLNextPublish")
673 #define wszPROPCRLEFFECTIVE TEXT("CRLEffective")
674 #define wszPROPCRLPROPAGATIONCOMPLETE TEXT("CRLPropagationComplete")
675 #define wszPROPCRLLASTPUBLISHED TEXT("CRLLastPublished")
676 #define wszPROPCRLPUBLISHATTEMPTS TEXT("CRLPublishAttempts")
677 #define wszPROPCRLPUBLISHFLAGS TEXT("CRLPublishFlags")
678 #define wszPROPCRLPUBLISHSTATUSCODE TEXT("CRLPublishStatusCode")
679 #define wszPROPCRLPUBLISHERROR TEXT("CRLPublishError")
680 #define wszPROPCRLRAWCRL TEXT("CRLRawCRL")
681 
682 #define CPF_BASE 0x00000001
683 #define CPF_DELTA 0x00000002
684 #define CPF_COMPLETE 0x00000004
685 #define CPF_SHADOW 0x00000008
686 #define CPF_CASTORE_ERROR 0x00000010
687 #define CPF_BADURL_ERROR 0x00000020
688 #define CPF_MANUAL 0x00000040
689 #define CPF_SIGNATURE_ERROR 0x00000080
690 #define CPF_LDAP_ERROR 0x00000100
691 #define CPF_FILE_ERROR 0x00000200
692 #define CPF_FTP_ERROR 0x00000400
693 #define CPF_HTTP_ERROR 0x00000800
694 
695 #define PROPTYPE_LONG 0x00000001
696 #define PROPTYPE_DATE 0x00000002
697 #define PROPTYPE_BINARY 0x00000003
698 #define PROPTYPE_STRING 0x00000004
699 #define PROPTYPE_MASK 0x000000ff
700 #define PROPCALLER_SERVER 0x00000100
701 #define PROPCALLER_POLICY 0x00000200
702 #define PROPCALLER_EXIT 0x00000300
703 #define PROPCALLER_ADMIN 0x00000400
704 #define PROPCALLER_REQUEST 0x00000500
705 #define PROPCALLER_MASK 0x00000f00
706 #define PROPFLAGS_INDEXED 0x00010000
707 
708 #define CR_FLG_FORCETELETEX 0x00000001
709 #define CR_FLG_RENEWAL 0x00000002
710 #define CR_FLG_FORCEUTF8 0x00000004
711 #define CR_FLG_CAXCHGCERT 0x00000008
712 #define CR_FLG_ENROLLONBEHALFOF 0x00000010
713 #define CR_FLG_SUBJECTUNMODIFIED 0x00000020
714 #define CR_FLG_VALIDENCRYPTEDKEYHASH 0x00000040
715 #define CR_FLG_CACROSSCERT 0x00000080
716 #define CR_FLG_ENFORCEUTF8 0x00000100
717 #define CR_FLG_PUBLISHERROR 0x80000000
718 
719 #define DB_DISP_ACTIVE 8
720 #define DB_DISP_PENDING 9
721 #define DB_DISP_QUEUE_MAX 9
722 #define DB_DISP_FOREIGN 12
723 #define DB_DISP_CA_CERT 15
724 #define DB_DISP_CA_CERT_CHAIN 16
725 #define DB_DISP_KRA_CERT 17
726 #define DB_DISP_LOG_MIN 20
727 #define DB_DISP_ISSUED 20
728 #define DB_DISP_REVOKED 21
729 #define DB_DISP_LOG_FAILED_MIN 30
730 #define DB_DISP_ERROR 30
731 #define DB_DISP_DENIED 31
732 
733 #define VR_PENDING 0
734 #define VR_INSTANT_OK 1
735 #define VR_INSTANT_BAD 2
736 
737 #define wszCERT_TYPE L"RequestType"
738 #define wszCERT_TYPE_CLIENT L"Client"
739 #define wszCERT_TYPE_SERVER L"Server"
740 #define wszCERT_TYPE_CODESIGN L"CodeSign"
741 #define wszCERT_TYPE_CUSTOMER L"SetCustomer"
742 #define wszCERT_TYPE_MERCHANT L"SetMerchant"
743 #define wszCERT_TYPE_PAYMENT L"SetPayment"
744 #define wszCERT_VERSION L"Version"
745 #define wszCERT_VERSION_1 L"1"
746 #define wszCERT_VERSION_2 L"2"
747 #define wszCERT_VERSION_3 L"3"
748 
749 #endif
750