簡體   English   中英

X509Certificate2 ctor with cer file

[英]X509Certificate2 ctor with cer file

我在.Net中遇到了雙向ssl配置的問題。 不知何故,當我在構造函數中使用.cer文件和密碼創建X509Certificate2對象時,密碼被忽略(我給出了錯誤的密碼並且它有效 - 響應已成功返回)。 另一方面,當我使用.p12文件時,行為是預期的(錯誤的密碼導致不成功的結果)

有任何想法嗎?

謝謝。

.cer文件包含(通常情況下)只有未加密形式的X509證書。 在這種情況下,解密證書不需要密碼。 我想X509Certificate2構造函數試圖確定Byte []參數的編碼格式,並在不需要時忽略密碼參數。 並且很可能在創建之后,對象的PrivateKey屬性為null

加載.cer文件時,您應該使用僅占用1 Byte []參數的構造函數。 該構造函數的文檔清楚地指定了支持的數據格式:

此構造函數使用字節數組中的證書信息創建新的X509Certificate2對象。 字節數組可以是二進制(DER)編碼或Base64編碼的X.509數據。 字節數組也可以是PKCS7(Authenticode)簽名文件; 簽名者證書用於創建對象。

PKCS#12格式 (.p12或.pfx文件)是證書和私鑰的容器格式。 在這種情況下,需要密碼來解密加密的私鑰。 實際上,在X509Certificate2構造函數文檔中指定了PKCS#12文件的行為:

此構造函數與包含證書私鑰的PKCS12(PFX)文件一起使用。 使用正確的密碼調用此構造函數會解密私鑰並將其保存到密鑰容器中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM