V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
whx20202
V2EX  ›  V2EX

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

  •  
  •   whx20202 · Nov 9, 2016 · 16393 views
    This topic created in 3462 days ago, the information mentioned may be changed or developed.
    Supplement 1  ·  Nov 13, 2016
    请看 17 25 27L
    41 replies    2016-11-19 10:28:02 +08:00
    whx20202
        1
    whx20202  
    OP
       Nov 9, 2016
    db520
        2
    db520  
       Nov 9, 2016 via Android
    检查下本机电脑的时间
    whx20202
        3
    whx20202  
    OP
       Nov 9, 2016
    重新下载 chrome 安装包,安装就好了
    我也不知道怎么回事
    Livid
        4
    Livid  
    MOD
    PRO
       Nov 9, 2016
    收到,这是我最近第二次收到这个问题的反馈。

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

    看看 17 楼的,好像是开启了 CP ,就是 HTTPS 证书透明,然后 chrome 有个狗比规定导致的
    zeinipiyan
        26
    zeinipiyan  
       Nov 13, 2016
    同百度和 v2 出现此状况
    whx20202
        28
    whx20202  
    OP
       Nov 13, 2016   ❤️ 1
    @redsonic 才看到你的帖子, 就是这样 也可以看看 27L 贴的内容
    whx20202
        29
    whx20202  
    OP
       Nov 13, 2016
    另外:这件事情后,我觉得折腾挺有意思 我就把个人网站也增加了 HPKP 和 SCT
    redsonic
        30
    redsonic  
       Nov 14, 2016
    @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  
       Nov 14, 2016
    http://ob8kpztd2.bkt.clouddn.com/1.png

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

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

    ubuntu 16.04 +chromium 53.0.2785.143

    whx20202
        33
    whx20202  
    OP
       Nov 15, 2016
    升级 chrome 到 54 版本
    证书透明度的问题
    whx20202
        34
    whx20202  
    OP
       Nov 15, 2016   ❤️ 1
    @whx20202 @guokb 看 33L
    mcree
        35
    mcree  
       Nov 15, 2016   ❤️ 1
    guokb
        36
    guokb  
       Nov 15, 2016
    @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
       Nov 15, 2016
    @guokb 去官网上下载个最新的离线安装包,我之前说的是 windows , ubuntu 的话类似把
    guokb
        38
    guokb  
       Nov 15, 2016
    @mcree 厲害啊!
    yinmin
        39
    yinmin  
       Nov 19, 2016
    解决办法有 2 个:
    ( 1 ) 升级 chrome 54
    ( 2 ) 翻墙,然后重启 chrome 53
    yinmin
        40
    yinmin  
       Nov 19, 2016
    看了一篇文章 https://www.myssl.cn/ssl/chrome/53/bug.htm
    其中有 1 个字眼:国内用户,然后就找到了答案了!
    yinmin
        41
    yinmin  
       Nov 19, 2016
    翻墙法只支持 chrome 53 ,不支持 Chromium 53
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2469 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 113ms · UTC 07:16 · PVG 15:16 · LAX 00:16 · JFK 03:16
    ♥ Do have faith in what you're doing.