Home | History | Annotate | Download | only in include
      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