Https协议中的Chain文件在什么情况下是必要的?

正在尝试为网站的部分功能做https加密,目前是测试阶段,所以都是使用openssl命令自己颁发证书,得到一个crt和一个key文件,分别写在Apache的SSLCertificateFile和SSLCertificateKeyFile字段中。

但是看网上的example里面似乎有一个SSLCertificateChainFile字段,经过一番Google发现这个字段在自己颁发证书时似乎是不需要的这个Chain的,但是某些颁发SSL机构颁发出来的证书似乎是需要这个的。

请问有人了解这个么。。。

阅读 4.3k
评论
    2 个回答
    • 11.5k

    操作系统/浏览器会内置一些CA(证书颁发机构)的证书,如果你的证书是直接由这些内置CA颁发的,那么就不需要Chain文件,浏览器可以直接识别你的证书。

    如果你的证书是由二级CA颁发的,即内置CA颁发给另一个二级CA,然后二级CA再颁发给你,那么就需要Chain文件,否则浏览器不知道你的证书和内置CA的关系。

    如果你将自己的CA设置成了内置CA,那么直接由你的CA颁发的证书自然不需要Chain文件。

      • 6.7k

      比較全功能的UA 比如瀏覽器, 可能會自己一層層找中間證書, 這種時候證書鏈不是必須.

      有的UA比如wget沒這些功能, 如果你不用自己站點提供證書鏈, 就會不被信任.

        撰写回答

        登录后参与交流、获取后续更新提醒