- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我对网站证书验证感到困惑。请参阅下面的详细信息:
使用 python urllib2 连接到网站 (www.bitstamp.net) 抛出:
urllib2.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)>
curl 给出了类似的错误:
$ curl https://www.bitstamp.net
curl: (60) SSL certificate problem: self signed certificate in certificate chain
但是,openssl 显示每个已验证的证书(假设“1”表示已验证):
$ openssl s_client -showcerts -connect www.bitstamp.net:443
CONNECTED(00000003)
depth=3 C = SE, O = AddTrust AB, OU = AddTrust External TTP Network, CN = AddTrust External CA Root
verify return:1
depth=2 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = COMODO CA Limited, CN = COMODO RSA Domain Validation Secure Server CA
verify return:1
depth=0 OU = Domain Control Validated, OU = Hosted by Incapsula Inc, OU = PositiveSSL Multi-Domain, CN = incapsula.com
verify return:1
这是怎么回事?是否有 curl 声称的“自签名证书”?如果有,是哪一个?
最佳答案
此行为有几个症状。让我们从第一期开始。
链错误中的自签名证书:这是真实的,也是一个有效的案例。因为每个根证书颁发机构都是自签名的。在您的情况下, AddTrust 是自签名的。这可能表明 curl/libssl 或其他客户端无法识别证书颁发机构。正如您所说,openssl s_client 已验证证书。在许多 Linux 发行版中,它位于/etc/ssl/certs 下。您的可能不同,或者您可能需要更新它们。您还应该将这些 CA 的位置定义到库中(即使在 libssl - SSL_CTX_load_verify_locations 中)
基于 SNI 的问题表示目标服务器正在为同一主机/IP 上的多个基于 TLS/SSL 的站点提供服务。如果没有明确的 SNI 规范,服务器将响应任何一个(我不确定选择算法,可能是随机的或第一个)。
由于这些原因,这两种情况对我来说似乎都是有效的。
关于python - 如何找到自签名证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49825793/
例如,我有一个父类Author: class Author { String name static hasMany = [ fiction: Book,
代码如下: dojo.query(subNav.navClass).forEach(function(node, index, arr){ if(dojo.style(node, 'd
我有一个带有 Id 和姓名的学生表和一个带有 Id 和 friend Id 的 Friends 表。我想加入这两个表并找到学生的 friend 。 例如,Ashley 的 friend 是 Saman
我通过互联网浏览,但仍未找到问题的答案。应该很容易: class Parent { String name Child child } 当我有一个 child 对象时,如何获得它的 paren
我正在尝试创建一个以 Firebase 作为我的后端的社交应用。现在我正面临如何(在哪里?)找到 friend 功能的问题。 我有每个用户的邮件地址。 我可以访问用户的电话也预订。 在传统的后端中,我
我主要想澄清以下几点: 1。有人告诉我,在 iOS 5 及以下版本中,如果您使用 Game Center 设置多人游戏,则“查找 Facebook 好友”(如与好友争夺战)的功能不是内置的,因此您需要
关于redis docker镜像ENTRYPOINT脚本 docker-entrypoint.sh : #!/bin/sh set -e # first arg is `-f` or `--some-
我是一名优秀的程序员,十分优秀!