导入.p12文件中包含的所有证书

时间:2011-10-05 03:12:21

标签: c# wcf powershell x509certificate2

我的ASP.NET应用程序有一个.p12文件,可通过HTTPS连接到Web服务。

我正在尝试将.p12文件导入本地计算机/我的商店。 .p12文件包含多个证书。一个包含私钥,另一个是完成链的CA证书。

目前我正在使用`System.Security.Cryptography.X509Certificates.X509Certificate2对象的Import方法将此文件导入商店。今天我注意到CA证书没有导入,只有使用此方法导入包含私钥的主证书。在进一步审查MSDN后,我发现了有关导入方法的以下规则:

  

请注意,PFX / PKCS12证书可以包含多个证书。在这种情况下,使用与私钥关联的第一个证书,如果未找到私钥,则使用第一个证书。

有人可以向我建议另一种以编程方式导入.p12文件的方法,该文件实际上会导入文件中的所有证书吗?我正在使用 PowerShell 来执行此功能。

1 个答案:

答案 0 :(得分:3)

不使用X509Certificate2.Import方法,而是使用X509Certficate2Collection.Import方法。它将为您提供.p12文件中的所有证书。

然后,您可以将每个证书添加到其适当的商店。