我将certificateValidationMode设置为" ChainTrust" in behavior / clientCredentials / serviceCertificate / authentication。
当我的客户尝试发送请求时,它失败并显示错误:
X.509证书链构建失败。使用的证书具有无法验证的信任链。替换证书或更改certificateValidationMode。证书对请求的用法无效。
证书具有位于受信任的根证书颁发机构中的mmc和根证书中的有效链。
我不知道,我在谷歌找不到解决方案。
出了什么问题?
答案 0 :(得分:1)
听起来您的证书具有扩展密钥用法扩展,并且它不包含TLS服务器OID。
https://support.microsoft.com/en-us/help/4054181/description-of-the-security-only-update-for-net-framework-4-6-4-6-1-4建议您可以尝试添加app.config值以禁用此检查。如果添加配置项成功,则应使用更好的证书替换服务器证书(然后删除app.config值)
<appSettings>
<add key="wcf:useLegacyCertificateUsagePolicy" value="true" />
</appSettings>