【发布时间】:2021-09-09 02:15:39
【问题描述】:
我想通过 HttpClientHandler 的 ServerCertificateCustomValidationCallback 属性进行自定义证书验证。但是,提供的回调只能返回 true(对于有效证书)或 false(对于无效证书)。如果证书被拒绝,在客户端我会收到一条标准错误消息:
"远程证书被提供的 RemoteCertificateValidationCallback 拒绝"
信息量不大。
我想在错误消息中提供更多信息,说明证书无效的原因,例如主机名不匹配、缺少证书、不受信任的根、已撤销等,以便用户更轻松地诊断问题。是否有可能以某种方式从回调中传递这些信息?特别是,我可以从回调中抛出异常而不是返回 false 吗?如果没有,还有什么方法可以做到这一点?
【问题讨论】:
标签: c# .net-core https ssl-certificate dotnet-httpclient