我在Windows 2003 R2下运行的IIS 6.0下托管了WCF服务。该服务为SSL secured
,带有“必需的客户端证书”选项。
当我在win 2003 R2中从IE浏览服务时,我能够看到WSDL。
当我尝试从我在Win XP上运行IE的开发机器上浏览时。我看到像这样的403.7错误。
The page requires a client certificate
......
......
HTTP Error 403.7 - Forbidden: SSL client certificate is required.
Internet Information Services (IIS)
我花了5天时间尝试了所有可能的事情,比如
有什么东西我缺少或不知道吗?
答案 0 :(得分: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服务,而不是一个网站。