2011-10-05 56 views
3

我有一個.p12文件用於我的ASP.NET應用程序通過HTTPS連接到Web服務。導入.p12文件中包含的所有證書

我正試圖將.p12文件導入本地計算機/我的商店。 .p12文件包含多個證書。一個包含私鑰,另一個包含完成該鏈的CA證書。

目前我正在使用System.Security.Cryptography.X509Certificates.X509Certificate2對象的Import方法將此文件導入存儲。今天我注意到CA證書沒有被導入,只有包含私鑰的主證書纔會被導入。在進一步查看MSDN後,我發現了有關導入方法的以下規則:

請注意,PFX/PKCS12證書可以包含多個證書。在這種情況下,使用與私鑰相關聯的第一證書,或者如果未找到私鑰,則使用第一證書。

任何人都可以向我推薦另一種方法導入.p12文件以編程方式將實際導入文件中的所有證書?我正在使用PowerShell來執行此功能。

+0

你能更準確地做你想做的事情嗎?您的.P12文件包含一個公鑰,一個私鑰和一個CA鏈。你想安裝CA公鑰嗎? – JPBlanc

+0

我想安裝包含公鑰,私鑰和CA公鑰的.p12文件中包含的所有證書。一些額外的研究使我相信,因爲我在PowerShell中執行此操作,所以我應該將certutil命令與-importpfx標誌一起使用。 – Tyler

+0

據瞭解,CA公鑰不是.P12的經典輸入的一部分。當您在Windows上的P12文件中雙擊clic時,它不會在根CA證書存儲中導入CA公鑰。 – JPBlanc

回答

1

而不是使用X509Certificate2.Import方法,使用X509Certficate2Collection.Import方法。它將爲您提供.p12文件中的所有證書。

然後,您可以將每個證書添加到其適當的商店。

相關問題