2009-09-29 48 views
0

誰能告訴我,請我爲什麼沒有這個cert.PrivateKey(= NULL)後,我一個Web方法調用期間從HttpClientCertificate實例化的X509Certificate2 ..某事像這樣:缺少客戶Certificate's專用密鑰

X509Certificate2 cert = new X509Certificate2(Context.Request.ClientCertificate.Certificate,「test」);

HttpClientCertificate有一個私鑰,當我檢查調試器,但X509Certificate2(證書變量)不是!

..此外,我甚至沒有得到一個CryptographicException,當我指定一個無效的密碼。

有人能讓我變清嗎?

真的非常感謝!

親切的問候, 克里斯

回答

1

您正在使用(數據/密碼)的構造旨在被用來獲得從PKCS#12文件(PFX文件)的證書。 ClientCertificate的Certificate屬性「以ASN.1格式獲取包含整個證書內容的二進制流的字符串。」

ClientCertificate旨在爲您提供在與服務器建立SSL會話期間使用的證書。我並不期望它會以你想要的方式暴露私鑰。

+0

之前,我試圖用適當的構造函數: X509Certificate2證書=新X509Certificate2(Context.Request.ClientCertificate.Certificate) 也不在這裏,我有證書的對象實例化專用密鑰像在上面的行之後.. 我想實現SOAP消息的路由,包括連接到它們的客戶端證書。這就是爲什麼我想從HttpClientCertificate讀取它並實例化一個新的對象X509Certificate/X509Certificate2並將其添加到新的路由SoapHttpClient ..這就是我的問題.. – Kr15 2009-10-01 10:54:29