/// <summary> /// 生成证书 /// </summary> /// <returns></returns> private static bool GenericCertificate() { string savePathPrefix = Config.CertificateSaveDir; if (!savePathPrefix.EndsWith("\\") && !savePathPrefix.EndsWith("/")) { savePathPrefix += Path.DirectorySeparatorChar + Config.Domain + "_"; } try { ACMESharpUtils.GetCertificate("cert1", savePathPrefix + "key.pem", savePathPrefix + "csr.pem", savePathPrefix + "certificate.pem", savePathPrefix + "certificate.der", savePathPrefix + "issuer.pem", savePathPrefix + "issuer.der", savePathPrefix + "pkcs12.pfx", Config.PFXPassword, overwrite: true); string chinapem = savePathPrefix + "chain.pem"; if (File.Exists(chinapem)) { File.Delete(chinapem); } string content = string.Empty; content = File.ReadAllText(savePathPrefix + "certificate.pem") + "\r\n"; content += File.ReadAllText(savePathPrefix + "issuer.pem"); File.WriteAllText(chinapem, content); } catch (Exception ex) { Trace.Error("生成证书失败!~", ex); return(false); } return(true); }
public void ExportCertificate(string certRef, bool pfxOnly = false) { GetVaultPath(); if (!Directory.Exists(VaultFolderPath + "\\" + LocalDiskVault.ASSET)) { Directory.CreateDirectory(VaultFolderPath + "\\" + LocalDiskVault.ASSET); } if (certRef.StartsWith("=")) { certRef = certRef.Replace("=", ""); } if (pfxOnly) { var ExportPkcs12 = vaultFolderPath + "\\" + LocalDiskVault.ASSET + "\\" + certRef + "-all.pfx"; ACMESharpUtils.GetCertificate(certRef, ExportPkcs12: ExportPkcs12, overwrite: true); } else { var ExportKeyPEM = vaultFolderPath + "\\" + LocalDiskVault.KEYPM + "\\" + certRef + "-key.pem"; var ExportCsrPEM = vaultFolderPath + "\\" + LocalDiskVault.CSRPM + "\\" + certRef + "-csr.pem"; var ExportCertificatePEM = vaultFolderPath + "\\" + LocalDiskVault.CRTPM + "\\" + certRef + "-crt.pem"; var ExportCertificateDER = vaultFolderPath + "\\" + LocalDiskVault.CRTDR + "\\" + certRef + "-crt.der"; var ExportPkcs12 = vaultFolderPath + "\\" + LocalDiskVault.ASSET + "\\" + certRef + "-all.pfx"; ACMESharpUtils.GetCertificate( certRef, ExportKeyPEM: ExportKeyPEM, ExportCsrPEM: ExportCsrPEM, ExportCertificatePEM: ExportCertificatePEM, ExportCertificateDER: ExportCertificateDER, ExportPkcs12: ExportPkcs12, overwrite: true ); } }