在购买ssl证书的官网上,填写相应可用的域名来购买ssl证书,可导出 tomcat上使用的格式,也可导出nginx上使用的格式。
下面说明在nginx下导出的格式:一个.pem文件,一个.key文件:
pem文件内容如下:
我们可以分别把-----BEGIN CERTIFICATE----- 到 -----END CERTIFICATE-----之间的内容分别拷贝到两个文件中,
注意不要拷贝-----BEGIN CERTIFICATE----- 和 -----END CERTIFICATE----- 的开头和结束标签。
然后将文件的扩展名改为.cer。
这里购买时为啥会给我们两个证书,一个用户证书,一个中间证书。
用户证书是用户花钱买的,是客户独享的。
中间证书是公用的,用户验证证书链。因为每个人PC电脑上不可能都有中间证书,所以我们把中间证书也放到服务端,这样客户在发起https请求时,会把用户证书和中间证书发送到客户电脑上。
那为啥一级证书(即根证书)DigiCert为啥没有提供呢,这是因为DigiCert在我们的电脑上默认都已经存在了,这是安装浏览器或操作系统时就自带的。默认就是在电脑的可信根证书列表内。所以这个就不会再提供了。一级证书验证中间证书的可信性,即是不是自己颁发的及有没有被篡改,同样中间证书用同样的方法来验证用户证书。都没有问题才表明我们的用户证书是可信任的。这里的小锁才是正常的。
xxx.key文件里存在的私钥内容,这个私钥不会发送给电脑PC端,其一直在服务端侧。也就是私钥不是公开的。
有的key文件里的内容是被加过密的,怎么来判断呢?