证书对请求的用法无效

时间:2018-03-21 11:30:20

标签: c# wcf cryptography certificate

我将certificateValidationMode设置为" ChainTrust" in behavior / clientCredentials / serviceCertificate / authentication。

当我的客户尝试发送请求时,它失败并显示错误:

X.509证书链构建失败。使用的证书具有无法验证的信任链。替换证书或更改certificateValidationMode。证书对请求的用法无效。

证书具有位于受信任的根证书颁发机构中的mmc和根证书中的有效链。

我不知道,我在谷歌找不到解决方案。

出了什么问题?

1 个答案:

答案 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>