2012-12-12 66 views
-2

我有一个WCF服务托管在Windows 2003 R2下运行的IIS 6.0下。该服务是SSL secured和“必需的客户端证书”选项。 当我在win 2003 R2中浏览IE的服务时,我能够看到WSDL。 当我尝试从Win XP上运行IE的开发机器浏览时。我看到这样的403.7错误。2路SSL在服务器上工作,但不能从客户端工作

The page requires a client certificate 
...... 
...... 

HTTP Error 403.7 - Forbidden: SSL client certificate is required. 
Internet Information Services (IIS) 

我花了5天就尝试了一切可能像

  1. 检查客户端上,私钥的客户证书,一次又一次地将其导入。
  2. 检查其预期用途(客户端身份验证)和EKU值。
  3. 检查CA是否安装在Trust Trust Cert Authority文件夹中的服务器和客户端上。
  4. 运行SSL诊断工具。不幸的是,它显示了我上面粘贴的消息,并没有太多细节。
  5. 它在我尝试IIS目录安全选项卡下的“接受客户端证书”选项时起作用。

有什么,我失踪或不知道它吗?

回答

0

最后在MSFT支持的帮助下,我已经解决了它。 原因是,在Web服务器上,“受信任的根证书颁发机构”文件夹中有太多证书超出建议的长度。因此,我在事件日志中得到了这个警告。

When asking for client authentication, this server sends a list of 
trusted certificate authorities to the client. The client uses this 
list to choose a client certificate that is trusted by the server. 
Currently, this server trusts so many certificate authorities that the 
list has grown too long. This list has thus been truncated. The 
administrator of this machine should review the certificate 
authorities trusted for client authentication and remove those that 
do not really need to be trusted. 

我确实删除了一些过期/未使用的证书,但仍然不够。我无法删除更多证书,因为担心系统会因为没有过期而中断系统。 我们使用的方法3以解决此问题进行了讨论here

虽然它已经固定我的问题,但只退使用这种方法的问题,客户端浏览器将为您呈现目前计算机中的所有客户端证书的列表,而不是基于信任根CA选择哪一台服务器需要。 这适用于我,因为我有一个WCF服务,而不是一个网站。

相关问题