gpt4 book ai didi

.net - HTTPWebRequest 远程证书名称不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:54 24 4
gpt4 key购买 nike

我正在尝试使用 HTTPWebRequest 进行 SSL 调用,但它不断失败,说它无法建立信任。我已将回调添加到 ServicePointManager.ServerCertificateValidationCallback 并返回 true 始终有效。但是,我希望事情比这更安全。查看验证方法中的 SslPolicyErrors,我似乎遇到了 RemoteCertificateNameMismatch 错误。是什么没有正确匹配导致这种错误?

(编辑:见答案中的评论)我正在访问的网站使用基于 SSL 的 HTTPBasic 和类似 v1.api.serviceprovider.com 的 URL,证书颁发给 *.serviceprovider.com。

最佳答案

一般证书问题:

  • 证书不是由受信任的证书提供商颁发的(必须在您的信任链中)
  • 证书过期

这个特定错误通常意味着证书不是为您访问的网站颁发的。示例:

  • “www.yoursite.com”和“yoursite.com”之间的区别(它们是不同的;一些知名人士搞错了,这让我很恼火……)
  • 作为 IP 地址而不是证书上的名称访问;或 v/v
  • 负载均衡器将您重定向到“server1,yoursite.com”,但为您提供来自“yoursite.com”的证书
  • 一个负载平衡器静静地将您传递给“server1”,它正在为“server1”而不是站点颁发证书
  • (编辑查看评论)为多个级别颁发的通配符证书 - 即当您访问 foo.bar.somesite.org 时颁发给 *.somesite.org

通过导航到该站点并阅读浏览器给您的警告并检查颁发的证书,可以很容易地识别其中的大部分内容。

关于.net - HTTPWebRequest 远程证书名称不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457848/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com