Example #1
0
 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;
         }
     }
 }
Example #2
0
 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;
         }
     }
 }
Example #3
0
        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]));
            }
        }