void m_initialize(CertificateAuthority certificateAuthority) { Name = certificateAuthority.Name; DisplayName = certificateAuthority.DisplayName; ComputerName = certificateAuthority.ComputerName; configString = certificateAuthority.ConfigString; version = certificateAuthority.Version; if (CryptoRegistry.Ping(ComputerName)) { CRLFlags = (CRLFlagEnum)CryptoRegistry.GetRReg("CRLFlags", Name, ComputerName); } else { if (CertificateAuthority.Ping(ComputerName)) { CRLFlags = (CRLFlagEnum)CryptoRegistry.GetRegFallback(configString, "", "CRLFlags"); } else { ServerUnavailableException e = new ServerUnavailableException(DisplayName); e.Data.Add(nameof(e.Source), (OfflineSource)3); throw e; } } }
void m_initialize(CertificateAuthority certificateAuthority) { Name = certificateAuthority.Name; DisplayName = certificateAuthority.DisplayName; ComputerName = certificateAuthority.ComputerName; configString = certificateAuthority.ConfigString; version = certificateAuthority.Version; isEnterprise = certificateAuthority.IsEnterprise; if (CryptoRegistry.Ping(ComputerName)) { activePolicyModule = (String)CryptoRegistry.GetRReg("Active", $@"{Name}\PolicyModules", ComputerName); EditFlags = (PolicyModuleFlagEnum)CryptoRegistry.GetRReg("EditFlags", $@"{Name}\PolicyModules\{activePolicyModule}", ComputerName); } else { if (CertificateAuthority.Ping(ComputerName)) { activePolicyModule = (String)CryptoRegistry.GetRegFallback(configString, "PolicyModules", "EditFlags"); EditFlags = (PolicyModuleFlagEnum)CryptoRegistry.GetRegFallback(configString, $@"PolicyModules\{activePolicyModule}", "EditFlags"); } else { ServerUnavailableException e = new ServerUnavailableException(DisplayName); e.Data.Add(nameof(e.Source), (OfflineSource)3); throw e; } } }
void m_initialize(CertificateAuthority certificateAuthority) { if (!certificateAuthority.IsEnterprise) { throw new PlatformNotSupportedException(); } version = certificateAuthority.Version; sku = certificateAuthority.Sku; configString = certificateAuthority.ConfigString; ICertPropReaderD propReader; if (certificateAuthority.PingRequest()) { propReader = new CertPropReaderD(configString, false); } else if (certificateAuthority.PingAdmin()) { propReader = new CertPropReaderD(configString, true); } else { var e = new ServerUnavailableException(certificateAuthority.DisplayName); e.Data.Add(nameof(e.Source), OfflineSource.DCOM); throw e; } Name = certificateAuthority.Name; DisplayName = certificateAuthority.DisplayName; ComputerName = certificateAuthority.ComputerName; String[,] templates = propReader.GetCaTemplates(); for (Int32 i = 0; i <= templates.GetUpperBound(0); i++) { _templates.Add(CertificateTemplate.FromCommonName(templates[i, 0])); } }