2010-06-29 121 views
0

.NET類System.Security.Cryptography.X509Certificates.X509Extension不支持我想要解析的一些X.509擴展(主題替代名稱,名稱約束)。該類的MSDN頁面聲明「自定義擴展可以在CryptoConfig文件中註冊」(鏈接),但對CryptoConfig類的描述僅討論設置自定義加密算法實現 - 不知道如何註冊自定義X. 509延長。System.Security.Cryptography.X509Certificates中的自定義擴展

有誰知道如何做到這一點?

回答

0

如果您沒有找到內置類的解決方案,請看我們的PKI components of SecureBlackbox。他們讓您輕鬆管理自定義擴展。

+1

謝謝。 我沒有找到一個乾淨的解決方案,但事實證明X509Certificate2.Extensions字段將枚舉無法識別的擴展名爲裸露的X509Extension實例 - 這些將DER編碼的ASN.1數據暴露在RawData字段中(可以手工分析) – KaiEkkrin 2010-07-01 10:40:16

0
X509Certificate2 cert = new System.Security.Cryptography.X509Certificates.X509Certificate2(certByte); 
string fn = cert.Extensions[0].Oid.FriendlyName; 
string oid = cert.Extensions[0].Oid.Value; 
string val = cert.Extensions[0].Format(true); 
+0

你能發展更多嗎? – Robin 2014-04-10 13:37:51

+0

你是什麼意思「更多」?有一個聲明.net類枚舉DER編碼的ASN.1數據,並沒有「乾淨」的方式來解碼字符串。實際上,您可以從字節數組,文件等創建X509Certificate2對象,並使用擴展數組項目上的格式(布爾型)方法提取解碼後的字符串。你應該首先檢查Extensions數組是否有任何項目。 – Mazhas 2014-04-11 07:52:15