コード例 #1
0
 public async Task <X509Certificate2> GetCertificateForSubjectAsync(string hostname)
 {
     //Console.WriteLine($"!!!! CREATING {hostname} cert");
     return(await Task.Run(() => X509CertificateFactory.IssueCertificate(
                               $"CN={hostname}", CertificateAuthorityCert, null, new [] { KeyPurposeID.IdKPServerAuth }))
            .WithoutCapturingContext());
 }
コード例 #2
0
 static CertificateProvider()
 {
     //var rootCA = X509CertificateFactory.CreateCertificateAuthorityCertificate($"CN={RootCA}", null, null);
     //X509CertificateFactory.SaveCertificateToWindowsStore(rootCA);
     Default = new CachedCertificateProvider(
         new StoredCertificateProvider(
             new BouncyCastleCertificateProvider(
                 X509CertificateFactory.LoadCertificate(RootCA))));
 }
コード例 #3
0
        public async Task <X509Certificate2> GetCertificateForSubjectAsync(string domain)
        {
            var fileName = SanityFileName(domain);

            if (File.Exists(fileName))
            {
                return(X509CertificateFactory.LoadCertificateFromFile(fileName));
            }

            var x509Certificate = await _provider.GetCertificateForSubjectAsync(domain).WithoutCapturingContext();

            x509Certificate.Save(fileName);
            return(x509Certificate);
        }