0

我在本地 IIS 上托管了带有自签名证书的 WCF 服务,该证书用于测试和 Windows 服务以及连接到该 WCF 服务并发送一些数据的 Windows 应用程序。

Windows 应用程序和 Windows 服务都使用相同的 dll 连接到 WCF 服务,但 Windows 服务失败并显示:

System.ServiceModel.Security.SecurityNegotiationException:无法为具有“本地域”权限的 SSL/TLS 安全通道建立信任关系。---> System.Net.WebException:底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。---> System.Security.Authentication.AuthenticationException:根据验证程序,远程证书无效。

Windows 服务帐户设置为LocalSystem,这可能是原因吗?如果是这样,我应该在哪个帐户下运行 Windows 服务?

4

1 回答 1

0

这可能是因为当它作为应用程序运行时,您使用的是您的 Windows 凭据,但在服务下运行时,它可能作为本地系统运行。尝试更改您的 Windows 服务以使用您的凭据运行,看看是否可行。如果是这样,您应该创建一个专门用于运行服务的用户,这样如果您更改密码,就不会破坏服务。

于 2013-01-21T11:47:22.383 回答