我有一个公开两个绑定的WCF服务:BasicHttpBinding和NetTcpBinding。 两个绑定都使用有效的Entrust SSL证书进行保护。
一切似乎都可以在HTTP上正常工作,但是通过net.tcp获得认证验证问题。
客户端配置为使用“ChainTrust”证书验证模式。 这是WCF抛出的错误:
The certificate that was used has a trust chain that cannot be verified. Replace the certificate or change the certificateValidationMode. A certificate chain could not be built to a trusted root authority.
我对SSL证书不太熟悉,但我注意到证书是由中间证书颁发的。链中的所有证书都已安装在服务器上。在客户端上,根CA证书是受信任的,但中间证书不受信任。
如果我在客户端安装中间证书,一切都很好。但是,这对我来说听起来不对?不应该只信任Root证书吗?
答案 0 :(得分:0)
经过大量的故障排除和拔毛会议后,我们的工作站出现了问题。
WCF服务是在本地系统帐户下运行的Windows服务中自托管的。如果服务是在不同的用户帐户下运行的,那么一切都很好。在我尝试使用的所有其他机器上运行本地系统时,一切都很好。
我猜我即将安装。