V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Get Google Chrome
Vimium · 在 Chrome 里使用 vim 快捷键
j0hnj
V2EX  ›  Chrome

Chrome 对证书检验是不是有特殊处理

  •  
  •   j0hnj · 2019-04-16 19:02:52 +08:00 · 3749 次点击
    这是一个创建于 2082 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一个自签名的根证书,已经添加到了 Windows 的信任根证书列表中,通过 Edge 和 IE 访问能通过校验,显示的是安全的网页。但是用 Chrome 访问就一直提示不安全,点开证书详情看也没有提示证书无效之类的:

    24 条回复    2019-04-17 16:15:12 +08:00
    yexm0
        1
    yexm0  
       2019-04-16 19:22:40 +08:00 via Android
    去 chrome://flags 然后用 localhost 做关键词搜一下
    SingeeKing
        2
    SingeeKing  
       2019-04-16 19:27:09 +08:00
    chrome://flags/#allow-insecure-localhost
    j0hnj
        3
    j0hnj  
    OP
       2019-04-16 19:37:58 +08:00
    @yexm0 #1
    @SingeeKing #2

    这个 flag 说:
    Allows requests to localhost over HTTPS even when an invalid certificate is presented. – Mac, Windows, Linux, Chrome OS, Android

    但是我这个 localhost 的证书是有效的啊,而且开了这个 flag 之后,仍然会显示 Not Secure
    lisonfan
        4
    lisonfan  
       2019-04-16 19:39:25 +08:00 via iPhone
    Chrome 貌似有自己的信任表,不用 Windows 的?
    ladypxy
        5
    ladypxy  
       2019-04-16 19:41:05 +08:00 via iPhone
    Chrome 会检查证书链,这就是你至少要有 2 级证书才会信任
    j0hnj
        6
    j0hnj  
    OP
       2019-04-16 19:55:01 +08:00
    @lisonfan #4 Chrome 用的是 Windows 的,自己维护了一套的是 Firefox。我把根证书导到 firefox 的证书管理器后,用 Firefox 也可以正常访问。
    j0hnj
        7
    j0hnj  
    OP
       2019-04-16 19:58:35 +08:00
    @ladypxy #5
    实际上现在就是 2 级:
    ladypxy
        8
    ladypxy  
       2019-04-16 21:33:25 +08:00
    @j0hnj 你需要去信任根证书,主要要添加到正确的位置
    j0hnj
        9
    j0hnj  
    OP
       2019-04-16 21:40:20 +08:00 via iPhone
    @ladypxy #8 已经添加到正确位置了,因为 edge 和 IE 都能信任这个证书
    wdlth
        10
    wdlth  
       2019-04-17 00:39:02 +08:00
    也有可能是因为没有 CT 或者是你的协议太旧等其他原因。
    alvinbone88
        11
    alvinbone88  
       2019-04-17 00:44:43 +08:00
    hanguofu
        12
    hanguofu  
       2019-04-17 03:21:41 +08:00
    兄弟不才,斗胆说两句: 很早以前,google 就已经不提倡使用 localhost ,而是使用 127.0.0.1.
    不知道是不是这个原因?
    ladypxy
        13
    ladypxy  
       2019-04-17 05:02:08 +08:00 via iPhone
    @j0hnj 看看你证书是不是 sha2 的?同时必须有 ct 和 san
    xenme
        14
    xenme  
       2019-04-17 06:07:33 +08:00 via iPhone
    第一个截图点下 certificate invalid,chrome 会告诉你为啥不信任的
    j0hnj
        15
    j0hnj  
    OP
       2019-04-17 08:38:56 +08:00 via iPhone
    @xenme #14 第二个截图就是第一个点开之后的,chrome 也没有显示为啥 invalid
    nannanziyu
        16
    nannanziyu  
       2019-04-17 09:11:55 +08:00
    @j0hnj
    F12 -> Security 看看呢,应该会给错误码
    hmzt
        17
    hmzt  
       2019-04-17 09:35:04 +08:00
    签名算法和公钥长度?
    huijiewei
        18
    huijiewei  
       2019-04-17 09:42:02 +08:00
    不要纠结了,直接 mkcert 搞起就好了
    Keyes
        19
    Keyes  
       2019-04-17 09:49:45 +08:00 via iPhone
    配 san 属性了吗?
    Vegetable
        20
    Vegetable  
       2019-04-17 09:53:52 +08:00
    这证书用途看起来怪怪的呢?不应该是服务器证书吗
    Vegetable
        21
    Vegetable  
       2019-04-17 09:54:28 +08:00
    我这里是中文,SSL 服务器证书
    xenme
        22
    xenme  
       2019-04-17 10:09:29 +08:00
    @j0hnj

    说错了,参考 @nannanziyu,security 那里会有详细的错误描述
    j0hnj
        23
    j0hnj  
    OP
       2019-04-17 11:26:49 +08:00
    配 san 之后 chrome 仍然认为 invalid, 然后改 hosts 给 127.0.0.1 配了一个正常的域名,再用这个域名去签发证书,就可以。
    redsonic
        24
    redsonic  
       2019-04-17 16:15:12 +08:00
    歪个楼,如果 chrome 发现有其他站用了 g 家的域名签发的证书就会把该证书上传上去. 不严格的讲 chrome 是操作系统不是单纯的浏览器.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 02:24 · PVG 10:24 · LAX 18:24 · JFK 21:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.