我有一个使用自签名证书在IIS 7中运行的WCF Web服务(这是一个概念证明,以确保这是我想要的路线) . 它需要使用SSL .
是否可以使用WCF测试客户端调试此服务而无需非自签名证书?
当我尝试时,我收到此错误:
错误:无法从https:///Service1.svc获取元数据如果这是您有权访问的Windows(R)Communication Foundation服务,请检查您是否已在指定地址启用元数据发布 . 有关启用元数据发布的帮助,请参阅http://go.microsoft.com/fwlink/?LinkId=65455上的MSDN文档.WS-Metadata Exchange错误URI:https:///Service1.svc元数据包含一个引用无法解决:'https:///Service1.svc' . 无法与具有权限''的SSL / TLS安全通道 Build 信任关系 . 底层连接已关闭:无法为SSL / TLS安全通道 Build 信任关系 . 根据验证程序,远程证书无效.HTTP GET错误URI:https:///Service1.svc下载“https:///Service1.svc”时出错 . 底层连接已关闭:无法为SSL / TLS安全通道 Build 信任关系 . 根据验证程序,远程证书无效 .
编辑:这个问题具体是关于使用 WCF Test Client 使用自签名证书测试已通过SSL保护的Web服务 . 服务器已经设置为接受所提供的任何证书,'s the WCF Test Client I don't看到了这样做的方法 .
6 回答
您可以在开发区域中创建非自签名证书,然后在IIS中使用此证书来应用SSL . 步骤是:
现在您只需要将
server.pfx
导入IIS并设置网站绑定以使用此证书,并通过执行此操作在服务器和客户端中安装CA.cer
Local Computer
\Trusted Root Certification Authorities
存储,WCF客户端将通过HTTPS使用该服务而无需任何服务问题 .如果用WCFStorm Lite Edition替换WCF测试客户端,则应该能够执行此操作 . 它's free and is quite a bit more flexible than MS'的测试客户端...例如,它'll let you specify a user name & password if you'重新进行用户名认证 .
this question的回答在我的案例中有所帮助 . 请务必使用确切的机器名称作为证书期望 . 例如
machine/service.svc
可能无效,而machine.domain/service.svc
- 有效 .回答你的问题......以下是强制你的WCF测试客户端接受自签名证书的方法......
对的,这是可能的 .
只需从服务(https://localhost/Service1.svc?singleWsdl)下载生成的WSDL,并在WCF测试客户端中添加服务时提供此文件的路径 .
您可以提供自己的方法来验证证书 .
试试这个:
回电: