我有一个托管在 IIS7 上的 WCF 服务。此服务既可以从 Silverlight 客户端调用,也可以从 C# Windows 服务调用。目前一切都在同一台机器上运行。它使用自签名证书,以及我使用 certmgr.msc 导入到受信任根的授权 .cer 文件
Silverlight 应用程序可以很好地调用该服务,但是当 Windows 服务尝试调用它时,我得到以下异常:
System.ServiceModel.Security.SecurityNegotiationException: Could not establish trust
relationship for the SSL/TLS secure channel with authority 'localhost'. --->
System.Net.WebException: The underlying connection was closed: Could not establish
trust relationship for the SSL/TLS secure channel. --->
System.Security.Authentication.AuthenticationException: The remote certificate is
invalid according to the validation procedure.
当浏览器和 Silverlight 应用程序可以通过 https 访问服务时,Windows 服务将被拒绝访问的原因是什么?可能是因为客户端证书指纹必须绑定到 Windows 服务或其他什么?
(如您所见,我对 SSL 身份验证的工作方式有点陌生)。
谢谢