什么是根证书?数字证书中的信任基石解析!

吉云

今天跟大家聊聊我最近折腾的——根证书,这玩意儿听起来高大上,但没那么神秘。说白,就是个“信任”的问题。

我对这玩意儿也是一头雾水,啥是CA,啥是信任链,看得我脑壳疼。后来我就想,光看理论不行,得动手试试。

我找点资料,大致解根证书是个简单来说,就是有个机构(CA)跳出来说:“我保证我发的证书都是靠谱的!”然后它给自己发个证书,这就是根证书。你信任这个CA,就得把它的根证书装到你的电脑或者浏览器里。

什么是根证书?数字证书中的信任基石解析!

然后我就开始找我电脑里的根证书,想看看这玩意儿长啥样。在Windows里,直接在搜索栏搜“管理计算机证书”,打开之后就能看到“受信任的根证书颁发机构”,里面一堆证书,看得我眼花缭乱。

我就随便点开一个,看看里面的信息,大概就是这个证书是谁颁发的,有效期是多久,还有一些其他的参数。有些参数我也看不懂,但是没关系,知道它是个“身份证明”就行。

为更深入的理解,我还试着在浏览器里看看。Chrome浏览器里,在设置里搜索“管理证书”,也能找到类似的界面。

看完这些,我就在想,这些根证书都是哪来的?后来查查才知道,大部分操作系统和浏览器都会预装一些常用的根证书,这样我们才能放心的访问那些使用SSL加密的网站。

后来我还突发奇想,能不能自己创建一个根证书?网上搜一堆教程,发现要用到OpenSSL这个工具。这玩意儿我之前没用过,又花不少时间去学习怎么安装和使用。

按照教程,我一步一步的生成私钥、证书签名请求(CSR),然后用自己的私钥给自己签发一个根证书。过程还挺复杂的,各种命令参数,一不小心就出错。

什么是根证书?数字证书中的信任基石解析!

证书搞出来之后,我就想试试看能不能用它来签发其他的证书。我又生成一个新的私钥和CSR,然后用我刚刚创建的根证书给它签个名。

我把这个签过名的证书安装到我的电脑上,然后尝试访问一个使用这个证书的网站。结果?浏览器直接报错,说这个证书不受信任。

这也在我的意料之中,因为我自制的根证书并没有被操作系统信任。想要让浏览器信任我的证书,还需要把我的根证书添加到操作系统的信任列表中。

把自制的根证书加入信任列表后,再次访问那个网站,浏览器就不再报错。看到这里,我总算明白这个“信任”的流程。

折腾完这一圈,我对根证书的理解总算是更深一步。它不只是一个简单的文件,而是整个安全体系的基石。虽然过程有点复杂,但是自己动手实践一下,真的能学到不少东西。

免责声明:由于无法甄别是否为投稿用户创作以及文章的准确性,本站尊重并保护知识产权,根据《信息网络传播权保护条例》,如我们转载的作品侵犯了您的权利,请您通知我们,请将本侵权页面网址发送邮件到qingge@88.com,深感抱歉,我们会做删除处理。

目录[+]