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); }