使用Transport Security& amp; WCF服务的SSL错误证书。认证

时间:2009-05-07 01:57:03

标签: .net wcf ssl wcf-security

我不知道这是否是一个更适合Serverfault.com的问题,实际上取决于答案,但我在.NET C#中遵循this tutorial来设置'wsHttpBinding'下的WCF服务(Transport安全和证书身份验证),我使用here描述的方法创建了一个测试开发证书,我还在IIS的Bindings中配置了我的HTTPS 443端口。

每一步都做得很好,但是我在我创建的示例“Hello World”服务中收到错误(再次,所有这些都是通过我首先说明的MSDN教程链接),当我点击https://vd1/WcfWsHttpBindingTest/Service.svc时(VD1是我的本地计算机名称):

HTTP Error 403.7 - Forbidden
The page you are attempting to access requires your browser to have a Secure Sockets Layer (SSL) client certificate that the Web server recognizes.

我按照规定的两个教程安装了我的server certificateclient certificate,并且已经在IIS中进行了配置;此外,如果我否定'https'并且只使用'http',我会收到403.4 Forbidden说明我正在尝试访问已使用SSL保护的页面,所以我很确定它的一面是有用的。

任何想法的人? 我没有偏离教程,我正在运行IIS 7.0和Vista Business。

如果有人可以通过为wsHttpBinding配置服务提供更好的教程链接,从某个干净的平台启动我会有所帮助。

** 如果有人看过我的帖子,你会发现我已经关闭了我的答案,因为它已演变成上面的问题 **

3 个答案:

答案 0 :(得分:2)

感谢Tanner的帮助。

经过两个小时的挠头和修修补补,在同事的帮助下,我们将其缩小到一步,但没有正确完成。证书被添加到“本地用户”而不是“本地计算机”。

再次感谢。

答案 1 :(得分:0)

听起来客户端凭据没有设置或配置文件有问题。你可以发布配置文件,这样我们就可以看到ClientCredentials配置,它配置在一个标签中:< clientCertificate>

或者,可以在代码中配置证书,因此如果您拥有在代理上配置证书的源代码,请发布该证书。

最终检查将是Vista Specific。您应该以管理员身份运行VS(以及可能的证书生成相关流程):Some Info on Vista Admin

如果这些都没有帮助,请尝试CodePlex获取一些指导,我发现安全配置的清单帮助我无止境。

答案 2 :(得分:0)

如果系统提示您输入管理员密码或进行确认,请键入密码或单击“继续”。 2.在IIS管理器中,找到要为其更改SSL设置的Web应用程序。 3.在“功能视图”中,双击“SSL设置”。 4.在SSL Settings页面上,选择
下的Accept选项 客户证书。 5.在“操作”窗格中,单击“应用”