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