我一直在谷歌上搜索半天寻找一种方法来读取.pfx文件并将证书导入certstore.
到目前为止,我能够读取.pfx文件X509Certifcate并能够在文件中导入一个证书.pfx.到目前为止一切顺利,但.pfx文件中有三个证书,加载.pfx时X509Certificate,我无法看到其他两个证书.
证书已导出
*个人信息交流 - PKCS#12(.PFX)
如果可能,请在证书路径中包含所有证书
启用强大保护(需要IE 5.0,NT 4.0 SP4或更高版本)
这些是导出证书时选择的选项.我知道有三个证书,因为我手动进入certstore(MMC)并自己将其导入个人文件夹.
我有一个成功的LetsEncrypt证书请求的.cer文件输出.
我有原始私钥用于为LetsEncrypt创建证书签名请求(CSR).
现在我们需要使用.NET以编程方式将这两个文件组合成一个用于IIS的PFX包
由于我们试图以编程方式执行此操作,因此pvk2pfx不实用,如果可能,我们希望避免使用openssl.
为了演示,我们尝试复制此功能但使用CS .NET而不是pvk2pfx:pvk2pfx.exe -pvk Server.pvk -spc Server.cer -pfx Server.pfx
我已经详尽地进行了研究,以下是我看到的可能性:
一种方法似乎是使用X509Certificate2,如:
// Import the certificate
X509Certificate2 cert = new X509Certificate2("c:\\cert.cer");
// Import the private key
X509Certificate2 cert = new X509Certificate2("c:\\key.pvk");
// Or import the private key - Alternative method
X509DecryptString(token, @"c:\CA.pvk", "mypassword");
// Export the PFX file
certificate.Export(X509ContentType.Pfx, "YourPassword");
File.WriteAllBytes(@"C:\YourCert.pfx", certificateData);
Run Code Online (Sandbox Code Playgroud)
这里有一些其他的方法,但所有这些方法似乎省略了关于私钥的部分或他们需要pvk2pfx.exe
从证书文件转换为pfx文件 /sf/answers/335817471/
如何以编程方式创建X509Certificate2? http://www.wiktorzychla.com/2012/12/how-to-create-x509certificate2.html
选择,创建和查找X509证书:http: //www.wou.edu/~rvitolo06/WATK/Demos/HPCImageRendering/code/ImageRendering/AppConfigure/CertHelper.cs
无法将带有私钥的生成证书导出到字节数组 无法将带有私钥的生成证书导出到.net 4.0/4.5中的字节数组
如何以编程方式将带有证书链的pfx导入证书存储区. /sf/answers/640698691/
以C#编程方式导入.cer和.pvk证书文件,以便与https://gist.github.com/BrandonLWhite/235fa12247f6dc827051一起使用netsh http add sslcert
将cer转换为pfx证书的方法 https://gist.github.com/domgreen/988684
任何帮助非常感谢:-)
CryptoGuy建议我们需要这个链接: …