Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

671 lines
28 KiB

  1. //+--------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1996 - 1999
  5. //
  6. // File: csregstr.h
  7. //
  8. // Contents: Cert Server registry string definitions
  9. //
  10. //---------------------------------------------------------------------------
  11. #ifndef __CSREGSTR_H__
  12. #define __CSREGSTR_H__
  13. #define wszROOT_CERTSTORE TEXT("ROOT")
  14. #define wszKRA_CERTSTORE TEXT("KRA")
  15. #define wszCA_CERTSTORE TEXT("CA")
  16. #define wszMY_CERTSTORE TEXT("MY")
  17. #define wszACRS_CERTSTORE TEXT("ACRS")
  18. #define wszREQUEST_CERTSTORE TEXT("REQUEST")
  19. #define wszNTAUTH_CERTSTORE TEXT("NTAUTH")
  20. // begin_certsrv
  21. #define wszSERVICE_NAME TEXT("CertSvc")
  22. #define wszREGKEYNOSYSTEMCERTSVCPATH \
  23. TEXT("CurrentControlSet\\Services\\") \
  24. wszSERVICE_NAME
  25. #define wszREGKEYCERTSVCPATH TEXT("SYSTEM\\") wszREGKEYNOSYSTEMCERTSVCPATH
  26. #define wszREGKEYBASE wszREGKEYCERTSVCPATH // obsolete definition
  27. //======================================================================
  28. // Full path to "CertSvc\Configuration\":
  29. #define wszREGKEYCONFIGPATH wszREGKEYCERTSVCPATH TEXT("\\") wszREGKEYCONFIG
  30. #define wszREGKEYCONFIGPATH_BS wszREGKEYCONFIGPATH TEXT("\\")
  31. #define wszREGKEYCONFIGCANAME wszREGKEYCONFIGPATH_BS // obsolete definition
  32. //======================================================================
  33. // Full path to "CertSvc\Configuration\RestoreInProgress":
  34. #define wszREGKEYCONFIGRESTORE wszREGKEYCONFIGPATH_BS wszREGKEYRESTOREINPROGRESS
  35. //======================================================================
  36. // Key Under "CertSvc":
  37. #define wszREGKEYCONFIG TEXT("Configuration")
  38. //======================================================================
  39. // Values Under "CertSvc\Configuration":
  40. #define wszREGACTIVE TEXT("Active")
  41. #define wszREGDIRECTORY TEXT("ConfigurationDirectory")
  42. #define wszREGDBDIRECTORY TEXT("DBDirectory")
  43. #define wszREGDBLOGDIRECTORY TEXT("DBLogDirectory")
  44. #define wszREGDBSYSDIRECTORY TEXT("DBSystemDirectory")
  45. #define wszREGDBTEMPDIRECTORY TEXT("DBTempDirectory")
  46. #define wszREGDBSESSIONCOUNT TEXT("DBSessionCount")
  47. #define wszREGDBLASTFULLBACKUP TEXT("DBLastFullBackup")
  48. #define wszREGDBLASTINCREMENTALBACKUP TEXT("DBLastIncrementalBackup")
  49. #define wszREGDBLASTRECOVERY TEXT("DBLastRecovery")
  50. #define wszREGWEBCLIENTCAMACHINE TEXT("WebClientCAMachine")
  51. #define wszREGVERSION TEXT("Version")
  52. #define wszREGWEBCLIENTCANAME TEXT("WebClientCAName")
  53. #define wszREGWEBCLIENTCATYPE TEXT("WebClientCAType")
  54. #define wszREGDBOPTIONALFLAGS TEXT("DBOptionalFlags")
  55. // end_certsrv
  56. #define wszREGCERTSRVDEBUG TEXT("Debug")
  57. #define wszREGCERTSRVMEMTRACK TEXT("MemTrack")
  58. // Environment variables:
  59. #define szCERTSRV_DEBUG "CERTSRV_DEBUG"
  60. #define szCERTSRV_LOGFILE "CERTSRV_LOGFILE"
  61. #define szCERTSRV_LOGMAX "CERTSRV_LOGMAX"
  62. #define szCERTSRV_MEMTRACK "CERTSRV_MEMTRACK"
  63. // begin_certsrv
  64. // Default value for wszREGDBSESSIONCOUNT
  65. #define DBSESSIONCOUNTDEFAULT 20
  66. // Default value for wszREGMAXINCOMINGMESSAGESIZE
  67. #define MAXINCOMINGMESSAGESIZEDEFAULT (64 * 1024)
  68. // Value for wszREGVERSION:
  69. #define CSVER_MAJOR 2 // high 16 bits
  70. #define CSVER_MINOR 1 // low 16 bits
  71. // stamp, for all time,the whistler version:
  72. #define CSVER_WHISTLER ((2<<16)|(1))
  73. // Keys Under "CertSvc\Configuration":
  74. #define wszREGKEYRESTOREINPROGRESS TEXT("RestoreInProgress")
  75. //======================================================================
  76. // Values Under "CertSvc\Configuration\<CAName>":
  77. #define wszREGCADESCRIPTION TEXT("CADescription")
  78. #define wszREGCACERTHASH TEXT("CACertHash")
  79. #define wszREGCASERIALNUMBER TEXT("CACertSerialNumber")
  80. #define wszREGCAXCHGCERTHASH TEXT("CAXchgCertHash")
  81. #define wszREGKRACERTHASH TEXT("KRACertHash")
  82. #define wszREGKRACERTCOUNT TEXT("KRACertCount")
  83. #define wszREGKRAFLAGS TEXT("KRAFlags")
  84. #define wszREGCATYPE TEXT("CAType")
  85. #define wszREGCERTENROLLCOMPATIBLE TEXT("CertEnrollCompatible")
  86. #define wszREGENFORCEX500NAMELENGTHS TEXT("EnforceX500NameLengths")
  87. #define wszREGCOMMONNAME TEXT("CommonName")
  88. #define wszREGCLOCKSKEWMINUTES TEXT("ClockSkewMinutes")
  89. #define wszREGCRLNEXTPUBLISH TEXT("CRLNextPublish")
  90. #define wszREGCRLPERIODSTRING TEXT("CRLPeriod")
  91. #define wszREGCRLPERIODCOUNT TEXT("CRLPeriodUnits")
  92. #define wszREGCRLOVERLAPPERIODSTRING TEXT("CRLOverlapPeriod")
  93. #define wszREGCRLOVERLAPPERIODCOUNT TEXT("CRLOverlapUnits")
  94. #define wszREGCRLDELTANEXTPUBLISH TEXT("CRLDeltaNextPublish")
  95. #define wszREGCRLDELTAPERIODSTRING TEXT("CRLDeltaPeriod")
  96. #define wszREGCRLDELTAPERIODCOUNT TEXT("CRLDeltaPeriodUnits")
  97. #define wszREGCRLDELTAOVERLAPPERIODSTRING TEXT("CRLDeltaOverlapPeriod")
  98. #define wszREGCRLDELTAOVERLAPPERIODCOUNT TEXT("CRLDeltaOverlapUnits")
  99. #define wszREGCRLPUBLICATIONURLS TEXT("CRLPublicationURLs")
  100. #define wszREGCACERTPUBLICATIONURLS TEXT("CACertPublicationURLs")
  101. #define wszREGCAXCHGVALIDITYPERIODSTRING TEXT("CAXchgValidityPeriod")
  102. #define wszREGCAXCHGVALIDITYPERIODCOUNT TEXT("CAXchgValidityPeriodUnits")
  103. #define wszREGCAXCHGOVERLAPPERIODSTRING TEXT("CAXchgOverlapPeriod")
  104. #define wszREGCAXCHGOVERLAPPERIODCOUNT TEXT("CAXchgOverlapPeriodUnits")
  105. #define wszREGCRLPATH_OLD TEXT("CRLPath")
  106. #define wszREGCRLEDITFLAGS TEXT("CRLEditFlags")
  107. #define wszREGCRLFLAGS TEXT("CRLFlags")
  108. #define wszREGCRLATTEMPTREPUBLISH TEXT("CRLAttemptRepublish")
  109. #define wszREGENABLED TEXT("Enabled")
  110. #define wszREGFORCETELETEX TEXT("ForceTeletex")
  111. #define wszREGLOGLEVEL TEXT("LogLevel")
  112. #define wszREGHIGHSERIAL TEXT("HighSerial")
  113. #define wszREGPOLICYFLAGS TEXT("PolicyFlags")
  114. #define wszREGNAMESEPARATOR TEXT("SubjectNameSeparator")
  115. #define wszREGSUBJECTTEMPLATE TEXT("SubjectTemplate")
  116. #define wszREGCAUSEDS TEXT("UseDS")
  117. #define wszREGVALIDITYPERIODSTRING TEXT("ValidityPeriod")
  118. #define wszREGVALIDITYPERIODCOUNT TEXT("ValidityPeriodUnits")
  119. #define wszREGPARENTCAMACHINE TEXT("ParentCAMachine")
  120. #define wszREGPARENTCANAME TEXT("ParentCAName")
  121. #define wszREGREQUESTFILENAME TEXT("RequestFileName")
  122. #define wszREGREQUESTID TEXT("RequestId")
  123. #define wszREGREQUESTKEYCONTAINER TEXT("RequestKeyContainer")
  124. #define wszREGREQUESTKEYINDEX TEXT("RequestKeyIndex")
  125. #define wszREGCASERVERNAME TEXT("CAServerName")
  126. #define wszREGCACERTFILENAME TEXT("CACertFileName")
  127. #define wszREGCASECURITY TEXT("Security")
  128. #define wszREGAUDITFILTER TEXT("AuditFilter")
  129. #define wszREGOFFICERRIGHTS TEXT("OfficerRights")
  130. #define wszREGMAXINCOMINGMESSAGESIZE TEXT("MaxIncomingMessageSize")
  131. #define wszREGROLESEPARATIONENABLED TEXT("RoleSeparationEnabled")
  132. #define wszREGSETUPSTATUS TEXT("SetupStatus")
  133. #define wszLOCKICERTREQUEST TEXT("LockICertRequest")
  134. #define wszREGDSCONFIGDN TEXT("DSConfigDN")
  135. #define wszREGDSDOMAINDN TEXT("DSDomainDN")
  136. #define wszPFXFILENAMEEXT TEXT(".p12")
  137. #define wszDATFILENAMEEXT TEXT(".dat")
  138. #define wszLOGFILENAMEEXT TEXT(".log")
  139. #define wszPATFILENAMEEXT TEXT(".pat")
  140. #define wszDBFILENAMEEXT TEXT(".edb")
  141. #define szDBBASENAMEPARM "edb"
  142. #define wszDBBASENAMEPARM TEXT(szDBBASENAMEPARM)
  143. #define wszLOGPATH TEXT("CertLog")
  144. #define wszDBBACKUPSUBDIR TEXT("DataBase")
  145. #define wszDBBACKUPCERTBACKDAT TEXT("certbkxp.dat")
  146. #ifndef __ENUM_CATYPES__
  147. #define __ENUM_CATYPES__
  148. // Values for wszREGCATYPE:
  149. typedef enum {
  150. ENUM_ENTERPRISE_ROOTCA = 0,
  151. ENUM_ENTERPRISE_SUBCA = 1,
  152. //ENUM_UNUSED2 = 2,
  153. ENUM_STANDALONE_ROOTCA = 3,
  154. ENUM_STANDALONE_SUBCA = 4,
  155. ENUM_UNKNOWN_CA = 5,
  156. } ENUM_CATYPES;
  157. #endif __ENUM_CATYPES__
  158. // Default value for wszREGCLOCKSKEWMINUTES
  159. #define CCLOCKSKEWMINUTESDEFAULT 10
  160. // Default validity period for ROOT CA certs:
  161. #define dwVALIDITYPERIODCOUNTDEFAULT_ROOT 5
  162. // Default validity periods for certs issued by a CA:
  163. #define dwVALIDITYPERIODCOUNTDEFAULT_ENTERPRISE 2
  164. #define dwVALIDITYPERIODCOUNTDEFAULT_STANDALONE 1
  165. #define dwVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_YEARS
  166. #define wszVALIDITYPERIODSTRINGDEFAULT wszPERIODYEARS
  167. #define dwCAXCHGVALIDITYPERIODCOUNTDEFAULT 1
  168. #define dwCAXCHGVALIDITYPERIODENUMDEFAULT ENUM_PERIOD_WEEKS
  169. #define wszCAXCHGVALIDITYPERIODSTRINGDEFAULT wszPERIODWEEKS
  170. #define dwCAXCHGOVERLAPPERIODCOUNTDEFAULT 1
  171. #define dwCAXCHGOVERLAPPERIODENUMDEFAULT ENUM_PERIOD_DAYS
  172. #define wszCAXCHGOVERLAPPERIODSTRINGDEFAULT wszPERIODDAYS
  173. #define dwCRLPERIODCOUNTDEFAULT 1
  174. #define wszCRLPERIODSTRINGDEFAULT wszPERIODWEEKS
  175. #define dwCRLOVERLAPPERIODCOUNTDEFAULT 0 // 0 --> disabled
  176. #define wszCRLOVERLAPPERIODSTRINGDEFAULT wszPERIODHOURS
  177. #define dwCRLDELTAPERIODCOUNTDEFAULT 1
  178. #define wszCRLDELTAPERIODSTRINGDEFAULT wszPERIODDAYS
  179. #define dwCRLDELTAOVERLAPPERIODCOUNTDEFAULT 0 // 0 --> disabled
  180. #define wszCRLDELTAOVERLAPPERIODSTRINGDEFAULT wszPERIODMINUTES
  181. // Values for wszREGLOGLEVEL:
  182. #define CERTLOG_MINIMAL (DWORD) 0
  183. #define CERTLOG_TERSE (DWORD) 1
  184. #define CERTLOG_ERROR (DWORD) 2
  185. #define CERTLOG_WARNING (DWORD) 3
  186. #define CERTLOG_VERBOSE (DWORD) 4
  187. // Values for wszREGSETUPSTATUS:
  188. #define SETUP_SERVER_FLAG 0x00000001 // server installed
  189. #define SETUP_CLIENT_FLAG 0x00000002 // client installed
  190. #define SETUP_SUSPEND_FLAG 0x00000004 // incomplete install
  191. #define SETUP_REQUEST_FLAG 0x00000008 // new cert requested
  192. #define SETUP_ONLINE_FLAG 0x00000010 // requested online
  193. #define SETUP_DENIED_FLAG 0x00000020 // request denied
  194. #define SETUP_CREATEDB_FLAG 0x00000040 // create new DB
  195. #define SETUP_ATTEMPT_VROOT_CREATE 0x00000080 // try to create vroots
  196. #define SETUP_FORCECRL_FLAG 0x00000100 // force new CRL(s)
  197. #define SETUP_UPDATE_CAOBJECT_SVRTYPE 0x00000200 // add server type to CA DS object "flags" attr
  198. #define SETUP_SERVER_UPGRADED_FLAG 0x00000400 // server was upgraded
  199. #define SETUP_W2K_SECURITY_NOT_UPGRADED_FLAG 0x00000800 // still need to upgrade security
  200. // Values for wszREGCRLFLAGS:
  201. #define CRLF_DELTA_USE_OLDEST_UNEXPIRED_BASE 0x00000001 // use oldest base:
  202. // else use newest base CRL that satisfies base CRL propagation delay
  203. #define CRLF_DELETE_EXPIRED_CRLS 0x00000002
  204. #define CRLF_CRLNUMBER_CRITICAL 0x00000004
  205. #define CRLF_REVCHECK_IGNORE_OFFLINE 0x00000008
  206. #define CRLF_IGNORE_INVALID_POLICIES 0x00000010
  207. #define CRLF_REBUILD_MODIFIED_SUBJECT_ONLY 0x00000020
  208. #define CRLF_SAVE_FAILED_CERTS 0x00000040
  209. #define CRLF_IGNORE_UNKNOWN_CMC_ATTRIBUTES 0x00000080
  210. #define CRLF_ACCEPT_OLDRFC_CMC 0x00000100
  211. #define CRLF_PUBLISH_EXPIRED_CERT_CRLS 0x00000200
  212. // Values for wszREGKRAFLAGS:
  213. #define KRAF_ENABLEFOREIGN 0x00000001 // allow foreign cert, key archival
  214. #define KRAF_SAVEBADREQUESTKEY 0x00000002 // save failed request w/archived key
  215. // Values for numeric prefixes for
  216. // wszREGCRLPUBLICATIONURLS and wszREGCACERTPUBLICATIONURLS:
  217. //
  218. // URL publication template Flags values, encoded as a decimal prefix for URL
  219. // publication templates in the registry:
  220. // "1:c:\winnt\System32\CertSrv\CertEnroll\MyCA.crl"
  221. // "2:http:\//MyServer.MyDomain.com/CertEnroll\MyCA.crl"
  222. #define CSURL_SERVERPUBLISH 0x00000001
  223. #define CSURL_ADDTOCERTCDP 0x00000002
  224. #define CSURL_ADDTOFRESHESTCRL 0x00000004
  225. #define CSURL_ADDTOCRLCDP 0x00000008
  226. #define CSURL_PUBLISHRETRY 0x00000010
  227. #define CSURL_ADDTOCERTOCSP 0x00000020
  228. // end_certsrv
  229. // Initialization internal definitions -- not written to the registry:
  230. #define CSURL_ADDSYSTEM32DIR 0x20000000
  231. #define CSURL_NODS 0x40000000
  232. #define CSURL_DSONLY 0x80000000
  233. #define CSURL_INITMASK 0xf0000000
  234. // begin_certsrv
  235. //======================================================================
  236. // Keys Under "CertSvc\Configuration\<CAName>":
  237. #define wszREGKEYCSP TEXT("CSP")
  238. #define wszREGKEYENCRYPTIONCSP TEXT("EncryptionCSP")
  239. #define wszREGKEYEXITMODULES TEXT("ExitModules")
  240. #define wszREGKEYPOLICYMODULES TEXT("PolicyModules")
  241. #define wszSECUREDATTRIBUTES TEXT("SignedAttributes")
  242. #define wszzDEFAULTSIGNEDATTRIBUTES TEXT("RequesterName\0")
  243. //======================================================================
  244. // Values Under "CertSvc\Configuration\RestoreInProgress":
  245. #define wszREGBACKUPLOGDIRECTORY TEXT("BackupLogDirectory")
  246. #define wszREGCHECKPOINTFILE TEXT("CheckPointFile")
  247. #define wszREGHIGHLOGNUMBER TEXT("HighLogNumber")
  248. #define wszREGLOWLOGNUMBER TEXT("LowLogNumber")
  249. #define wszREGLOGPATH TEXT("LogPath")
  250. #define wszREGRESTOREMAPCOUNT TEXT("RestoreMapCount")
  251. #define wszREGRESTOREMAP TEXT("RestoreMap")
  252. #define wszREGDATABASERECOVERED TEXT("DatabaseRecovered")
  253. #define wszREGRESTORESTATUS TEXT("RestoreStatus")
  254. // values under \Configuration\PolicyModules in nt5 beta 2
  255. #define wszREGB2ICERTMANAGEMODULE TEXT("ICertManageModule")
  256. // values under \Configuration in nt4 sp4
  257. #define wszREGSP4DEFAULTCONFIGURATION TEXT("DefaultConfiguration")
  258. // values under ca in nt4 sp4
  259. #define wszREGSP4KEYSETNAME TEXT("KeySetName")
  260. #define wszREGSP4SUBJECTNAMESEPARATOR TEXT("SubjectNameSeparator")
  261. #define wszREGSP4NAMES TEXT("Names")
  262. #define wszREGSP4QUERIES TEXT("Queries")
  263. // both nt4 sp4 and nt5 beta 2
  264. #define wszREGNETSCAPECERTTYPE TEXT("NetscapeCertType")
  265. #define wszNETSCAPEREVOCATIONTYPE TEXT("Netscape")
  266. // end_certsrv
  267. // CSPs
  268. #define wszBASECSP MS_STRONG_PROV_W
  269. #define wszENHCSP TEXT("Microsoft Enhanced Cryptographic Provider v1.0")
  270. #define wszMITVCSP TEXT("MITV Smart Card Crypto Provider V0.2")
  271. #define wszBBNCSP TEXT("BBN SafeKeyer Crypto Provider V0.1")
  272. #define wszSLBCSP TEXT("Schlumberger Cryptographic Service Provider v0.1")
  273. #define wszSLBCSP2 TEXT("Schlumberger Cryptographic Service Provider")
  274. #define wszGEMPLUS TEXT("Gemplus GemPASS Card CSP v1.0")
  275. #define wszGEMPLUS2 TEXT("Gemplus GemSAFE Card CSP v1.0")
  276. #define wszDDSCSP TEXT("Microsoft Base DSS Cryptographic Provider")
  277. // Hash Algorithms
  278. #define wszHashMD5 TEXT("MD5")
  279. #define wszHashMD4 TEXT("MD4")
  280. #define wszHashMD2 TEXT("MD2")
  281. #define wszHashSHA1 TEXT("SHA-1")
  282. // begin_certsrv
  283. //======================================================================
  284. // Values Under "CertSvc\Configuration\<CAName>\CSP":
  285. // and "CertSvc\Configuration\<CAName>\EncryptionCSP":
  286. #define wszREGPROVIDERTYPE TEXT("ProviderType")
  287. #define wszREGPROVIDER TEXT("Provider")
  288. #define wszHASHALGORITHM TEXT("HashAlgorithm")
  289. #define wszENCRYPTIONALGORITHM TEXT("EncryptionAlgorithm")
  290. #define wszMACHINEKEYSET TEXT("MachineKeyset")
  291. #define wszREGKEYSIZE TEXT("KeySize")
  292. //======================================================================
  293. // Value strings for "CertSvc\Configuration\<CAName>\SubjectNameSeparator":
  294. #define szNAMESEPARATORDEFAULT "\n"
  295. #define wszNAMESEPARATORDEFAULT TEXT(szNAMESEPARATORDEFAULT)
  296. //======================================================================
  297. // Value strings for "CertSvc\Configuration\<CAName>\ValidityPeriod", etc.:
  298. #define wszPERIODYEARS TEXT("Years")
  299. #define wszPERIODMONTHS TEXT("Months")
  300. #define wszPERIODWEEKS TEXT("Weeks")
  301. #define wszPERIODDAYS TEXT("Days")
  302. #define wszPERIODHOURS TEXT("Hours")
  303. #define wszPERIODMINUTES TEXT("Minutes")
  304. #define wszPERIODSECONDS TEXT("Seconds")
  305. //======================================================================
  306. // Values Under "CertSvc\Configuration\<CAName>\PolicyModules\<ProgId>":
  307. #define wszREGISSUERCERTURLFLAGS TEXT("IssuerCertURLFlags")
  308. #define wszREGEDITFLAGS TEXT("EditFlags")
  309. #define wszREGSUBJECTALTNAME TEXT("SubjectAltName")
  310. #define wszREGSUBJECTALTNAME2 TEXT("SubjectAltName2")
  311. #define wszREGREQUESTDISPOSITION TEXT("RequestDisposition")
  312. #define wszREGCAPATHLENGTH TEXT("CAPathLength")
  313. #define wszREGREVOCATIONTYPE TEXT("RevocationType")
  314. #define wszREGLDAPREVOCATIONCRLURL_OLD TEXT("LDAPRevocationCRLURL")
  315. #define wszREGREVOCATIONCRLURL_OLD TEXT("RevocationCRLURL")
  316. #define wszREGFTPREVOCATIONCRLURL_OLD TEXT("FTPRevocationCRLURL")
  317. #define wszREGFILEREVOCATIONCRLURL_OLD TEXT("FileRevocationCRLURL")
  318. #define wszREGREVOCATIONURL TEXT("RevocationURL")
  319. #define wszREGLDAPISSUERCERTURL_OLD TEXT("LDAPIssuerCertURL")
  320. #define wszREGISSUERCERTURL_OLD TEXT("IssuerCertURL")
  321. #define wszREGFTPISSUERCERTURL_OLD TEXT("FTPIssuerCertURL")
  322. #define wszREGFILEISSUERCERTURL_OLD TEXT("FileIssuerCertURL")
  323. #define wszREGENABLEREQUESTEXTENSIONLIST TEXT("EnableRequestExtensionList")
  324. #define wszREGDISABLEEXTENSIONLIST TEXT("DisableExtensionList")
  325. #define wszREGDEFAULTSMIME TEXT("DefaultSMIME")
  326. // wszREGCAPATHLENGTH Values:
  327. #define CAPATHLENGTH_INFINITE 0xffffffff
  328. // wszREGREQUESTDISPOSITION Values:
  329. #define REQDISP_PENDING 0x00000000
  330. #define REQDISP_ISSUE 0x00000001
  331. #define REQDISP_DENY 0x00000002
  332. #define REQDISP_USEREQUESTATTRIBUTE 0x00000003
  333. #define REQDISP_MASK 0x000000ff
  334. #define REQDISP_PENDINGFIRST 0x00000100
  335. #define REQDISP_DEFAULT_STANDALONE (REQDISP_PENDINGFIRST | REQDISP_ISSUE)
  336. #define REQDISP_DEFAULT_ENTERPRISE (REQDISP_ISSUE)
  337. // wszREGREVOCATIONTYPE Values:
  338. #define REVEXT_CDPLDAPURL_OLD 0x00000001
  339. #define REVEXT_CDPHTTPURL_OLD 0x00000002
  340. #define REVEXT_CDPFTPURL_OLD 0x00000004
  341. #define REVEXT_CDPFILEURL_OLD 0x00000008
  342. #define REVEXT_CDPURLMASK_OLD 0x000000ff
  343. #define REVEXT_CDPENABLE 0x00000100
  344. #define REVEXT_ASPENABLE 0x00000200
  345. #define REVEXT_DEFAULT_NODS (REVEXT_CDPENABLE)
  346. #define REVEXT_DEFAULT_DS (REVEXT_CDPENABLE)
  347. // wszREGISSUERCERTURLFLAGS Values:
  348. #define ISSCERT_LDAPURL_OLD 0x00000001
  349. #define ISSCERT_HTTPURL_OLD 0x00000002
  350. #define ISSCERT_FTPURL_OLD 0x00000004
  351. #define ISSCERT_FILEURL_OLD 0x00000008
  352. #define ISSCERT_URLMASK_OLD 0x000000ff
  353. #define ISSCERT_ENABLE 0x00000100
  354. #define ISSCERT_DEFAULT_NODS (ISSCERT_ENABLE)
  355. #define ISSCERT_DEFAULT_DS (ISSCERT_ENABLE)
  356. // wszREGEDITFLAGS Values: Defaults:
  357. // Under CA key: wszREGCRLEDITFLAGS Values (EDITF_ENABLEAKI* only):
  358. #define EDITF_ENABLEREQUESTEXTENSIONS 0x00000001 // neither
  359. #define EDITF_REQUESTEXTENSIONLIST 0x00000002 // Standalone
  360. #define EDITF_DISABLEEXTENSIONLIST 0x00000004 // both
  361. #define EDITF_ADDOLDKEYUSAGE 0x00000008 // both
  362. #define EDITF_ADDOLDCERTTYPE 0x00000010 // neither
  363. #define EDITF_ATTRIBUTEENDDATE 0x00000020 // Standalone
  364. #define EDITF_BASICCONSTRAINTSCRITICAL 0x00000040 // Standalone
  365. #define EDITF_BASICCONSTRAINTSCA 0x00000080 // Standalone
  366. #define EDITF_ENABLEAKIKEYID 0x00000100 // both
  367. #define EDITF_ATTRIBUTECA 0x00000200 // Standalone
  368. #define EDITF_IGNOREREQUESTERGROUP 0x00000400 // Standalone
  369. #define EDITF_ENABLEAKIISSUERNAME 0x00000800 // both
  370. #define EDITF_ENABLEAKIISSUERSERIAL 0x00001000 // both
  371. #define EDITF_ENABLEAKICRITICAL 0x00002000 // both
  372. #define EDITF_SERVERUPGRADED 0x00004000 // neither
  373. #define EDITF_ATTRIBUTEEKU 0x00008000 // Standalone
  374. #define EDITF_ENABLEDEFAULTSMIME 0x00010000 // Enterprise
  375. #define EDITF_DEFAULT_STANDALONE (EDITF_REQUESTEXTENSIONLIST | \
  376. EDITF_DISABLEEXTENSIONLIST | \
  377. EDITF_ADDOLDKEYUSAGE | \
  378. EDITF_ATTRIBUTEENDDATE | \
  379. EDITF_BASICCONSTRAINTSCRITICAL | \
  380. EDITF_BASICCONSTRAINTSCA | \
  381. EDITF_ENABLEAKIKEYID | \
  382. EDITF_ATTRIBUTECA | \
  383. EDITF_ATTRIBUTEEKU)
  384. #define EDITF_DEFAULT_ENTERPRISE (EDITF_REQUESTEXTENSIONLIST | \
  385. EDITF_DISABLEEXTENSIONLIST | \
  386. EDITF_BASICCONSTRAINTSCRITICAL | \
  387. EDITF_ENABLEAKIKEYID | \
  388. EDITF_ADDOLDKEYUSAGE | \
  389. EDITF_ENABLEDEFAULTSMIME)
  390. //======================================================================
  391. // Values Under "CertSvc\Configuration\<CAName>\ExitModules\<ProgId>":
  392. // LDAP based CRL and URL issuance
  393. #define wszREGLDAPREVOCATIONDN_OLD TEXT("LDAPRevocationDN")
  394. #define wszREGLDAPREVOCATIONDNTEMPLATE_OLD TEXT("LDAPRevocationDNTemplate")
  395. #define wszCRLPUBLISHRETRYCOUNT TEXT("CRLPublishRetryCount")
  396. #define wszREGCERTPUBLISHFLAGS TEXT("PublishCertFlags")
  397. // wszREGCERTPUBLISHFLAGS Values:
  398. #define EXITPUB_FILE 0x00000001
  399. #define EXITPUB_ACTIVEDIRECTORY 0x00000002
  400. #define EXITPUB_EMAILNOTIFYALL 0x00000004
  401. #define EXITPUB_EMAILNOTIFYSMARTCARD 0x00000008
  402. #define EXITPUB_REMOVEOLDCERTS 0x00000010
  403. #define EXITPUB_DEFAULT_ENTERPRISE EXITPUB_ACTIVEDIRECTORY
  404. #define EXITPUB_DEFAULT_STANDALONE EXITPUB_FILE
  405. // end_certsrv
  406. //======================================================================
  407. // KeysNotToRestore Registry Key:
  408. #define wszREGKEYKEYSNOTTORESTORE TEXT("SYSTEM\\CurrentControlSet\\Control\\BackupRestore\\KeysNotToRestore")
  409. // Certificate Authority = REG_MULTI_SZ "CurrentControlSet\Control\Services\CertSvc\Configuration\RestoreInProgress\\0"
  410. #define wszREGRESTORECERTIFICATEAUTHORITY TEXT("Certificate Authority")
  411. #define wszzREGVALUERESTORECERTIFICATEAUTHORITY \
  412. wszREGKEYNOSYSTEMCERTSVCPATH \
  413. TEXT("\\") \
  414. wszREGKEYCONFIG \
  415. TEXT("\\") \
  416. wszREGKEYRESTOREINPROGRESS \
  417. TEXT("\\\0")
  418. //======================================================================
  419. // FilesNotToRestore Registry Key:
  420. #define wszREGKEYFILESNOTTOBACKUP TEXT("SYSTEM\\CurrentControlSet\\Control\\BackupRestore\\FilesNotToBackup")
  421. // Certificate Authority = REG_MULTI_SZ DBFile DBLogDir DBSysDir DBTempDir
  422. //#define wszREGRESTORECERTIFICATEAUTHORITY TEXT("Certificate Authority")
  423. //======================================================================
  424. // Key Manager Base Registry Key, value name and value string:
  425. #define wszREGKEYKEYRING TEXT("SOFTWARE\\Microsoft\\KeyRing\\Parameters\\Certificate Authorities\\Microsoft Certificate Server")
  426. #define wszREGCERTGETCONFIG TEXT("CertGetConfig")
  427. #define wszREGCERTREQUEST TEXT("CertRequest")
  428. // begin_certsrv
  429. #define wszCLASS_CERTADMIN TEXT("CertificateAuthority.Admin")
  430. #define wszCLASS_CERTCONFIG TEXT("CertificateAuthority.Config")
  431. #define wszCLASS_CERTGETCONFIG TEXT("CertificateAuthority.GetConfig")
  432. #define wszCLASS_CERTENCODE TEXT("CertificateAuthority.Encode")
  433. #define wszCLASS_CERTDB TEXT("CertificateAuthority.DB") // no_certsrv
  434. #define wszCLASS_CERTDBRESTORE TEXT("CertificateAuthority.DBRestore") // no_certsrv
  435. #define wszCLASS_CERTREQUEST TEXT("CertificateAuthority.Request")
  436. #define wszCLASS_CERTSERVEREXIT TEXT("CertificateAuthority.ServerExit")
  437. #define wszCLASS_CERTSERVERPOLICY TEXT("CertificateAuthority.ServerPolicy")
  438. #define wszCLASS_CERTVIEW TEXT("CertificateAuthority.View")
  439. // class name templates
  440. #define wszMICROSOFTCERTMODULE_PREFIX TEXT("CertificateAuthority_MicrosoftDefault")
  441. #define wszCERTEXITMODULE_POSTFIX TEXT(".Exit")
  442. #define wszCERTMANAGEEXIT_POSTFIX TEXT(".ExitManage")
  443. #define wszCERTPOLICYMODULE_POSTFIX TEXT(".Policy")
  444. #define wszCERTMANAGEPOLICY_POSTFIX TEXT(".PolicyManage")
  445. // actual policy/exit manage class names
  446. #define wszCLASS_CERTMANAGEEXITMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEEXIT_POSTFIX
  447. #define wszCLASS_CERTMANAGEPOLICYMODULE wszMICROSOFTCERTMODULE_PREFIX wszCERTMANAGEPOLICY_POSTFIX
  448. // actual policy/exit class names
  449. #define wszCLASS_CERTEXIT wszMICROSOFTCERTMODULE_PREFIX wszCERTEXITMODULE_POSTFIX
  450. #define wszCLASS_CERTPOLICY wszMICROSOFTCERTMODULE_PREFIX wszCERTPOLICYMODULE_POSTFIX
  451. #define wszCAPOLICYFILE L"CAPolicy.inf"
  452. #define wszINFSECTION_CDP L"CRLDistributionPoint"
  453. #define wszINFSECTION_AIA L"AuthorityInformationAccess"
  454. #define wszINFSECTION_EKU L"EnhancedKeyUsageExtension"
  455. #define wszINFSECTION_CCDP L"CrossCertificateDistributionPointsExtension"
  456. #define wszINFSECTION_CERTSERVER L"certsrv_server"
  457. #define wszINFKEY_RENEWALKEYLENGTH L"RenewalKeyLength"
  458. #define wszINFKEY_RENEWALVALIDITYPERIODSTRING L"RenewalValidityPeriod"
  459. #define wszINFKEY_RENEWALVALIDITYPERIODCOUNT L"RenewalValidityPeriodUnits"
  460. #define wszINFKEY_UTF8 L"UTF8"
  461. #define wszINFKEY_CRLPERIODSTRING wszREGCRLPERIODSTRING
  462. #define wszINFKEY_CRLPERIODCOUNT wszREGCRLPERIODCOUNT
  463. #define wszINFKEY_CRLDELTAPERIODSTRING wszREGCRLDELTAPERIODSTRING
  464. #define wszINFKEY_CRLDELTAPERIODCOUNT wszREGCRLDELTAPERIODCOUNT
  465. #define wszINFKEY_CRITICAL L"Critical"
  466. #define wszINFKEY_EMPTY L"Empty"
  467. #define wszINFKEY_CCDPSYNCDELTATIME L"SyncDeltaTime"
  468. #define wszINFSECTION_CAPOLICY L"CAPolicy"
  469. #define wszINFSECTION_POLICYSTATEMENT L"PolicyStatementExtension"
  470. #define wszINFSECTION_APPLICATIONPOLICYSTATEMENT L"ApplicationPolicyStatementExtension"
  471. #define wszINFKEY_POLICIES L"Policies"
  472. #define wszINFKEY_OID L"OID"
  473. #define wszINFKEY_NOTICE L"Notice"
  474. #define wszINFSECTION_REQUESTATTRIBUTES L"RequestAttributes"
  475. #define wszINFSECTION_NAMECONSTRAINTS L"NameConstraintsExtension"
  476. #define wszINFKEY_INCLUDE L"Include"
  477. #define wszINFKEY_EXCLUDE L"Exclude"
  478. #define wszINFKEY_UPN L"UPN"
  479. #define wszINFKEY_EMAIL L"EMail"
  480. #define wszINFKEY_DNS L"DNS"
  481. #define wszINFKEY_DIRECTORYNAME L"DirectoryName"
  482. #define wszINFKEY_URL L"URL"
  483. #define wszINFKEY_IPADDRESS L"IPAddress"
  484. #define wszINFKEY_REGISTEREDID L"RegisteredId"
  485. #define wszINFSECTION_POLICYMAPPINGS L"PolicyMappingsExtension"
  486. #define wszINFSECTION_APPLICATIONPOLICYMAPPINGS L"ApplicationPolicyMappingsExtension"
  487. #define wszINFSECTION_POLICYCONSTRAINTS L"PolicyConstraintsExtension"
  488. #define wszINFSECTION_APPLICATIONPOLICYCONSTRAINTS L"ApplicationPolicyConstraintsExtension"
  489. #define wszINFKEY_REQUIREEXPLICITPOLICY L"RequireExplicitPolicy"
  490. #define wszINFKEY_INHIBITPOLICYMAPPING L"InhibitPolicyMapping"
  491. #define wszINFSECTION_BASICCONSTRAINTS L"BasicConstraintsExtension"
  492. #define wszINFKEY_PATHLENGTH L"PathLength"
  493. // exit module mail support
  494. #define wszREGEXITSMTPKEY L"SMTP"
  495. #define wszREGEXITSMTPFROM L"From"
  496. #define wszREGEXITSMTPCC L"CC"
  497. #define wszREGEXITSMTPSUBJECT L"Subject"
  498. // end_certsrv
  499. // begin CertSrv MMC Snapin
  500. #define wszREGKEYMGMT L"Software\\Microsoft\\MMC"
  501. #define wszREGKEYMGMTSNAPIN wszREGKEYMGMT L"\\SnapIns"
  502. #define wszREGKEYMGMTNODETYPES wszREGKEYMGMT L"\\NodeTypes"
  503. #define wszSNAPINNAMESTRING L"NameString"
  504. #define wszSNAPINNAMESTRINGINDIRECT L"NameStringIndirect"
  505. #define wszSNAPINABOUT L"About"
  506. #define wszSNAPINSTANDALONE L"StandAlone"
  507. #define wszSNAPINNODETYPES L"NodeTypes"
  508. #define wszSNAPINEXTENSIONS L"Extensions"
  509. #define wszSNAPINNAMESPACE L"NameSpace"
  510. #define wszSNAPINPROPERTYSHEET L"PropertySheet"
  511. #define wszSNAPINNAMESTRINGINDIRECT_TEMPLATE L"@%s,-%d" // "@dllname, -<resource id>"
  512. // main snapin uuid
  513. #define wszSNAPINNODETYPE_UUID1 L"{de751566-4cc6-11d1-8ca0-00c04fc297eb}"
  514. #define wszREGKEYMGMTSNAPINUUID1 wszREGKEYMGMTSNAPIN L"\\" wszSNAPINNODETYPE_UUID1
  515. #define wszSNAPINNODETYPE_ABOUT L"{4653e860-4cc7-11d1-8ca0-00c04fc297eb}"
  516. #define wszREGKEYMGMTSNAPINUUID1_STANDALONE wszREGKEYMGMTSNAPINUUID1 L"\\" wszSNAPINSTANDALONE
  517. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES wszREGKEYMGMTSNAPINUUID1 L"\\" wszSNAPINNODETYPES
  518. #define wszSNAPINNODETYPE_1 L"{89b31b94-4cc7-11d1-8ca0-00c04fc297eb}" // cNODETYPEMACHINEINSTANCE
  519. #define wszSNAPINNODETYPE_2 L"{5d972ee4-7576-11d1-8cbe-00c04fc297eb}" // cNODETYPESERVERINSTANCE
  520. #define wszSNAPINNODETYPE_3 L"{5946E36C-757C-11d1-8CBE-00C04FC297EB}" // cNODETYPECRLPUBLICATION
  521. #define wszSNAPINNODETYPE_4 L"{783E4E5F-757C-11d1-8CBE-00C04FC297EB}" // cNODETYPEISSUEDCERTS
  522. #define wszSNAPINNODETYPE_5 L"{783E4E63-757C-11d1-8CBE-00C04FC297EB}" // cNODETYPEPENDINGCERTS
  523. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES_1 wszREGKEYMGMTSNAPINUUID1_NODETYPES L"\\" wszSNAPINNODETYPE_1
  524. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES_2 wszREGKEYMGMTSNAPINUUID1_NODETYPES L"\\" wszSNAPINNODETYPE_2
  525. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES_3 wszREGKEYMGMTSNAPINUUID1_NODETYPES L"\\" wszSNAPINNODETYPE_3
  526. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES_4 wszREGKEYMGMTSNAPINUUID1_NODETYPES L"\\" wszSNAPINNODETYPE_4
  527. #define wszREGKEYMGMTSNAPINUUID1_NODETYPES_5 wszREGKEYMGMTSNAPINUUID1_NODETYPES L"\\" wszSNAPINNODETYPE_5
  528. // register snapin nodetypes
  529. #define wszREGKEYMGMTSNAPIN_NODETYPES_1 wszREGKEYMGMTNODETYPES L"\\" wszSNAPINNODETYPE_1
  530. #define wszREGKEYMGMTSNAPIN_NODETYPES_2 wszREGKEYMGMTNODETYPES L"\\" wszSNAPINNODETYPE_2
  531. #define wszREGKEYMGMTSNAPIN_NODETYPES_3 wszREGKEYMGMTNODETYPES L"\\" wszSNAPINNODETYPE_3
  532. #define wszREGKEYMGMTSNAPIN_NODETYPES_4 wszREGKEYMGMTNODETYPES L"\\" wszSNAPINNODETYPE_4
  533. #define wszREGKEYMGMTSNAPIN_NODETYPES_5 wszREGKEYMGMTNODETYPES L"\\" wszSNAPINNODETYPE_5
  534. #define wszREGCERTSNAPIN_NODETYPES_1 L"CertSvr MMC Machine Instance"
  535. #define wszREGCERTSNAPIN_NODETYPES_2 L"CertSvr MMC Server Instance"
  536. #define wszREGCERTSNAPIN_NODETYPES_3 L"CertSvr MMC CRL Publication"
  537. #define wszREGCERTSNAPIN_NODETYPES_4 L"CertSvr MMC Issued Certificates"
  538. #define wszREGCERTSNAPIN_NODETYPES_5 L"CertSvr MMC Pending Certificates"
  539. // restore through ini file
  540. #define wszRESTORE_FILENAME L"CertsrvRestore"
  541. #define wszRESTORE_SECTION L"Restore"
  542. #define wszRESTORE_NEWLOGSUFFIX L"New"
  543. #endif // __CSREGSTR_H__