是我被中间人了还是 chrome 有问题了?

2016-11-09 21:23:23 +08:00
 whx20202

图片地址:

http://ww1.sinaimg.cn/mw690/b75b4fadjw1f9m682sjc0j20l50nijv1.jpg

http://ww1.sinaimg.cn/mw690/b75b4fadjw1f9m6bdc3ikj20jd0n0tc8.jpg

15374 次点击
所在节点    V2EX
41 条回复
whx20202
2016-11-09 21:31:23 +08:00
db520
2016-11-09 21:48:39 +08:00
检查下本机电脑的时间
whx20202
2016-11-09 21:58:57 +08:00
重新下载 chrome 安装包,安装就好了
我也不知道怎么回事
Livid
2016-11-09 21:59:20 +08:00
收到,这是我最近第二次收到这个问题的反馈。

我研究一下。
CopyRight
2016-11-09 22:00:37 +08:00
今天 Chrome 打开亚马逊也是这样。
uroot666
2016-11-09 22:02:25 +08:00
我今天也是访问亚马逊出问题
whx20202
2016-11-09 22:02:35 +08:00
@Livid 不好意思啊 我重装 chrome 就好了,
但是很奇怪我电脑什么也没干 估计不是 V2EX 的问题
怀疑是浏览器抽风了 拒绝承认了一部分证书
另外当时出问题的时候搜狗访问本站是好的
whx20202
2016-11-09 22:03:01 +08:00
@uroot666 你去谷歌官网下在 chrome standalone 安装包重装一下
haigeek
2016-11-09 22:04:11 +08:00
+1 从昨天大概中午 12 点开始,百度和 v2 不能访问。赶紧来 v2 看了下,没人反馈。以为是自己的问题。今天大概晚上 9 点钟可以访问 v2 ,现在又不行了。
huangtao728
2016-11-09 22:08:52 +08:00
几周以前也是这样,前几天升级一下莫名其妙好了
quericy
2016-11-09 22:57:16 +08:00
昨天我也是这样,发现就百度和 V2EX 会出现证书链错误
用 EDGE 看看又正常的,也没人反馈....
折腾了一圈的证书都没发现问题
最后贴吧搜了一下,升级到 Chrome54 解决
md5
2016-11-09 23:30:07 +08:00
53 会不停报错升级 54 就好了,最近 chrome 各种奇怪问题
haigeek
2016-11-09 23:59:55 +08:00
升级可以了 昨天也是 v2 和百度
Binarization
2016-11-10 00:18:07 +08:00
凌晨的时候访问 tools.ietf.org 遇到过相同的问题,其他站正常。感觉有可能是基于时间的计算出了错误。
lgt945
2016-11-10 01:12:40 +08:00
最下面写的那个就是是原因,需要验证证书透明状态,感觉可能是版本或者 gfw 屏蔽了什么东西引起的……
9hills
2016-11-10 01:58:35 +08:00
今天我也出现,是其他网站,升级 chrome 解决,感觉是 chrome 的 bug
redsonic
2016-11-10 02:28:14 +08:00
我看了一下 chromium 代码,发现了不知道算不算是一个大新闻:

翻了一下返回“ ERR_CERTIFICATE_TRANSPARENCY_REQUIRED ”只有两处,两处代码都一样,以 net/sock/ssl_client_socket_impl.cc 为例
......
ct_verify_result_.cert_policy_compliance =
policy_enforcer_->DoesConformToCertPolicy(
server_cert_verify_result_.verified_cert.get(), verified_scts,
net_log_);

if (ct_verify_result_.cert_policy_compliance !=
ct::CertPolicyCompliance::CERT_POLICY_COMPLIES_VIA_SCTS &&
transport_security_state_->ShouldRequireCT(
host_and_port_.host(), server_cert_verify_result_.verified_cert.get(),
server_cert_verify_result_.public_key_hashes)) {
server_cert_verify_result_.cert_status |=
CERT_STATUS_CERTIFICATE_TRANSPARENCY_REQUIRED;
return ERR_CERTIFICATE_TRANSPARENCY_REQUIRED;
}

如果 ct_verify_result_.cert_policy_compliance 不是 CERT_POLICY_COMPLIES_VIA_SCTS ,则 ShouldRequireCT 就会走一个好像 host 的黑白名单的东西,而默认返回 true ( v2ex.com:443 的情况确定不会返回 false ),接下来就返回 ERR_CERTIFICATE_TRANSPARENCY_REQUIRED ,就像 LZ 看到的那样。
所以前面的 DoesConformToCertPolic 返回什么就变的很重要了 :

ct::CertPolicyCompliance CTPolicyEnforcer::DoesConformToCertPolicy(
X509Certificate* cert,
const ct::SCTList& verified_scts,
const NetLogWithSource& net_log) {
// If the build is not timely, no certificate is considered compliant
// with CT policy. The reasoning is that, for example, a log might
// have been pulled and is no longer considered valid; thus, a client
// needs up-to-date information about logs to consider certificates to
// be compliant with policy.
bool build_timely = IsBuildTimely();
ct::CertPolicyCompliance compliance;
if (!build_timely) {
compliance = ct::CertPolicyCompliance::CERT_POLICY_BUILD_NOT_TIMELY;
} else {
compliance = CheckCertPolicyCompliance(*cert, verified_scts);
}
......


CheckCertPolicyCompliance()就是验证 sct 的代码,很长,先不管了,看看前面那个要命 IsBuildTimely():

bool IsBuildTimely() {
const base::Time build_time = base::GetBuildTime();
// We consider built-in information to be timely for 10 weeks.
return (base::Time::Now() - build_time).InDays() < 70 /* 10 weeks */;
}

我 cao ,如果版本编译于 70 天前就返回 CERT_POLICY_BUILD_NOT_TIMELY ,我改了下,改成 1 天(内),跑了一下,所有带 SCT 的 https 都歇菜了。
chrome53 应该就是 2 月前的吧,超过 70 天了。这很可怕啊,国内有多少 chrome 能方便更新呢。
redsonic
2016-11-10 02:30:40 +08:00
chiv2
2016-11-10 03:19:45 +08:00
好几天了,吓得我删了好多插件和软件。结果更新个版本就好了。
tangzhehao
2016-11-10 03:42:48 +08:00
@Livid 我也碰到过一次

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/319391

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX