RemoteCertificateChainErrors - 空 ChainElement

间歇性发生的奇怪问题,我对另一个服务的 HTTPS 调用导致抛出异常(底层通道关闭,远程证书根据回调无效......等)。

我在 azure 应用程序服务中托管 .net core (461)。

我正在使用的服务上的 SSL 证书是公共 CA (GeoTrust/Digicert) 证书,并且几乎所有时间都可以进行相同的调用,但是我有时会在没有任何代码更改或部署的情况下例行失败。

奇怪的是,我提供了自己的委托 (ServerCertificateValidationCallback) 来浏览返回的证书的详细信息、其链、策略错误等 - 当我收到错误时,SSLPolicyError 被设置为 RemoteCertificateChainErrors,但是在迭代X509Chain 的 ChainElements,它返回一个元素(我的证书)——ChainElementStatus 是空的,没有相应的深入细节来说明为什么远程链被认为是无效的,它只是说明它是无效的。

我将其与使用 badssl.com 作为测试平台的自动化测试进行了比较,我正确地获得了完整的链详细信息,包括为什么其中一个元素被认为是错误的原因。

什么可能的原因会导致 RemoteCertificateChainErrors SSLPolicyError 没有任何相应的链信息?是否可能是某个网络工具包未能调用 CA 本身来评估证书的有效性?

最奇怪的错误,感谢任何输入!


茅侃侃
浏览 592回答 1
1回答

芜湖不芜

我们最终解决了这个问题,必须在服务端包含中间证书和我们的 ssl 证书。我们仍然认为问题在于当中间证书未包含在捆绑包中时未能及时远程验证,但尚未对此进行验证。
打开App,查看更多内容
随时随地看视频慕课网APP