V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
whx20202
V2EX  ›  V2EX

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

  •  
  •   whx20202 · 2016-11-09 21:23:23 +08:00 · 15386 次点击
    这是一个创建于 2937 天前的主题,其中的信息可能已经有所发展或是发生改变。
    第 1 条附言  ·  2016-11-13 22:23:30 +08:00
    请看 17 25 27L
    41 条回复    2016-11-19 10:28:02 +08:00
    whx20202
        1
    whx20202  
    OP
       2016-11-09 21:31:23 +08:00
    db520
        2
    db520  
       2016-11-09 21:48:39 +08:00 via Android
    检查下本机电脑的时间
    whx20202
        3
    whx20202  
    OP
       2016-11-09 21:58:57 +08:00
    重新下载 chrome 安装包,安装就好了
    我也不知道怎么回事
    Livid
        4
    Livid  
    MOD
       2016-11-09 21:59:20 +08:00
    收到,这是我最近第二次收到这个问题的反馈。

    我研究一下。
    CopyRight
        5
    CopyRight  
       2016-11-09 22:00:37 +08:00
    今天 Chrome 打开亚马逊也是这样。
    uroot666
        6
    uroot666  
       2016-11-09 22:02:25 +08:00 via Android
    我今天也是访问亚马逊出问题
    whx20202
        7
    whx20202  
    OP
       2016-11-09 22:02:35 +08:00
    @Livid 不好意思啊 我重装 chrome 就好了,
    但是很奇怪我电脑什么也没干 估计不是 V2EX 的问题
    怀疑是浏览器抽风了 拒绝承认了一部分证书
    另外当时出问题的时候搜狗访问本站是好的
    whx20202
        8
    whx20202  
    OP
       2016-11-09 22:03:01 +08:00
    @uroot666 你去谷歌官网下在 chrome standalone 安装包重装一下
    haigeek
        9
    haigeek  
       2016-11-09 22:04:11 +08:00 via iPhone
    +1 从昨天大概中午 12 点开始,百度和 v2 不能访问。赶紧来 v2 看了下,没人反馈。以为是自己的问题。今天大概晚上 9 点钟可以访问 v2 ,现在又不行了。
    huangtao728
        10
    huangtao728  
       2016-11-09 22:08:52 +08:00 via Android
    几周以前也是这样,前几天升级一下莫名其妙好了
    quericy
        11
    quericy  
       2016-11-09 22:57:16 +08:00
    昨天我也是这样,发现就百度和 V2EX 会出现证书链错误
    用 EDGE 看看又正常的,也没人反馈....
    折腾了一圈的证书都没发现问题
    最后贴吧搜了一下,升级到 Chrome54 解决
    md5
        12
    md5  
       2016-11-09 23:30:07 +08:00 via Android
    53 会不停报错升级 54 就好了,最近 chrome 各种奇怪问题
    haigeek
        13
    haigeek  
       2016-11-09 23:59:55 +08:00 via iPhone
    升级可以了 昨天也是 v2 和百度
    Binarization
        14
    Binarization  
       2016-11-10 00:18:07 +08:00 via Android
    凌晨的时候访问 tools.ietf.org 遇到过相同的问题,其他站正常。感觉有可能是基于时间的计算出了错误。
    lgt945
        15
    lgt945  
       2016-11-10 01:12:40 +08:00 via Android
    最下面写的那个就是是原因,需要验证证书透明状态,感觉可能是版本或者 gfw 屏蔽了什么东西引起的……
    9hills
        16
    9hills  
       2016-11-10 01:58:35 +08:00 via Android
    今天我也出现,是其他网站,升级 chrome 解决,感觉是 chrome 的 bug
    redsonic
        17
    redsonic  
       2016-11-10 02:28:14 +08:00   ❤️ 7
    我看了一下 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
        18
    redsonic  
       2016-11-10 02:30:40 +08:00
    chiv2
        19
    chiv2  
       2016-11-10 03:19:45 +08:00
    好几天了,吓得我删了好多插件和软件。结果更新个版本就好了。
    tangzhehao
        20
    tangzhehao  
       2016-11-10 03:42:48 +08:00
    @Livid 我也碰到过一次
    fangxing204
        21
    fangxing204  
       2016-11-10 08:56:14 +08:00 via Android
    我发现 chrome 不能下载百度云文件,不能访问我学校官网的某些模块,看下控制台会发现,有些脚本没有加载进来,被 chrome block 了,原因是跨域了
    whx20202
        22
    whx20202  
    OP
       2016-11-10 09:32:56 +08:00
    @redsonic 还就是 SCT 是什么技术啊 ? 我谷歌 HTTPS SCT 搜不到
    iyangyuan
        23
    iyangyuan  
       2016-11-10 10:36:56 +08:00
    同样的问题,最后升级解决了
    whx20202
        24
    whx20202  
    OP
       2016-11-10 11:20:21 +08:00
    @iyangyuan

    看看 17 楼的,好像是开启了 CP ,就是 HTTPS 证书透明,然后 chrome 有个狗比规定导致的
    redsonic
        25
    redsonic  
       2016-11-10 11:58:57 +08:00
    zeinipiyan
        26
    zeinipiyan  
       2016-11-13 16:39:57 +08:00
    同百度和 v2 出现此状况
    mcree
        27
    mcree  
       2016-11-13 21:55:04 +08:00   ❤️ 1
    whx20202
        28
    whx20202  
    OP
       2016-11-13 22:18:38 +08:00   ❤️ 1
    @redsonic 才看到你的帖子, 就是这样 也可以看看 27L 贴的内容
    whx20202
        29
    whx20202  
    OP
       2016-11-13 22:18:43 +08:00
    另外:这件事情后,我觉得折腾挺有意思 我就把个人网站也增加了 HPKP 和 SCT
    redsonic
        30
    redsonic  
       2016-11-14 04:15:26 +08:00
    @whx20202
    @mcree

    感谢回复,纠正一个我的错误,就是这个 timebomb 只对 Symantec 及其关联证书有效( https://chromium.googlesource.com/chromium/src/+/master/net/data/ssl/symantec ),我又走了一遍代码,那个 ShouldRequireCT()方法就是干这事的,关联证书都在 net/data/ssl/symantec/roots ,包括 GeoTrust , verisign , thawte ,影响面还是很广的。

    设置这个 timebomb 的意义就是针对 symantec 的证书要 CT 验证时,要以 chrome 自带的为准, 60 天自动默认过期,因为 hardcode 的这些证书无法替换,只能通过 chrome 更新来更新? 我怎么感觉这样做很傻很天真啊,难道 mozilla 的证书更新不及时?还是说 CT 就由 google 说了算,和系统层 mozilla 证书分开?

    现在感觉 linux 上证书体系已经够乱了: legacy 的应用归 ca-certificates-mozilla 这个包管,一般应用归 mozilla-nss 管,现在 chrome 又内置一些策略搞特殊...
    vultr
        31
    vultr  
       2016-11-14 17:48:21 +08:00
    http://ob8kpztd2.bkt.clouddn.com/1.png

    http://ob8kpztd2.bkt.clouddn.com/2.png

    我遇到了这个情况,是经常出现,小米手机,用的是 chrome.
    guokb
        32
    guokb  
       2016-11-15 11:18:24 +08:00
    為何我今天也打不開啊?!證書那裡有什麼問題?
    就連 https://www.baidu.com 也是打不開的

    ubuntu 16.04 +chromium 53.0.2785.143

    whx20202
        33
    whx20202  
    OP
       2016-11-15 11:21:19 +08:00
    升级 chrome 到 54 版本
    证书透明度的问题
    whx20202
        34
    whx20202  
    OP
       2016-11-15 11:21:40 +08:00   ❤️ 1
    @whx20202 @guokb 看 33L
    mcree
        35
    mcree  
       2016-11-15 14:21:50 +08:00   ❤️ 1
    guokb
        36
    guokb  
       2016-11-15 14:31:40 +08:00
    @whx20202 這條信息我是在另外一臺 win 機子上回覆的。

    實際上今早在 ubuntu 16.04 開機後,用 chromium 53 的時候無法打開 V2EX 了,然後想起這個帖子;但是,我找了下, chromium 54 還沒有找到方法。

    順便看了一眼
    http://security.ubuntu.com/ubuntu/pool/universe/c/chromium-browser/
    也沒有見 54 的出來啊!

    因為我這兒 ubuntu 16.04 是 32 位的,我試過幾下 google-chrome-stable 還是沒能裝下 chrome ,
    http://askubuntu.com/questions/510056/how-to-install-google-chrome

    就算採取下面最直觀簡單的方法仍然沒搞定
    http://askubuntu.com/a/510073

    嗯,今天真的很鬱悶。等過一段時間再說,先忙去啦!
    whx20202
        37
    whx20202  
    OP
       2016-11-15 14:35:29 +08:00
    @guokb 去官网上下载个最新的离线安装包,我之前说的是 windows , ubuntu 的话类似把
    guokb
        38
    guokb  
       2016-11-15 14:37:01 +08:00
    @mcree 厲害啊!
    yinmin
        39
    yinmin  
       2016-11-19 10:20:15 +08:00
    解决办法有 2 个:
    ( 1 ) 升级 chrome 54
    ( 2 ) 翻墙,然后重启 chrome 53
    yinmin
        40
    yinmin  
       2016-11-19 10:22:34 +08:00
    看了一篇文章 https://www.myssl.cn/ssl/chrome/53/bug.htm
    其中有 1 个字眼:国内用户,然后就找到了答案了!
    yinmin
        41
    yinmin  
       2016-11-19 10:28:02 +08:00
    翻墙法只支持 chrome 53 ,不支持 Chromium 53
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:34 · PVG 00:34 · LAX 08:34 · JFK 11:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.