3
所以,我有以下系統:有一個客戶端應用程序,這要求服務如下:證書問題403.7
blar.ServiceSecurity wsSecurity = new blar.ServiceSecurity();
wsSecurity.Url = this.tURL + "Security.asmx";
CookieContainer cc = new CookieContainer();
wsSecurity.CookieContainer = cc;
wsSecurity.ClientCertificates.Add(X509Certificate.CreateFromCertFile(certPath));
blar.LoginResult lr = wsSecurity.Login(login, password);
然後,web服務在this.tURL + "Security.asmx"
的Login
方法來獲取ClientCertificate(certPath)來自:
Context.Request.ClientCertificate.Certificate;
並且用它做點什麼。
有兩個問題:
如果IIS的配置說Require client certificates
,我就調用登錄功能得到403.7錯誤;
如果IIS的配置說Accept client certificates
,我得到CryptographicException「m_safeCertContext是無效的句柄」;
但是,這些問題只有在客戶端使用Windows 7 x64,Windows XP或Windows Server 2003上啓動時纔會發生,但它確實很好。
ca安裝在兩臺機器上,配置在所有測試用例中似乎完全相同,所以我的問題是'這到底是什麼?'。
你能還測試在Vista/Windows 7的86?在XP/2003之後證書API發生了顯着變化;在Vista/7 86測試可以幫助確定它是否是一個64位的問題還是其他什麼東西。 – user423430 2011-07-26 19:43:29