Mercurial > games > semicongine
diff fuhtark_test/include/winapi/certsrv.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/certsrv.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,749 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#if !defined(_CERTSRV_H_) +#define _CERTSRV_H_ + +#include <certadm.h> +#include <certbcli.h> +#include <certcli.h> +#include <certenc.h> +#include <certexit.h> +#include <certif.h> +#include <certpol.h> +#include <certmod.h> +#include <certview.h> + +#define wszSERVICE_NAME TEXT("CertSvc") +#define wszREGKEYNOSYSTEMCERTSVCPATH TEXT("CurrentControlSet\\Services\\") wszSERVICE_NAME +#define wszREGKEYCERTSVCPATH TEXT("SYSTEM\\") wszREGKEYNOSYSTEMCERTSVCPATH +#define wszREGKEYBASE wszREGKEYCERTSVCPATH +#define wszREGKEYCONFIGPATH wszREGKEYCERTSVCPATH TEXT("\\") wszREGKEYCONFIG +#define wszREGKEYCONFIGPATH_BS wszREGKEYCONFIGPATH TEXT("\\") +#define wszREGKEYCONFIGCANAME wszREGKEYCONFIGPATH_BS +#define wszREGKEYCONFIGRESTORE wszREGKEYCONFIGPATH_BS wszREGKEYRESTOREINPROGRESS +#define wszREGKEYCONFIG TEXT("Configuration") +#define wszREGACTIVE TEXT("Active") +#define wszREGDIRECTORY TEXT("ConfigurationDirectory") +#define wszREGDBDIRECTORY TEXT("DBDirectory") +#define wszREGDBLOGDIRECTORY TEXT("DBLogDirectory") +#define wszREGDBSYSDIRECTORY TEXT("DBSystemDirectory") +#define wszREGDBTEMPDIRECTORY TEXT("DBTempDirectory") +#define wszREGDBSESSIONCOUNT TEXT("DBSessionCount") +#define wszREGDBFLAGS TEXT("DBFlags") +#define wszREGDBLASTFULLBACKUP TEXT("DBLastFullBackup") +#define wszREGDBLASTINCREMENTALBACKUP TEXT("DBLastIncrementalBackup") +#define wszREGDBLASTRECOVERY TEXT("DBLastRecovery") +#define wszREGWEBCLIENTCAMACHINE TEXT("WebClientCAMachine") +#define wszREGVERSION TEXT("Version") +#define wszREGWEBCLIENTCANAME TEXT("WebClientCAName") +#define wszREGWEBCLIENTCATYPE TEXT("WebClientCAType") +#define wszREGLDAPFLAGS TEXT("LDAPFlags") +#define wszREGCERTSRVDEBUG TEXT("Debug") + +#define DBSESSIONCOUNTDEFAULT 20 + +#define DBFLAGS_READONLY 0x00000001 +#define DBFLAGS_CREATEIFNEEDED 0x00000002 +#define DBFLAGS_CIRCULARLOGGING 0x00000004 +#define DBFLAGS_LAZYFLUSH 0x00000008 +#define DBFLAGS_MAXCACHESIZEX100 0x00000010 +#define DBFLAGS_CHECKPOINTDEPTH60MB 0x00000020 +#define DBFLAGS_LOGBUFFERSLARGE 0x00000040 +#define DBFLAGS_LOGBUFFERSHUGE 0x00000080 +#define DBFLAGS_LOGFILESIZE16MB 0x00000100 +#define DBFLAGS_MULTITHREADTRANSACTIONS 0x00000200 +#define DBFLAGS_DISABLESNAPSHOTBACKUP 0x00000400 + +#define DBFLAGS_DEFAULT (DBFLAGS_LAZYFLUSH | DBFLAGS_MAXCACHESIZEX100 | DBFLAGS_CHECKPOINTDEPTH60MB | DBFLAGS_LOGBUFFERSHUGE) + +#define LDAPF_SSLENABLE 0x00000001 +#define LDAPF_SIGNDISABLE 0x00000002 + +#define MAXINCOMINGMESSAGESIZEDEFAULT (64 *1024) +#define MAXINCOMINGALLOCSIZEDEFAULT (64 *1024) + +#define CSVER_MAJOR_WIN2K 1 +#define CSVER_MINOR_WIN2K 1 + +#define CSVER_MAJOR_WHISTLER 2 +#define CSVER_MINOR_WHISTLER_BETA2 1 +#define CSVER_MINOR_WHISTLER_BETA3 2 + +#define CSVER_MAJOR CSVER_MAJOR_WHISTLER +#define CSVER_MINOR CSVER_MINOR_WHISTLER_BETA3 + +#define CSVER_EXTRACT_MAJOR(version) ((version)>>16) +#define CSVER_EXTRACT_MINOR(version) ((version)&0xffff) +#define CSVER_BUILD_VERSION(major,minor) (((major)<<16)|(minor)) + +#define wszREGKEYRESTOREINPROGRESS TEXT("RestoreInProgress") +#define wszREGKEYDBPARAMETERS TEXT("DBParameters") + +#define wszREGCADESCRIPTION TEXT("CADescription") +#define wszREGCACERTHASH TEXT("CACertHash") +#define wszREGCASERIALNUMBER TEXT("CACertSerialNumber") +#define wszREGCAXCHGCERTHASH TEXT("CAXchgCertHash") +#define wszREGKRACERTHASH TEXT("KRACertHash") +#define wszREGKRACERTCOUNT TEXT("KRACertCount") +#define wszREGKRAFLAGS TEXT("KRAFlags") +#define wszREGCATYPE TEXT("CAType") +#define wszREGCERTENROLLCOMPATIBLE TEXT("CertEnrollCompatible") +#define wszREGENFORCEX500NAMELENGTHS TEXT("EnforceX500NameLengths") +#define wszREGCOMMONNAME TEXT("CommonName") +#define wszREGCLOCKSKEWMINUTES TEXT("ClockSkewMinutes") + +#define wszREGCRLNEXTPUBLISH TEXT("CRLNextPublish") +#define wszREGCRLPERIODSTRING TEXT("CRLPeriod") +#define wszREGCRLPERIODCOUNT TEXT("CRLPeriodUnits") +#define wszREGCRLOVERLAPPERIODSTRING TEXT("CRLOverlapPeriod") +#define wszREGCRLOVERLAPPERIODCOUNT TEXT("CRLOverlapUnits") + +#define wszREGCRLDELTANEXTPUBLISH TEXT("CRLDeltaNextPublish") +#define wszREGCRLDELTAPERIODSTRING TEXT("CRLDeltaPeriod") +#define wszREGCRLDELTAPERIODCOUNT TEXT("CRLDeltaPeriodUnits") +#define wszREGCRLDELTAOVERLAPPERIODSTRING TEXT("CRLDeltaOverlapPeriod") +#define wszREGCRLDELTAOVERLAPPERIODCOUNT TEXT("CRLDeltaOverlapUnits") + +#define wszREGCRLPUBLICATIONURLS TEXT("CRLPublicationURLs") +#define wszREGCACERTPUBLICATIONURLS TEXT("CACertPublicationURLs") + +#define wszREGCAXCHGVALIDITYPERIODSTRING TEXT("CAXchgValidityPeriod") +#define wszREGCAXCHGVALIDITYPERIODCOUNT TEXT("CAXchgValidityPeriodUnits") +#define wszREGCAXCHGOVERLAPPERIODSTRING TEXT("CAXchgOverlapPeriod") +#define wszREGCAXCHGOVERLAPPERIODCOUNT TEXT("CAXchgOverlapPeriodUnits") + +#define wszREGCRLPATH_OLD TEXT("CRLPath") +#define wszREGCRLEDITFLAGS TEXT("CRLEditFlags") +#define wszREGCRLFLAGS TEXT("CRLFlags") +#define wszREGCRLATTEMPTREPUBLISH TEXT("CRLAttemptRepublish") +#define wszREGENABLED TEXT("Enabled") +#define wszREGFORCETELETEX TEXT("ForceTeletex") +#define wszREGLOGLEVEL TEXT("LogLevel") +#define wszREGHIGHSERIAL TEXT("HighSerial") +#define wszREGPOLICYFLAGS TEXT("PolicyFlags") +#define wszREGNAMESEPARATOR TEXT("SubjectNameSeparator") +#define wszREGSUBJECTTEMPLATE TEXT("SubjectTemplate") +#define wszREGCAUSEDS TEXT("UseDS") +#define wszREGVALIDITYPERIODSTRING TEXT("ValidityPeriod") +#define wszREGVALIDITYPERIODCOUNT TEXT("ValidityPeriodUnits") +#define wszREGPARENTCAMACHINE TEXT("ParentCAMachine") +#define wszREGPARENTCANAME TEXT("ParentCAName") +#define wszREGREQUESTFILENAME TEXT("RequestFileName") +#define wszREGREQUESTID TEXT("RequestId") +#define wszREGREQUESTKEYCONTAINER TEXT("RequestKeyContainer") +#define wszREGREQUESTKEYINDEX TEXT("RequestKeyIndex") +#define wszREGCASERVERNAME TEXT("CAServerName") +#define wszREGCACERTFILENAME TEXT("CACertFileName") +#define wszREGCASECURITY TEXT("Security") +#define wszREGAUDITFILTER TEXT("AuditFilter") +#define wszREGOFFICERRIGHTS TEXT("OfficerRights") +#define wszREGMAXINCOMINGMESSAGESIZE TEXT("MaxIncomingMessageSize") +#define wszREGMAXINCOMINGALLOCSIZE TEXT("MaxIncomingAllocSize") +#define wszREGROLESEPARATIONENABLED TEXT("RoleSeparationEnabled") +#define wszREGALTERNATEPUBLISHDOMAINS TEXT("AlternatePublishDomains") + +#define wszREGSETUPSTATUS TEXT("SetupStatus") +#define wszREGINTERFACEFLAGS TEXT("InterfaceFlags") +#define wszREGDSCONFIGDN TEXT("DSConfigDN") +#define wszREGDSDOMAINDN TEXT("DSDomainDN") +#define wszREGVIEWAGEMINUTES TEXT("ViewAgeMinutes") +#define wszREGVIEWIDLEMINUTES TEXT("ViewIdleMinutes") + +#define wszCRTFILENAMEEXT TEXT(".crt") +#define wszPFXFILENAMEEXT TEXT(".p12") +#define wszDATFILENAMEEXT TEXT(".dat") +#define wszLOGFILENAMEEXT TEXT(".log") +#define wszDBFILENAMEEXT TEXT(".edb") +#define szDBBASENAMEPARM "edb" +#define wszDBBASENAMEPARM TEXT(szDBBASENAMEPARM) +#define wszLOGPATH TEXT("CertLog") +#define wszDBBACKUPSUBDIR TEXT("DataBase") +#define wszDBBACKUPCERTBACKDAT TEXT("certbkxp.dat") + +#ifndef __ENUM_CATYPES__ +#define __ENUM_CATYPES__ + +typedef enum { + ENUM_ENTERPRISE_ROOTCA = 0,ENUM_ENTERPRISE_SUBCA = 1,ENUM_STANDALONE_ROOTCA = 3,ENUM_STANDALONE_SUBCA = 4,ENUM_UNKNOWN_CA = 5, +} ENUM_CATYPES; + +typedef struct _CAINFO { + DWORD cbSize; + ENUM_CATYPES CAType; + DWORD cCASignatureCerts; + DWORD cCAExchangeCerts; + DWORD cExitModules; + LONG lPropIdMax; + LONG lRoleSeparationEnabled; + DWORD cKRACertUsedCount; + DWORD cKRACertCount; + DWORD fAdvancedServer; +} CAINFO; +#endif + +#define CCLOCKSKEWMINUTESDEFAULT 10 +#define CVIEWAGEMINUTESDEFAULT 16 +#define CVIEWIDLEMINUTESDEFAULT (CVIEWAGEMINUTESDEFAULT / 2) +#define dwVALIDITYPERIODCOUNTDEFAULT_ROOT 5 +#define dwVALIDITYPERIODCOUNTDEFAULT_ENTERPRISE 2 +#define dwVALIDITYPERIODCOUNTDEFAULT_STANDALONE 1 +#define dwVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_YEARS +#define wszVALIDITYPERIODSTRINGDEFAULT wszPERIODYEARS +#define dwCAXCHGVALIDITYPERIODCOUNTDEFAULT 1 +#define dwCAXCHGVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_WEEKS +#define wszCAXCHGVALIDITYPERIODSTRINGDEFAULT wszPERIODWEEKS +#define dwCAXCHGOVERLAPPERIODCOUNTDEFAULT 1 +#define dwCAXCHGOVERLAPPERIODENUMDEFAULT ENUM_PERIOD_DAYS +#define wszCAXCHGOVERLAPPERIODSTRINGDEFAULT wszPERIODDAYS +#define dwCRLPERIODCOUNTDEFAULT 1 +#define wszCRLPERIODSTRINGDEFAULT wszPERIODWEEKS +#define dwCRLOVERLAPPERIODCOUNTDEFAULT 0 +#define wszCRLOVERLAPPERIODSTRINGDEFAULT wszPERIODHOURS +#define dwCRLDELTAPERIODCOUNTDEFAULT 1 +#define wszCRLDELTAPERIODSTRINGDEFAULT wszPERIODDAYS +#define dwCRLDELTAOVERLAPPERIODCOUNTDEFAULT 0 +#define wszCRLDELTAOVERLAPPERIODSTRINGDEFAULT wszPERIODMINUTES + +#define CERTLOG_MINIMAL (DWORD) 0 +#define CERTLOG_TERSE (DWORD) 1 +#define CERTLOG_ERROR (DWORD) 2 +#define CERTLOG_WARNING (DWORD) 3 +#define CERTLOG_VERBOSE (DWORD) 4 +#define CERTLOG_EXHAUSTIVE (DWORD) 5 + +#define SETUP_SERVER_FLAG 0x00000001 +#define SETUP_CLIENT_FLAG 0x00000002 +#define SETUP_SUSPEND_FLAG 0x00000004 +#define SETUP_REQUEST_FLAG 0x00000008 +#define SETUP_ONLINE_FLAG 0x00000010 +#define SETUP_DENIED_FLAG 0x00000020 +#define SETUP_CREATEDB_FLAG 0x00000040 +#define SETUP_ATTEMPT_VROOT_CREATE 0x00000080 +#define SETUP_FORCECRL_FLAG 0x00000100 +#define SETUP_UPDATE_CAOBJECT_SVRTYPE 0x00000200 +#define SETUP_SERVER_UPGRADED_FLAG 0x00000400 +#define SETUP_W2K_SECURITY_NOT_UPGRADED_FLAG 0x00000800 +#define SETUP_SECURITY_CHANGED 0x00001000 + +#define SETUP_DCOM_SECURITY_UPDATED_FLAG 0x00002000 + +#define CRLF_DELTA_USE_OLDEST_UNEXPIRED_BASE 0x00000001 +#define CRLF_DELETE_EXPIRED_CRLS 0x00000002 +#define CRLF_CRLNUMBER_CRITICAL 0x00000004 +#define CRLF_REVCHECK_IGNORE_OFFLINE 0x00000008 +#define CRLF_IGNORE_INVALID_POLICIES 0x00000010 +#define CRLF_REBUILD_MODIFIED_SUBJECT_ONLY 0x00000020 +#define CRLF_SAVE_FAILED_CERTS 0x00000040 +#define CRLF_IGNORE_UNKNOWN_CMC_ATTRIBUTES 0x00000080 +#define CRLF_IGNORE_CROSS_CERT_TRUST_ERROR 0x00000100 +#define CRLF_PUBLISH_EXPIRED_CERT_CRLS 0x00000200 +#define CRLF_ENFORCE_ENROLLMENT_AGENT 0x00000400 +#define CRLF_DISABLE_RDN_REORDER 0x00000800 +#define CRLF_DISABLE_ROOT_CROSS_CERTS 0x00001000 +#define CRLF_LOG_FULL_RESPONSE 0x00002000 +#define CRLF_USE_XCHG_CERT_TEMPLATE 0x00004000 +#define CRLF_USE_CROSS_CERT_TEMPLATE 0x00008000 +#define CRLF_ALLOW_REQUEST_ATTRIBUTE_SUBJECT 0x00010000 +#define CRLF_REVCHECK_IGNORE_NOREVCHECK 0x00020000 +#define CRLF_PRESERVE_EXPIRED_CA_CERTS 0x00040000 +#define CRLF_PRESERVE_REVOKED_CA_CERTS 0x00080000 + +#define KRAF_ENABLEFOREIGN 0x00000001 +#define KRAF_SAVEBADREQUESTKEY 0x00000002 +#define KRAF_ENABLEARCHIVEALL 0x00000004 + +#define IF_LOCKICERTREQUEST 0x00000001 +#define IF_NOREMOTEICERTREQUEST 0x00000002 +#define IF_NOLOCALICERTREQUEST 0x00000004 +#define IF_NORPCICERTREQUEST 0x00000008 +#define IF_NOREMOTEICERTADMIN 0x00000010 +#define IF_NOLOCALICERTADMIN 0x00000020 +#define IF_NOREMOTEICERTADMINBACKUP 0x00000040 +#define IF_NOLOCALICERTADMINBACKUP 0x00000080 +#define IF_NOSNAPSHOTBACKUP 0x00000100 +#define IF_ENFORCEENCRYPTICERTREQUEST 0x00000200 +#define IF_ENFORCEENCRYPTICERTADMIN 0x00000400 +#define IF_ENABLEEXITKEYRETRIEVAL 0x00000800 +#define IF_ENABLEADMINASAUDITOR 0x00001000 +#define IF_DEFAULT (IF_NOREMOTEICERTADMINBACKUP) + +#define CSURL_SERVERPUBLISH 0x00000001 +#define CSURL_ADDTOCERTCDP 0x00000002 +#define CSURL_ADDTOFRESHESTCRL 0x00000004 +#define CSURL_ADDTOCRLCDP 0x00000008 +#define CSURL_PUBLISHRETRY 0x00000010 +#define CSURL_ADDTOCERTOCSP 0x00000020 +#define CSURL_SERVERPUBLISHDELTA 0x00000040 + +#define wszREGKEYCSP TEXT("CSP") +#define wszREGKEYENCRYPTIONCSP TEXT("EncryptionCSP") +#define wszREGKEYEXITMODULES TEXT("ExitModules") +#define wszREGKEYPOLICYMODULES TEXT("PolicyModules") +#define wszSECUREDATTRIBUTES TEXT("SignedAttributes") +#define wszzDEFAULTSIGNEDATTRIBUTES TEXT("RequesterName\0") +#define wszREGBACKUPLOGDIRECTORY TEXT("BackupLogDirectory") +#define wszREGCHECKPOINTFILE TEXT("CheckPointFile") +#define wszREGHIGHLOGNUMBER TEXT("HighLogNumber") +#define wszREGLOWLOGNUMBER TEXT("LowLogNumber") +#define wszREGLOGPATH TEXT("LogPath") +#define wszREGRESTOREMAPCOUNT TEXT("RestoreMapCount") +#define wszREGRESTOREMAP TEXT("RestoreMap") +#define wszREGDATABASERECOVERED TEXT("DatabaseRecovered") +#define wszREGRESTORESTATUS TEXT("RestoreStatus") +#define wszREGB2ICERTMANAGEMODULE TEXT("ICertManageModule") +#define wszREGSP4DEFAULTCONFIGURATION TEXT("DefaultConfiguration") +#define wszREGSP4KEYSETNAME TEXT("KeySetName") +#define wszREGSP4SUBJECTNAMESEPARATOR TEXT("SubjectNameSeparator") +#define wszREGSP4NAMES TEXT("Names") +#define wszREGSP4QUERIES TEXT("Queries") +#define wszREGNETSCAPECERTTYPE TEXT("NetscapeCertType") +#define wszNETSCAPEREVOCATIONTYPE TEXT("Netscape") +#define wszREGPROVIDERTYPE TEXT("ProviderType") +#define wszREGPROVIDER TEXT("Provider") +#define wszHASHALGORITHM TEXT("HashAlgorithm") +#define wszENCRYPTIONALGORITHM TEXT("EncryptionAlgorithm") +#define wszMACHINEKEYSET TEXT("MachineKeyset") +#define wszREGKEYSIZE TEXT("KeySize") +#define szNAMESEPARATORDEFAULT "\n" +#define wszNAMESEPARATORDEFAULT TEXT(szNAMESEPARATORDEFAULT) +#define wszPERIODYEARS TEXT("Years") +#define wszPERIODMONTHS TEXT("Months") +#define wszPERIODWEEKS TEXT("Weeks") +#define wszPERIODDAYS TEXT("Days") +#define wszPERIODHOURS TEXT("Hours") +#define wszPERIODMINUTES TEXT("Minutes") +#define wszPERIODSECONDS TEXT("Seconds") +#define wszREGISSUERCERTURLFLAGS TEXT("IssuerCertURLFlags") +#define wszREGEDITFLAGS TEXT("EditFlags") +#define wszREGUPNMAP TEXT("UPNMap") +#define wszREGSUBJECTALTNAME TEXT("SubjectAltName") +#define wszREGSUBJECTALTNAME2 TEXT("SubjectAltName2") +#define wszREGREQUESTDISPOSITION TEXT("RequestDisposition") +#define wszREGCAPATHLENGTH TEXT("CAPathLength") +#define wszREGREVOCATIONTYPE TEXT("RevocationType") +#define wszREGLDAPREVOCATIONCRLURL_OLD TEXT("LDAPRevocationCRLURL") +#define wszREGREVOCATIONCRLURL_OLD TEXT("RevocationCRLURL") +#define wszREGFTPREVOCATIONCRLURL_OLD TEXT("FTPRevocationCRLURL") +#define wszREGFILEREVOCATIONCRLURL_OLD TEXT("FileRevocationCRLURL") +#define wszREGREVOCATIONURL TEXT("RevocationURL") +#define wszREGLDAPISSUERCERTURL_OLD TEXT("LDAPIssuerCertURL") +#define wszREGISSUERCERTURL_OLD TEXT("IssuerCertURL") +#define wszREGFTPISSUERCERTURL_OLD TEXT("FTPIssuerCertURL") +#define wszREGFILEISSUERCERTURL_OLD TEXT("FileIssuerCertURL") +#define wszREGENABLEREQUESTEXTENSIONLIST TEXT("EnableRequestExtensionList") +#define wszREGENABLEENROLLEEREQUESTEXTENSIONLIST TEXT("EnableEnrolleeRequestExtensionList") +#define wszREGDISABLEEXTENSIONLIST TEXT("DisableExtensionList") +#define wszREGDEFAULTSMIME TEXT("DefaultSMIME") + +#define CAPATHLENGTH_INFINITE 0xffffffff + +#define REQDISP_PENDING 0x00000000 +#define REQDISP_ISSUE 0x00000001 +#define REQDISP_DENY 0x00000002 +#define REQDISP_USEREQUESTATTRIBUTE 0x00000003 +#define REQDISP_MASK 0x000000ff +#define REQDISP_PENDINGFIRST 0x00000100 +#define REQDISP_DEFAULT_STANDALONE (REQDISP_PENDINGFIRST | REQDISP_ISSUE) +#define REQDISP_DEFAULT_ENTERPRISE (REQDISP_ISSUE) + +#define REVEXT_CDPLDAPURL_OLD 0x00000001 +#define REVEXT_CDPHTTPURL_OLD 0x00000002 +#define REVEXT_CDPFTPURL_OLD 0x00000004 +#define REVEXT_CDPFILEURL_OLD 0x00000008 +#define REVEXT_CDPURLMASK_OLD 0x000000ff +#define REVEXT_CDPENABLE 0x00000100 +#define REVEXT_ASPENABLE 0x00000200 + +#define REVEXT_DEFAULT_NODS (REVEXT_CDPENABLE) +#define REVEXT_DEFAULT_DS (REVEXT_CDPENABLE) + +#define ISSCERT_LDAPURL_OLD 0x00000001 +#define ISSCERT_HTTPURL_OLD 0x00000002 +#define ISSCERT_FTPURL_OLD 0x00000004 +#define ISSCERT_FILEURL_OLD 0x00000008 +#define ISSCERT_URLMASK_OLD 0x000000ff +#define ISSCERT_ENABLE 0x00000100 + +#define ISSCERT_DEFAULT_NODS (ISSCERT_ENABLE) +#define ISSCERT_DEFAULT_DS (ISSCERT_ENABLE) + +#define EDITF_ENABLEREQUESTEXTENSIONS 0x00000001 +#define EDITF_REQUESTEXTENSIONLIST 0x00000002 +#define EDITF_DISABLEEXTENSIONLIST 0x00000004 +#define EDITF_ADDOLDKEYUSAGE 0x00000008 +#define EDITF_ADDOLDCERTTYPE 0x00000010 +#define EDITF_ATTRIBUTEENDDATE 0x00000020 +#define EDITF_BASICCONSTRAINTSCRITICAL 0x00000040 +#define EDITF_BASICCONSTRAINTSCA 0x00000080 +#define EDITF_ENABLEAKIKEYID 0x00000100 +#define EDITF_ATTRIBUTECA 0x00000200 +#define EDITF_IGNOREREQUESTERGROUP 0x00000400 +#define EDITF_ENABLEAKIISSUERNAME 0x00000800 +#define EDITF_ENABLEAKIISSUERSERIAL 0x00001000 +#define EDITF_ENABLEAKICRITICAL 0x00002000 +#define EDITF_SERVERUPGRADED 0x00004000 +#define EDITF_ATTRIBUTEEKU 0x00008000 +#define EDITF_ENABLEDEFAULTSMIME 0x00010000 +#define EDITF_EMAILOPTIONAL 0x00020000 +#define EDITF_ATTRIBUTESUBJECTALTNAME2 0x00040000 +#define EDITF_ENABLELDAPREFERRALS 0x00080000 +#define EDITF_ENABLECHASECLIENTDC 0x00100000 +#define EDITF_AUDITCERTTEMPLATELOAD 0x00200000 +#define EDITF_DISABLEOLDOSCNUPN 0x00400000 +#define EDITF_DISABLELDAPPACKAGELIST 0x00800000 +#define EDITF_ENABLEUPNMAP 0x01000000 + +#define EDITF_DEFAULT_STANDALONE (EDITF_REQUESTEXTENSIONLIST | EDITF_DISABLEEXTENSIONLIST | EDITF_ADDOLDKEYUSAGE | EDITF_ATTRIBUTEENDDATE | EDITF_BASICCONSTRAINTSCRITICAL | EDITF_BASICCONSTRAINTSCA | EDITF_ENABLEAKIKEYID | EDITF_ATTRIBUTECA | EDITF_ATTRIBUTEEKU) +#define EDITF_DEFAULT_ENTERPRISE (EDITF_REQUESTEXTENSIONLIST | EDITF_DISABLEEXTENSIONLIST | EDITF_ADDOLDKEYUSAGE | EDITF_BASICCONSTRAINTSCRITICAL | EDITF_ENABLEAKIKEYID | EDITF_ENABLEDEFAULTSMIME | EDITF_ENABLECHASECLIENTDC) + +#define wszREGLDAPREVOCATIONDN_OLD TEXT("LDAPRevocationDN") +#define wszREGLDAPREVOCATIONDNTEMPLATE_OLD TEXT("LDAPRevocationDNTemplate") +#define wszCRLPUBLISHRETRYCOUNT TEXT("CRLPublishRetryCount") +#define wszREGCERTPUBLISHFLAGS TEXT("PublishCertFlags") + +#define EXITPUB_FILE 0x00000001 +#define EXITPUB_ACTIVEDIRECTORY 0x00000002 +#define EXITPUB_REMOVEOLDCERTS 0x00000010 + +#define EXITPUB_DEFAULT_ENTERPRISE EXITPUB_ACTIVEDIRECTORY + +#define EXITPUB_DEFAULT_STANDALONE EXITPUB_FILE + +#define wszCLASS_CERTADMIN TEXT("CertificateAuthority.Admin") +#define wszCLASS_CERTCONFIG TEXT("CertificateAuthority.Config") +#define wszCLASS_CERTGETCONFIG TEXT("CertificateAuthority.GetConfig") +#define wszCLASS_CERTENCODE TEXT("CertificateAuthority.Encode") +#define wszCLASS_CERTREQUEST TEXT("CertificateAuthority.Request") +#define wszCLASS_CERTSERVEREXIT TEXT("CertificateAuthority.ServerExit") +#define wszCLASS_CERTSERVERPOLICY TEXT("CertificateAuthority.ServerPolicy") +#define wszCLASS_CERTVIEW TEXT("CertificateAuthority.View") +#define wszMICROSOFTCERTMODULE_PREFIX TEXT("CertificateAuthority_MicrosoftDefault") +#define wszCERTMANAGE_SUFFIX TEXT("Manage") +#define wszCERTEXITMODULE_POSTFIX TEXT(".Exit") +#define wszCERTMANAGEEXIT_POSTFIX wszCERTEXITMODULE_POSTFIX wszCERTMANAGE_SUFFIX +#define wszCERTPOLICYMODULE_POSTFIX TEXT(".Policy") +#define wszCERTMANAGEPOLICY_POSTFIX wszCERTPOLICYMODULE_POSTFIX wszCERTMANAGE_SUFFIX +#define wszCLASS_CERTMANAGEEXITMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEEXIT_POSTFIX +#define wszCLASS_CERTMANAGEPOLICYMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEPOLICY_POSTFIX +#define wszCLASS_CERTEXIT wszMICROSOFTCERTMODULE_PREFIX wszCERTEXITMODULE_POSTFIX +#define wszCLASS_CERTPOLICY wszMICROSOFTCERTMODULE_PREFIX wszCERTPOLICYMODULE_POSTFIX +#define wszCAPOLICYFILE L"CAPolicy.inf" +#define wszINFSECTION_CDP L"CRLDistributionPoint" +#define wszINFSECTION_AIA L"AuthorityInformationAccess" +#define wszINFSECTION_EKU L"EnhancedKeyUsageExtension" +#define wszINFSECTION_CCDP L"CrossCertificateDistributionPointsExtension" +#define wszINFSECTION_CERTSERVER L"certsrv_server" +#define wszINFKEY_RENEWALKEYLENGTH L"RenewalKeyLength" +#define wszINFKEY_RENEWALVALIDITYPERIODSTRING L"RenewalValidityPeriod" +#define wszINFKEY_RENEWALVALIDITYPERIODCOUNT L"RenewalValidityPeriodUnits" +#define wszINFKEY_UTF8 L"UTF8" +#define wszINFKEY_CRLPERIODSTRING wszREGCRLPERIODSTRING +#define wszINFKEY_CRLPERIODCOUNT wszREGCRLPERIODCOUNT +#define wszINFKEY_CRLDELTAPERIODSTRING wszREGCRLDELTAPERIODSTRING +#define wszINFKEY_CRLDELTAPERIODCOUNT wszREGCRLDELTAPERIODCOUNT +#define wszINFKEY_LOADDEFAULTTEMPLATES L"LoadDefaultTemplates" +#define wszINFKEY_ENABLEKEYCOUNTING L"EnableKeyCounting" +#define wszINFKEY_FORCEUTF8 L"FORCEUTF8" +#define wszINFKEY_CRITICAL L"Critical" +#define wszINFKEY_EMPTY L"Empty" +#define wszINFKEY_CCDPSYNCDELTATIME L"SyncDeltaTime" +#define wszINFSECTION_CAPOLICY L"CAPolicy" +#define wszINFSECTION_POLICYSTATEMENT L"PolicyStatementExtension" +#define wszINFSECTION_APPLICATIONPOLICYSTATEMENT L"ApplicationPolicyStatementExtension" +#define wszINFKEY_POLICIES L"Policies" +#define wszINFKEY_OID L"OID" +#define wszINFKEY_NOTICE L"Notice" +#define wszINFSECTION_REQUESTATTRIBUTES L"RequestAttributes" +#define wszINFSECTION_NAMECONSTRAINTS L"NameConstraintsExtension" +#define wszINFKEY_INCLUDE L"Include" +#define wszINFKEY_EXCLUDE L"Exclude" +#define wszINFKEY_UPN L"UPN" +#define wszINFKEY_EMAIL L"EMail" +#define wszINFKEY_DNS L"DNS" +#define wszINFKEY_DIRECTORYNAME L"DirectoryName" +#define wszINFKEY_URL L"URL" +#define wszINFKEY_IPADDRESS L"IPAddress" +#define wszINFKEY_REGISTEREDID L"RegisteredId" +#define wszINFKEY_OTHERNAME L"OtherName" +#define wszINFSECTION_POLICYMAPPINGS L"PolicyMappingsExtension" +#define wszINFSECTION_APPLICATIONPOLICYMAPPINGS L"ApplicationPolicyMappingsExtension" +#define wszINFSECTION_POLICYCONSTRAINTS L"PolicyConstraintsExtension" +#define wszINFSECTION_APPLICATIONPOLICYCONSTRAINTS L"ApplicationPolicyConstraintsExtension" +#define wszINFKEY_REQUIREEXPLICITPOLICY L"RequireExplicitPolicy" +#define wszINFKEY_INHIBITPOLICYMAPPING L"InhibitPolicyMapping" +#define wszINFSECTION_BASICCONSTRAINTS L"BasicConstraintsExtension" +#define wszINFKEY_PATHLENGTH L"PathLength" +#define wszREGEXITSMTPKEY L"SMTP" +#define wszREGEXITSMTPTEMPLATES L"Templates" +#define wszREGEXITSMTPEVENTFILTER L"EventFilter" +#define wszREGEXITSMTPSERVER L"SMTPServer" +#define wszREGEXITSMTPAUTHENTICATE L"SMTPAuthenticate" +#define wszREGEXITDENIEDKEY L"Denied" +#define wszREGEXITISSUEDKEY L"Issued" +#define wszREGEXITPENDINGKEY L"Pending" +#define wszREGEXITREVOKEDKEY L"Revoked" +#define wszREGEXITCRLISSUEDKEY L"CRLIssued" +#define wszREGEXITSHUTDOWNKEY L"Shutdown" +#define wszREGEXITSTARTUPKEY L"Startup" +#define wszREGEXITSMTPFROM L"From" +#define wszREGEXITSMTPTO L"To" +#define wszREGEXITSMTPCC L"Cc" +#define wszREGEXITTITLEFORMAT L"TitleFormat" +#define wszREGEXITTITLEARG L"TitleArg" +#define wszREGEXITBODYFORMAT L"BodyFormat" +#define wszREGEXITBODYARG L"BodyArg" +#define wszREGEXITPROPNOTFOUND L"???" +#define wszPROPDISTINGUISHEDNAME TEXT("DistinguishedName") +#define wszPROPRAWNAME TEXT("RawName") +#define wszPROPCOUNTRY TEXT("Country") +#define wszPROPORGANIZATION TEXT("Organization") +#define wszPROPORGUNIT TEXT("OrgUnit") +#define wszPROPCOMMONNAME TEXT("CommonName") +#define wszPROPLOCALITY TEXT("Locality") +#define wszPROPSTATE TEXT("State") +#define wszPROPTITLE TEXT("Title") +#define wszPROPGIVENNAME TEXT("GivenName") +#define wszPROPINITIALS TEXT("Initials") +#define wszPROPSURNAME TEXT("SurName") +#define wszPROPDOMAINCOMPONENT TEXT("DomainComponent") +#define wszPROPEMAIL TEXT("EMail") +#define wszPROPSTREETADDRESS TEXT("StreetAddress") +#define wszPROPUNSTRUCTUREDNAME TEXT("UnstructuredName") +#define wszPROPUNSTRUCTUREDADDRESS TEXT("UnstructuredAddress") +#define wszPROPDEVICESERIALNUMBER TEXT("DeviceSerialNumber") +#define wszPROPSUBJECTDOT TEXT("Subject.") +#define wszPROPSUBJECTDISTINGUISHEDNAME wszPROPSUBJECTDOT wszPROPDISTINGUISHEDNAME +#define wszPROPSUBJECTRAWNAME wszPROPSUBJECTDOT wszPROPRAWNAME +#define wszPROPSUBJECTCOUNTRY wszPROPSUBJECTDOT wszPROPCOUNTRY +#define wszPROPSUBJECTORGANIZATION wszPROPSUBJECTDOT wszPROPORGANIZATION +#define wszPROPSUBJECTORGUNIT wszPROPSUBJECTDOT wszPROPORGUNIT +#define wszPROPSUBJECTCOMMONNAME wszPROPSUBJECTDOT wszPROPCOMMONNAME +#define wszPROPSUBJECTLOCALITY wszPROPSUBJECTDOT wszPROPLOCALITY +#define wszPROPSUBJECTSTATE wszPROPSUBJECTDOT wszPROPSTATE +#define wszPROPSUBJECTTITLE wszPROPSUBJECTDOT wszPROPTITLE +#define wszPROPSUBJECTGIVENNAME wszPROPSUBJECTDOT wszPROPGIVENNAME +#define wszPROPSUBJECTINITIALS wszPROPSUBJECTDOT wszPROPINITIALS +#define wszPROPSUBJECTSURNAME wszPROPSUBJECTDOT wszPROPSURNAME +#define wszPROPSUBJECTDOMAINCOMPONENT wszPROPSUBJECTDOT wszPROPDOMAINCOMPONENT +#define wszPROPSUBJECTEMAIL wszPROPSUBJECTDOT wszPROPEMAIL +#define wszPROPSUBJECTSTREETADDRESS wszPROPSUBJECTDOT wszPROPSTREETADDRESS +#define wszPROPSUBJECTUNSTRUCTUREDNAME wszPROPSUBJECTDOT wszPROPUNSTRUCTUREDNAME +#define wszPROPSUBJECTUNSTRUCTUREDADDRESS wszPROPSUBJECTDOT wszPROPUNSTRUCTUREDADDRESS +#define wszPROPSUBJECTDEVICESERIALNUMBER wszPROPSUBJECTDOT wszPROPDEVICESERIALNUMBER +#define wszPROPREQUESTDOT TEXT("Request.") +#define wszPROPREQUESTREQUESTID TEXT("RequestID") +#define wszPROPREQUESTRAWREQUEST TEXT("RawRequest") +#define wszPROPREQUESTRAWARCHIVEDKEY TEXT("RawArchivedKey") +#define wszPROPREQUESTARCHIVEDKEY TEXT("ArchivedKey") +#define wszPROPREQUESTKEYRECOVERYHASHES TEXT("KeyRecoveryHashes") +#define wszPROPREQUESTRAWOLDCERTIFICATE TEXT("RawOldCertificate") +#define wszPROPREQUESTATTRIBUTES TEXT("RequestAttributes") +#define wszPROPREQUESTTYPE TEXT("RequestType") +#define wszPROPREQUESTFLAGS TEXT("RequestFlags") +#define wszPROPREQUESTSTATUSCODE TEXT("StatusCode") +#define wszPROPREQUESTDISPOSITION TEXT("Disposition") +#define wszPROPREQUESTDISPOSITIONMESSAGE TEXT("DispositionMessage") +#define wszPROPREQUESTSUBMITTEDWHEN TEXT("SubmittedWhen") +#define wszPROPREQUESTRESOLVEDWHEN TEXT("ResolvedWhen") +#define wszPROPREQUESTREVOKEDWHEN TEXT("RevokedWhen") +#define wszPROPREQUESTREVOKEDEFFECTIVEWHEN TEXT("RevokedEffectiveWhen") +#define wszPROPREQUESTREVOKEDREASON TEXT("RevokedReason") +#define wszPROPREQUESTERNAME TEXT("RequesterName") +#define wszPROPCALLERNAME TEXT("CallerName") +#define wszPROPSIGNERPOLICIES TEXT("SignerPolicies") +#define wszPROPSIGNERAPPLICATIONPOLICIES TEXT("SignerApplicationPolicies") +#define wszPROPOFFICER TEXT("Officer") +#define wszPROPCHALLENGE TEXT("Challenge") +#define wszPROPEXPECTEDCHALLENGE TEXT("ExpectedChallenge") +#define wszPROPDISPOSITION TEXT("Disposition") +#define wszPROPDISPOSITIONDENY TEXT("Deny") +#define wszPROPDISPOSITIONPENDING TEXT("Pending") +#define wszPROPVALIDITYPERIODSTRING TEXT("ValidityPeriod") +#define wszPROPVALIDITYPERIODCOUNT TEXT("ValidityPeriodUnits") +#define wszPROPCERTTYPE TEXT("CertType") +#define wszPROPCERTTEMPLATE TEXT("CertificateTemplate") +#define wszPROPCERTUSAGE TEXT("CertificateUsage") +#define wszPROPREQUESTOSVERSION TEXT("RequestOSVersion") +#define wszPROPREQUESTCSPPROVIDER TEXT("RequestCSPProvider") +#define wszPROPEXITCERTFILE TEXT("CertFile") +#define wszPROPCLIENTBROWSERMACHINE TEXT("cbm") +#define wszPROPCERTCLIENTMACHINE TEXT("ccm") +#define wszPROPCLIENTDCDNS L"cdc" +#define wszPROPREQUESTMACHINEDNS L"rmd" +#define wszPROPSUBJECTALTNAME2 TEXT("san") +#define wszPROPDNS TEXT("dns") +#define wszPROPDN TEXT("dn") +#define wszPROPURL TEXT("url") +#define wszPROPIPADDRESS TEXT("ipaddress") +#define wszPROPGUID TEXT("guid") +#define wszPROPOID TEXT("oid") +#define wszPROPUPN TEXT("upn") +#define wszPROPUPN TEXT("upn") +#define szPROPASNTAG "{asn}" +#define wszPROPUTF8TAG TEXT("{utf8}") +#define wszPROPOCTETTAG TEXT("{octet}") +#define wszPROPASNTAG TEXT(szPROPASNTAG) +#define wszPROPCATYPE TEXT("CAType") +#define wszPROPSANITIZEDCANAME TEXT("SanitizedCAName") +#define wszPROPSANITIZEDSHORTNAME TEXT("SanitizedShortName") +#define wszPROPMACHINEDNSNAME TEXT("MachineDNSName") +#define wszPROPMODULEREGLOC TEXT("ModuleRegistryLocation") +#define wszPROPUSEDS TEXT("fUseDS") +#define wszPROPDELTACRLSDISABLED TEXT("fDeltaCRLsDisabled") +#define wszPROPSERVERUPGRADED TEXT("fServerUpgraded") +#define wszPROPCONFIGDN TEXT("ConfigDN") +#define wszPROPDOMAINDN TEXT("DomainDN") +#define wszPROPLOGLEVEL TEXT("LogLevel") +#define wszPROPSESSIONCOUNT TEXT("SessionCount") +#define wszPROPTEMPLATECHANGESEQUENCENUMBER TEXT("TemplateChangeSequenceNumber") +#define wszLOCALIZEDTIMEPERIODUNITS TEXT("LocalizedTimePeriodUnits") +#define wszPROPREQUESTERCAACCESS TEXT("RequesterCAAccess") +#define wszPROPUSERDN TEXT("UserDN") +#define wszPROPKEYARCHIVED TEXT("KeyArchived") +#define wszPROPCERTCOUNT TEXT("CertCount") +#define wszPROPRAWCACERTIFICATE TEXT("RawCACertificate") +#define wszPROPCERTSTATE TEXT("CertState") +#define wszPROPCERTSUFFIX TEXT("CertSuffix") +#define wszPROPRAWCRL TEXT("RawCRL") +#define wszPROPRAWDELTACRL TEXT("RawDeltaCRL") +#define wszPROPCRLINDEX TEXT("CRLIndex") +#define wszPROPCRLSTATE TEXT("CRLState") +#define wszPROPCRLSUFFIX TEXT("CRLSuffix") +#define wszPROPEVENTLOGTERSE TEXT("EventLogTerse") +#define wszPROPEVENTLOGERROR TEXT("EventLogError") +#define wszPROPEVENTLOGWARNING TEXT("EventLogWarning") +#define wszPROPEVENTLOGVERBOSE TEXT("EventLogVerbose") +#define wszPROPEVENTLOGEXHAUSTIVE TEXT("EventLogExhaustive") +#define wszPROPDCNAME TEXT("DCName") +#define wszPROPSEAUDITID TEXT("SEAuditId") +#define wszPROPSEAUDITFILTER TEXT("SEAuditFilter") +#define wszPROPCERTIFICATEREQUESTID TEXT("RequestID") +#define wszPROPRAWCERTIFICATE TEXT("RawCertificate") +#define wszPROPCERTIFICATEHASH TEXT("CertificateHash") +#define wszPROPCERTIFICATETEMPLATE TEXT("CertificateTemplate") +#define wszPROPCERTIFICATEENROLLMENTFLAGS TEXT("EnrollmentFlags") +#define wszPROPCERTIFICATEGENERALFLAGS TEXT("GeneralFlags") +#define wszPROPCERTIFICATESERIALNUMBER TEXT("SerialNumber") +#define wszPROPCERTIFICATENOTBEFOREDATE TEXT("NotBefore") +#define wszPROPCERTIFICATENOTAFTERDATE TEXT("NotAfter") +#define wszPROPCERTIFICATESUBJECTKEYIDENTIFIER TEXT("SubjectKeyIdentifier") +#define wszPROPCERTIFICATERAWPUBLICKEY TEXT("RawPublicKey") +#define wszPROPCERTIFICATEPUBLICKEYLENGTH TEXT("PublicKeyLength") +#define wszPROPCERTIFICATEPUBLICKEYALGORITHM TEXT("PublicKeyAlgorithm") +#define wszPROPCERTIFICATERAWPUBLICKEYALGORITHMPARAMETERS TEXT("RawPublicKeyAlgorithmParameters") +#define wszPROPCERTIFICATEUPN TEXT("UPN") +#define wszPROPCERTIFICATETYPE TEXT("CertificateType") +#define wszPROPCERTIFICATERAWSMIMECAPABILITIES TEXT("RawSMIMECapabilities") +#define wszPROPNAMETYPE TEXT("NameType") + +#define EXTENSION_CRITICAL_FLAG 0x00000001 +#define EXTENSION_DISABLE_FLAG 0x00000002 +#define EXTENSION_POLICY_MASK 0x0000ffff + +#define EXTENSION_ORIGIN_REQUEST 0x00010000 +#define EXTENSION_ORIGIN_POLICY 0x00020000 +#define EXTENSION_ORIGIN_ADMIN 0x00030000 +#define EXTENSION_ORIGIN_SERVER 0x00040000 +#define EXTENSION_ORIGIN_RENEWALCERT 0x00050000 +#define EXTENSION_ORIGIN_IMPORTEDCERT 0x00060000 +#define EXTENSION_ORIGIN_PKCS7 0x00070000 +#define EXTENSION_ORIGIN_CMC 0x00080000 +#define EXTENSION_ORIGIN_CACERT 0x00090000 +#define EXTENSION_ORIGIN_MASK 0x000f0000 + +#define wszPROPEXTREQUESTID TEXT("ExtensionRequestId") +#define wszPROPEXTNAME TEXT("ExtensionName") +#define wszPROPEXTFLAGS TEXT("ExtensionFlags") +#define wszPROPEXTRAWVALUE TEXT("ExtensionRawValue") +#define wszPROPATTRIBREQUESTID TEXT("AttributeRequestId") +#define wszPROPATTRIBNAME TEXT("AttributeName") +#define wszPROPATTRIBVALUE TEXT("AttributeValue") +#define wszPROPCRLROWID TEXT("CRLRowId") +#define wszPROPCRLNUMBER TEXT("CRLNumber") +#define wszPROPCRLMINBASE TEXT("CRLMinBase") +#define wszPROPCRLNAMEID TEXT("CRLNameId") +#define wszPROPCRLCOUNT TEXT("CRLCount") +#define wszPROPCRLTHISUPDATE TEXT("CRLThisUpdate") +#define wszPROPCRLNEXTUPDATE TEXT("CRLNextUpdate") +#define wszPROPCRLTHISPUBLISH TEXT("CRLThisPublish") +#define wszPROPCRLNEXTPUBLISH TEXT("CRLNextPublish") +#define wszPROPCRLEFFECTIVE TEXT("CRLEffective") +#define wszPROPCRLPROPAGATIONCOMPLETE TEXT("CRLPropagationComplete") +#define wszPROPCRLLASTPUBLISHED TEXT("CRLLastPublished") +#define wszPROPCRLPUBLISHATTEMPTS TEXT("CRLPublishAttempts") +#define wszPROPCRLPUBLISHFLAGS TEXT("CRLPublishFlags") +#define wszPROPCRLPUBLISHSTATUSCODE TEXT("CRLPublishStatusCode") +#define wszPROPCRLPUBLISHERROR TEXT("CRLPublishError") +#define wszPROPCRLRAWCRL TEXT("CRLRawCRL") + +#define CPF_BASE 0x00000001 +#define CPF_DELTA 0x00000002 +#define CPF_COMPLETE 0x00000004 +#define CPF_SHADOW 0x00000008 +#define CPF_CASTORE_ERROR 0x00000010 +#define CPF_BADURL_ERROR 0x00000020 +#define CPF_MANUAL 0x00000040 +#define CPF_SIGNATURE_ERROR 0x00000080 +#define CPF_LDAP_ERROR 0x00000100 +#define CPF_FILE_ERROR 0x00000200 +#define CPF_FTP_ERROR 0x00000400 +#define CPF_HTTP_ERROR 0x00000800 + +#define PROPTYPE_LONG 0x00000001 +#define PROPTYPE_DATE 0x00000002 +#define PROPTYPE_BINARY 0x00000003 +#define PROPTYPE_STRING 0x00000004 +#define PROPTYPE_MASK 0x000000ff +#define PROPCALLER_SERVER 0x00000100 +#define PROPCALLER_POLICY 0x00000200 +#define PROPCALLER_EXIT 0x00000300 +#define PROPCALLER_ADMIN 0x00000400 +#define PROPCALLER_REQUEST 0x00000500 +#define PROPCALLER_MASK 0x00000f00 +#define PROPFLAGS_INDEXED 0x00010000 + +#define CR_FLG_FORCETELETEX 0x00000001 +#define CR_FLG_RENEWAL 0x00000002 +#define CR_FLG_FORCEUTF8 0x00000004 +#define CR_FLG_CAXCHGCERT 0x00000008 +#define CR_FLG_ENROLLONBEHALFOF 0x00000010 +#define CR_FLG_SUBJECTUNMODIFIED 0x00000020 +#define CR_FLG_VALIDENCRYPTEDKEYHASH 0x00000040 +#define CR_FLG_CACROSSCERT 0x00000080 +#define CR_FLG_ENFORCEUTF8 0x00000100 +#define CR_FLG_PUBLISHERROR 0x80000000 + +#define DB_DISP_ACTIVE 8 +#define DB_DISP_PENDING 9 +#define DB_DISP_QUEUE_MAX 9 +#define DB_DISP_FOREIGN 12 +#define DB_DISP_CA_CERT 15 +#define DB_DISP_CA_CERT_CHAIN 16 +#define DB_DISP_KRA_CERT 17 +#define DB_DISP_LOG_MIN 20 +#define DB_DISP_ISSUED 20 +#define DB_DISP_REVOKED 21 +#define DB_DISP_LOG_FAILED_MIN 30 +#define DB_DISP_ERROR 30 +#define DB_DISP_DENIED 31 + +#define VR_PENDING 0 +#define VR_INSTANT_OK 1 +#define VR_INSTANT_BAD 2 + +#define wszCERT_TYPE L"RequestType" +#define wszCERT_TYPE_CLIENT L"Client" +#define wszCERT_TYPE_SERVER L"Server" +#define wszCERT_TYPE_CODESIGN L"CodeSign" +#define wszCERT_TYPE_CUSTOMER L"SetCustomer" +#define wszCERT_TYPE_MERCHANT L"SetMerchant" +#define wszCERT_TYPE_PAYMENT L"SetPayment" +#define wszCERT_VERSION L"Version" +#define wszCERT_VERSION_1 L"1" +#define wszCERT_VERSION_2 L"2" +#define wszCERT_VERSION_3 L"3" + +#endif
