V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
herozzm
V2EX  ›  问与答

Let's Encrypt 签发的证书在 xp 系统访问失败

  •  
  •   herozzm · 2020-02-23 14:41:25 +08:00 · 2715 次点击
    这是一个创建于 1734 天前的主题,其中的信息可能已经有所发展或是发生改变。

    其他系统都正常,是 sha256 的,我看微软的 ssl 证书也是 sha256 可以正常访问,有人知道为什么吗?
    提示:This site can’t provide a secure connection ... uses an unsupported pro

    第 1 条附言  ·  2020-02-23 15:44:44 +08:00
    找到了解决方案,xp 下不支持 ecc 证书,要使用双证书
    https://imququ.com/post/ecc-certificate.html
    28 条回复    2020-02-24 04:19:13 +08:00
    malusama
        1
    malusama  
       2020-02-23 14:42:44 +08:00
    系统没有内置根证书?
    herozzm
        2
    herozzm  
    OP
       2020-02-23 14:43:00 +08:00
    @malusama 啥意思没明白
    seki
        3
    seki  
       2020-02-23 14:43:28 +08:00   ❤️ 1
    xp 系统不认识 letsencrypt 的根证书和中间证书
    换用自己管理证书的浏览器应该能可以,比如 firefox
    fengtons
        4
    fengtons  
       2020-02-23 14:43:32 +08:00 via Android   ❤️ 1
    我猜需要更新 CA 证书,毕竟 XP 够老了,可能没有收录 Let's Encrypt
    herozzm
        5
    herozzm  
    OP
       2020-02-23 14:44:07 +08:00
    @seki 用的是 chrome 访问失败,我试试火狐
    herozzm
        6
    herozzm  
    OP
       2020-02-23 14:49:06 +08:00
    @malusama
    @seki
    @fengtons
    为什么这个网 https://imququ.com/ 也是用的 let's 的证书,却可以访问?
    malusama
        7
    malusama  
       2020-02-23 14:50:58 +08:00
    不如把你的网站发出来
    seki
        8
    seki  
       2020-02-23 14:53:32 +08:00
    @herozzm 手头没有 xp 系统。你可以浏览器里面查看你的网站的证书信息,看看是哪里不被信任
    mayx
        9
    mayx  
       2020-02-23 14:53:39 +08:00 via Android
    可能加密算法不支持?
    mayx
        10
    mayx  
       2020-02-23 14:54:00 +08:00 via Android
    用 ssl3 试试?
    herozzm
        11
    herozzm  
    OP
       2020-02-23 14:54:10 +08:00
    LokiSharp
        12
    LokiSharp  
       2020-02-23 15:06:22 +08:00
    seki
        13
    seki  
       2020-02-23 15:10:28 +08:00
    https://www.ssllabs.com/ssltest 看了一下,看起来是服务器配置问题,第二证书不匹配
    herozzm
        14
    herozzm  
    OP
       2020-02-23 15:20:45 +08:00
    @seki
    怎么看的?我就看到 ie6/xp 下不行
    申请下来一堆证书,fullchain.cer 和域名.xx 一堆后缀,我就用了 fullchain.cer 和域名.key 两个
    Laforet
        15
    Laforet  
       2020-02-23 15:23:54 +08:00 via Android
    XP 自带的 TLS 库最大的问题是不支持 SNI
    herozzm
        16
    herozzm  
    OP
       2020-02-23 15:25:19 +08:00
    @Laforet 我删除其他的证书了,一个服务器上就一个域名证书
    eason1874
        17
    eason1874  
       2020-02-23 15:34:40 +08:00
    不关证书的事。

    先确认协议,IE 6 默认没有开 TLS,默认最高是 SSLv3 ;其次确认通过 IP 访问可以获取到证书,因为 XP 系统 IE 浏览器不支持 SNI,IE 6 获取证书是通过 https://ip 去获取的。你可以在 chrome 浏览器打开这个链接去确认,因为你的证书里没有 IP 地址,chrome 会提示你证书错误并返回证书包括的域名,你看证书域名是不是你这个就行了。
    eason1874
        18
    eason1874  
       2020-02-23 15:42:54 +08:00   ❤️ 1
    补充一下,IE 6 默认没有开 TLS,但在绝大部分用户的实际使用环境中都是开了的,不知道是安全软件帮他们开的还是其他浏览器帮他们开的,我提这个只是提醒你要测试的话,得注意这一点。在浏览器设置里可以更改允许的协议。

    要完全兼容 IE6 的话,得给 ssl_protocols 加上 SSLv3,密码套件的话,好像有 RSA+AES 就可以。按我说的排查准没错,我之前网站就是兼容 IE 6,也用的 Let's Encrypt 证书。
    herozzm
        19
    herozzm  
    OP
       2020-02-23 16:20:48 +08:00
    @eason1874 xp 下不支持 ecc 证书,使用了双证书,现在是 xp+ie8 不能访问
    eason1874
        20
    eason1874  
       2020-02-23 16:47:11 +08:00
    @herozzm #19 一样的,XP 系统下的 IE 都不支持 SNI,都需要能通过 IP 获取证书。只是我说的情况是 RSA 证书,没想到你用了 ECC 证书。

    如果在 XP 下 IE6 能访问了,那 IE8 也应该可以,你先清理缓存试试。
    herozzm
        21
    herozzm  
    OP
       2020-02-23 17:00:27 +08:00
    @eason1874 没有,我能在 xp 下访问的仅是老版本的 chrome 而已,ie6 直接放弃了,现在仅需要适配 ie8 即可,好像无法开启 sslv3,ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; 不行
    eason1874
        22
    eason1874  
       2020-02-23 17:10:31 +08:00
    @herozzm #21 哪个系统的 IE 8 都默认开启 TLSv1 了,所以这个协议不成问题。

    你先用 chrome 访问 https://你的服务器 IP 这个链接,chrome 会提示“您的连接不是私密连接”,然后你点高级,看看"其安全证书来自"后面那个域名是不是你的网站域名,不是就说明是 SNI 问题。那你得给 IP 配置个 443 的 default_server,证书是你网站域名证书,或者给你网站配置加上 default_server。

    listen 443 ssl http2 default_server

    注意,如果你用了 CDN,那就不用看了,肯定是 SNI 问题。用 CDN 就无解了,因为 CDN 不会单独给你 IP 用。
    herozzm
        23
    herozzm  
    OP
       2020-02-23 18:24:20 +08:00
    @eason1874 好吧 哪算了,直接抛弃了 ie6-ie8,nginx 遇到直接跳 http,其他还是 https,目前只能这么办
    vocaloid
        24
    vocaloid  
       2020-02-23 19:19:31 +08:00
    一般来说用 firefox 可解
    beyondex
        25
    beyondex  
       2020-02-23 19:46:46 +08:00 via Android
    就是不支持 xp 的。
    zeocax
        26
    zeocax  
       2020-02-23 20:48:29 +08:00 via Android
    @malusama @seki @fengtons
    目前 Let's encrypt 签发证书的证书链的根证书仍然还是由另一家 CA 机构交叉签名的,兼容 XP 没有问题。考虑到兼容问题,Let's encrypt 的安排是在 2022 年才使用自己的根证书。
    seki
        27
    seki  
       2020-02-23 21:07:48 +08:00
    @herozzm 你看一下 certificate #2 那部分,证书签发的域名不匹配
    webshe11
        28
    webshe11  
       2020-02-24 04:19:13 +08:00
    好惨一程序员,2020 年还在支持 XP
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2692 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 12:27 · PVG 20:27 · LAX 04:27 · JFK 07:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.