示例#1
0
        public async Task ExportCertAsync(string password)
        {
            var topDomain = await GetTopDomainAsync();

            var cert = await OrderContext.Download();

            //pem证书
            File.WriteAllText(Path.Combine(_workDir, $"{topDomain}-{FreeCertConsts.CertPemName}"), cert.ToPem(),
                              Encoding.UTF8);

            var privateKey = File.ReadAllText(Path.Combine(_workDir, $"{topDomain}-{FreeCertConsts.CertPemPrivateKeyName}"),
                                              Encoding.UTF8);

            //pfx证书
            var pfxBuilder = cert.ToPfx(KeyFactory.FromPem(privateKey));
            var pfx        = pfxBuilder.Build(topDomain, password);

            File.WriteAllBytes(Path.Combine(_workDir, $"{topDomain}-{FreeCertConsts.CertPfxName}"), pfx);
            File.WriteAllText(Path.Combine(_workDir, $"{topDomain}-{FreeCertConsts.CertPfxPasswordName}"), password);
        }