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

Let's Encrypt 颁发的证书所包含的 CRL 链接完全被墙,可能导致所有用 LE 证书的网站在国内无法打开或者弹出警告。

  •  
  •   villivateur ·
    PRO
    · 13 天前 · 7607 次点击

    今天用 curl 访问我的网站,发现报错:

    $ curl -vv https://www.example.com/generate_204
    08:43:01.876922 [0-0] * Host www.vvzero.com:443 was resolved.
    08:43:01.880422 [0-0] * IPv6: 2408:1:1013:e900::1
    08:43:01.883004 [0-0] * IPv4: 1.116.4.74
    08:43:01.885021 [0-0] * [HTTPS-CONNECT] added
    08:43:01.887128 [0-0] * [HTTPS-CONNECT] connect, init
    08:43:01.889315 [0-0] * [HTTPS-CONNECT] connect, check h21
    08:43:01.891506 [0-0] *   Trying [2408:1:1013:e900::1]:443...
    08:43:01.894156 [0-0] * [HTTPS-CONNECT] connect -> 0, done=0
    08:43:01.896145 [0-0] * [HTTPS-CONNECT] adjust_pollset -> 1 socks
    08:43:01.898445 [0-0] * [HTTPS-CONNECT] connect, check h21
    08:43:01.901163 [0-0] * [HTTPS-CONNECT] connect -> 0, done=0
    08:43:01.903526 [0-0] * [HTTPS-CONNECT] adjust_pollset -> 1 socks
    08:43:01.907055 [0-0] * [HTTPS-CONNECT] connect, check h21
    08:43:01.910135 [0-0] * schannel: disabled automatic use of client certificate
    08:43:01.917094 [0-0] * [HTTPS-CONNECT] connect -> 0, done=0
    08:43:01.919009 [0-0] * [HTTPS-CONNECT] adjust_pollset -> 1 socks
    08:43:01.924728 [0-0] * [HTTPS-CONNECT] connect, check h21
    08:43:01.933717 [0-0] * schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013) - The revocation function was unable to check revocation because the revocation server was offline.
    08:43:01.939440 [0-0] * [HTTPS-CONNECT] connect, all failed
    08:43:01.941833 [0-0] * [HTTPS-CONNECT] connect -> 35, done=0
    08:43:01.944171 [0-0] * closing connection #0
    08:43:01.947391 [0-0] * [HTTPS-CONNECT] close
    08:43:01.949490 [0-0] * [SETUP] close
    08:43:01.952020 [0-0] * [SETUP] destroy
    08:43:01.954525 [0-0] * [HTTPS-CONNECT] destroy
    curl: (35) schannel: next InitializeSecurityContext failed: CRYPT_E_REVOCATION_OFFLINE (0x80092013) - The revocation function was unable to check revocation because the revocation server was offline.
    

    然后尝试访问证书里提供的 CRL 链接:

    $ curl -v http://e5.c.lencr.org/80.crl
    * Host e5.c.lencr.org:80 was resolved.
    * IPv6: 2606:4700::6812:15d5, 2606:4700::6812:14d5
    * IPv4: 104.18.20.213, 104.18.21.213
    *   Trying [2606:4700::6812:15d5]:80...
    * Connected to e5.c.lencr.org (2606:4700::6812:15d5) port 80
    * using HTTP/1.x
    > GET /80.crl HTTP/1.1
    > Host: e5.c.lencr.org
    > User-Agent: curl/8.10.1
    > Accept: */*
    >
    * Request completely sent off
    * Recv failure: Connection was reset
    * closing connection #0
    curl: (56) Recv failure: Connection was reset
    

    itdog 查询显示这个域名已经完全被墙,方法是 TCP RST 。

    部分浏览器可能不会检查 CRL ,那就没问题。但可能更多的正规浏览器或者 APP 会检查,就会导致无法访问或者弹出警告。

    小站站长可能会痛苦了,很多人可能没法上你的网站了。

    52 条回复    2025-09-01 20:03:13 +08:00
    jeesk
        1
    jeesk  
       13 天前
    ZeroSSL 和 LetsEncrypt 都用上呀。
    billzhuang
        2
    billzhuang  
       13 天前
    不都是用 OCSP 来检查的么?
    wasaibi12345
        3
    wasaibi12345  
       13 天前
    虽然不是站长,但是 NAS 的域名用的是 lets encrypt 的证书,当初就觉得这个东西墙不墙完全看上面的心情,不安全
    wasaibi12345
        4
    wasaibi12345  
       13 天前
    今天凌晨不是墙抽风了吗?有没有可能是这个原因?
    cheng6563
        5
    cheng6563  
       13 天前
    浏览器上,实际上这些检查都只有 Firefox 在较为严格地执行
    而且 OCSP 都快凉了
    反正放心用完事
    billzhuang
        6
    billzhuang  
       13 天前
    哦, 看到 lets encrypt 从 OCSP 切换到了 CRL 。

    但主流浏览器和移动端也不检测 CRL 的吧
    vfs
        7
    vfs  
       13 天前
    刚刚试了,crl 域名可以正常访问啊 (陕西西安)
    villivateur
        8
    villivateur  
    OP
    PRO
       13 天前
    @wasaibi12345 跟今天凌晨墙抽风没关系,好像已经很久了


    @cheng6563 这个是 CRL ,替代了 OSCP
    dorothyREN
        9
    dorothyREN  
       13 天前
    @jeesk zeroSSL 都不做证书业务了
    186526
        10
    186526  
       13 天前
    北京联通和北京阿里云稳定复现
    但是在 Chrome 上 CRL 应该还是基于 CRLSet 批量更新的,影响不大
    jim9606
        11
    jim9606  
       13 天前 via Android
    有个比较极端的解决办法
    换用 LE 新出的只有 7 天有效期的 shortlived 证书,这个直接没有 CRL 和 OCSP
    salmon5
        12
    salmon5  
       13 天前
    curl 会检查 CRL 吗?只有 FireFox 会强制检查 OSCP
    salmon5
        13
    salmon5  
       13 天前
    OSCP 因为隐私问题,马上要下线了
    yokisama
        14
    yokisama  
       13 天前 via Android
    怪不得我 Arch 更新 AUR 时一直提示 tls timeout
    我一直开着软路由 passwall 但,但能访问网页无法通过 rpc 更新
    原来是验证的域名被墙了...
    skiy
        15
    skiy  
       13 天前
    @dorothyREN 不做证书业务的不是 ZeroSSL 吧?不做证书业务的好像是 Buypass 。
    https://www.buypass.com/products/tls-ssl-certificates
    huangsijun17
        16
    huangsijun17  
       13 天前
    1. 上海联通打不开该 URL 。
    2. 我看了我这个的 LE 证书,不是这个 CRL 地址。
    chenshaoju
        17
    chenshaoju  
       13 天前
    试了一下,http://e5.c.lencr.org/80.crl 确实被重置了。
    但是看了一下我的网站用的 Let's Encrypt ,CRL 是 http://r11.c.lencr.org/43.crl ,这个暂时没问题。
    arrow629
        18
    arrow629  
       13 天前
    好像浏览器本来就没几个会实时查 CRL 吧,Chromium 用 CRLSet ,Firefox 用 OneCRL 。
    salmon5
        19
    salmon5  
       13 天前
    MiKing233
        20
    MiKing233  
       13 天前
    很早就发过了, 没什么好的解决方案
    https://www.v2ex.com/t/1144666
    fuzzsh
        21
    fuzzsh  
       13 天前 via Android
    @salmon5 卧槽,当年提出 OCSP 来替代 CRL ,这就光荣退役了。。还是朴素无华的技术活得更久
    Virace
        22
    Virace  
       13 天前
    @MiKing233 确实,早就这样了,切换到 zerossl 暂时还能用。 问题就是这个 zero 好像不支持有些域名,比如说.cc, 申请一直失败,这就很难受
    shihao9618
        23
    shihao9618  
       13 天前
    公用名 (CN) E6
    组织 (O) Let's Encrypt
    好像还可以用
    vibbow
        24
    vibbow  
       13 天前
    还是得 ocsp
    villivateur
        25
    villivateur  
    OP
    PRO
       13 天前
    @vibbow OCSP 也会被墙或者劣化。CRL 至少是周期性去获取的,OCSP 每次打开网站都会卡一下。
    bollld607
        26
    bollld607  
       13 天前 via Android
    南方某省电信,第一下能上,服务器响应 200 ok:
    curl -v http://e5.c.lencr.org/80.crl
    * Host e5.c.lencr.org:80 was resolved.
    * IPv6: 2606:4700::6812:15d5, 2606:4700::6812:14d5
    * IPv4: 104.18.21.213, 104.18.20.213
    * Trying [2606:4700::6812:15d5]:80...
    * Trying 104.18.21.213:80...
    * Connected to e5.c.lencr.org (2606:4700::6812:15d5) port 80
    * using HTTP/1.x
    > GET /80.crl HTTP/1.1
    > Host: e5.c.lencr.org
    > User-Agent: curl/8.15.0
    > Accept: */*
    >
    * Request completely sent off
    < HTTP/1.1 200 OK
    < Date: Wed, 20 Aug 2025 08:25:08 GMT

    再试一下就被 reset 了:
    curl -v http://e5.c.lencr.org/80.crl
    * Host e5.c.lencr.org:80 was resolved.
    * IPv6: 2606:4700::6812:15d5, 2606:4700::6812:14d5
    * IPv4: 104.18.21.213, 104.18.20.213
    * Trying [2606:4700::6812:15d5]:80...
    * Trying 104.18.21.213:80...
    * Connected to e5.c.lencr.org (104.18.21.213) port 80
    * using HTTP/1.x
    > GET /80.crl HTTP/1.1
    > Host: e5.c.lencr.org
    > User-Agent: curl/8.15.0
    > Accept: */*
    >
    * Request completely sent off
    * Recv failure: Connection reset by peer
    * closing connection #0
    curl: (56) Recv failure: Connection reset by peer
    salmon5
        27
    salmon5  
       13 天前
    谁能总结下:哪些浏览器、组件会验证 Let's Encrypt 的 CRL ,从而会被影响?那就功德无量了
    cheng6563
        28
    cheng6563  
       13 天前   ❤️ 1
    @salmon5 应该没一个有。除非自己配置强制校验的策略。
    realpg
        29
    realpg  
    PRO
       13 天前
    用啥 le 的 acme 啊
    直接用 google 的 就是签发服务器要翻墙
    使用验证和 crl 都是墙内
    dianso
        30
    dianso  
       13 天前
    完全不会,你是一点也不懂啊。
    cccer
        31
    cccer  
       13 天前
    至少 Chrome 不会去下载和校验 CRL, 谷歌自己维护了一个压缩版的 CRLSet 。
    w7938940
        32
    w7938940  
       13 天前
    流放之路国际服前段时间更新提示证书错误就是这个问题
    Fqy
        33
    Fqy  
       13 天前
    这个网站还能上么
    https://www.huogua.net
    chinni
        34
    chinni  
       13 天前
    用 sniproxy 代理下 google 签发的 域名,然后国内要签发证书的机器上 写一条 host ,就可以基本无缝使用 google 证书了。最简单的办法了,可以不管 le 的 奇怪问题和 zerossl 的不定时抽风
    wzw
        35
    wzw  
       12 天前 via iPhone
    @chinni #34 google 证书 好用很多?
    FengkuiChan
        36
    FengkuiChan  
       12 天前
    今天凌晨大概坏了半小时,然后又好了
    shijingshijing
        37
    shijingshijing  
       12 天前
    我记得 iPhone 点下图标启动 App 之前也会通过 OCSP 对 App 证书进行校验,难道苹果也抛弃了?
    ```
    iPhone 上点击一个 App 时,系统会通过 OCSP 协议实时查询该 App 签名证书的状态,确保 App 的合法性和安全性。这一过程包括发送 OCSP 请求、接收并验证响应,最终决定是否允许 App 启动,从而保护用户免受潜在的安全威胁。
    ```
    DaDapeng
        38
    DaDapeng  
       12 天前
    请问微信内置浏览器会受影响吗?
    @salmon5
    Zy143L
        39
    Zy143L  
       12 天前
    @vfs 西安(移动) 已经寄了
    doruison
        40
    doruison  
       12 天前
    @billzhuang ocsp 已经被 le 废弃了,性能开销大
    vfs
        41
    vfs  
       12 天前
    @Zy143L 我的和你不是一个节点, :C:\Users\xxx>curl -v http://r11.c.lencr.org/46.crl
    * Host r11.c.lencr.org:80 was resolved.
    * IPv6: (none)
    * IPv4: 104.18.21.213, 104.18.20.213
    * Trying 104.18.21.213:80...
    * Connected to r11.c.lencr.org (104.18.21.213) port 80
    * using HTTP/1.x
    > GET /46.crl HTTP/1.1
    > Host: r11.c.lencr.org
    > User-Agent: curl/8.13.0
    > Accept: */*
    >
    * Request completely sent off
    < HTTP/1.1 200 OK
    < Date: Thu, 21 Aug 2025 01:02:01 GMT
    leoking6
        42
    leoking6  
       12 天前 via iPhone
    @fuzzsh 没有退役,只是 letsencrypt 宣布不再提供这个服务了。说是隐私考量,其实应该是成本扛不住了吧
    dnsjia
        43
    dnsjia  
       12 天前
    https://ssl.dnsjia.com 支持申请多个证书
    Zy143L
        44
    Zy143L  
       12 天前
    @vfs #41 R11 的确实没问题 但是 E5 确实寄了
    salmon5
        45
    salmon5  
       12 天前
    @DaDapeng #38 母鸡啊,反正企业业务使用 DigiCert ,CRL 和 OCSP 都是 digicert.cn 的;当然 GlobalSign 的 CRL 和 OCSP 也是全球加速的
    vibbow
        46
    vibbow  
       12 天前
    @villivateur 有 OCSP stapling 呀,服务器提前获取好就行
    zhanghua0
        47
    zhanghua0  
       11 天前
    @yokisama aur 那个是正在被打,已经发新闻解释了,以及提供了点缓解措施。
    Tink
        48
    Tink  
    PRO
       11 天前
    我之前都换成 zero SSL ,目前暂时还没啥问题
    journalist
        49
    journalist  
       10 天前
    我试了 e5.c 必断,其他数字随机抽风,akamai ( c 换成 i )没事,不知道可不可以在本地做个重定向 https://subdomainfinder.c99.nl/scans/2025-08-20/lencr.org
    e3c78a97e0f8
        50
    e3c78a97e0f8  
       10 天前 via iPhone
    只有 windows 下的 curl 用了 SChannel 有这个问题,Linux 下的 curl 根本不报错
    e3c78a97e0f8
        51
    e3c78a97e0f8  
       10 天前
    我看 zerossl.comgoogle.com 的证书 CRL 都是 pki.goog 域名上,这也是被墙的域名。那用 GTS ACME 和 ZeroSSL ACME 签发的证书 CRL 是不是也是 pki.goog 上?如果也是,那换 ACME provider 不能解决这个问题。
    AkinoKaedeChan
        52
    AkinoKaedeChan  
       1 天前
    至今难以理解为什么要 ban 这个…
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2929 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 14:32 · PVG 22:32 · LAX 07:32 · JFK 10:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.