简介
Last updated
Was this helpful?
Last updated
Was this helpful?
平时我们访问https网站时,好像并不需要操作什么证书,直接打开浏览器就可以访问。本文将介绍为什么我们平时可以直接访问HTTPS网站。
首先有一个概念叫 CA(Certificate Authority),维基百科的翻译叫证书认证机。它是受大众信任的一个第三方机构,负责发放证与管理证书。它有自已一对自已密钥:私钥(ca.key)与公钥(ca.crt)。公钥是公布出去的,所有人和组织都可以拿到,私钥是CA自已保留的,不外泄。
接下来,我们看一下当一个公司需要搭建一个自已的网站,并提供https服务的流程,流程图如下:
首先,公司A生成自已的私钥a.key和证书签名请求文件a.csr;然后公司A提交自已的csr给CA,CA利用自已的私钥与公钥给公司A的csr文件进行数字签名,生成签名后的证书文件a.crt,然后发给公司A。最后,公司A利用a.key与a.crt就可以提供https服务。外界只需要使用CA公布出来的公钥ca.crt就能访问https://a.com
服务。
同样,如果公司B的签名证书也是由CA签名的,那么在浏览器同样可以使用ca.crt访问B公司的https://b.com
服务。这就是为什么,我们在访问google,百度这样的网站的https页面时,并没有设置证书的过程;这是因为安装操作系统时,系统里已经自带了CA的公钥,在操作系统里,它叫根证书。
为什么浏览器有了CA的根证书后,就能够访问用CA签署的证书起的HTTPS服务呢?请看下一节《HTTPS原理》