pupuk / blog

My New Blog. Record & Share. Focus on PHP, MySQL, Javascript and Golang.
MIT License
9 stars 2 forks source link

部署购买申请HTTPS证书流程「图」 #12

Open pupuk opened 5 years ago

pupuk commented 5 years ago

不难,网上教程也很多。但是我想一图胜千言。 原理懂了,流程就迎刃而解的事情。

qq 20180920111923_

一些注解:

1、生成csr和key文件,可以命令行,用openssl命令生成。OR 使用在线的网页生成工具,比如:https://myssl.com/csr_create.html https://csr.chinassl.net/generator-csr.html openssl命令比如: openssl req -new -SHA256 -newkey rsa:2048 -nodes -keyout www.qq.com.key -out www.qq.com.csr -subj "/C=CN/ST=Guangdong/L=ShenZhen/O=tengxunjisuanji/OU=/CN=www.qq.com"

2、在生成csr文件的过程中,我们填写了域名,公司名称,省份,城市等信息。运用反解工具,可以从csr文件中反解出信息。反解链接:https://csr.chinassl.net/decoder-csr.html

3、第二部在,购买ssl证书的网站中,需要做域名所有权的验证。一般有3中方式:

 1. 往admin@yourdomain.com(或webmaster@yourdomain.com等) 邮箱中的发邮件。可以使用qq
    的免费企业邮箱快速搭建一个。

 2.通过文件验证。如果已经有了该域名的http网站,使用这种方式最方便。往指定的目录放一个指定内容的txt文件。

 3.通过DNS,可能需要添加一个指定的DNS记录。

4、一般来说,使用最后生成的cer文件和先前的key文件就够了。有的地方需要使用中级证书。可以把几个文件组成一个pem文件。 ServerCertificate.cer+CACertificate-1.cer+CACertificate-2.cer = new.pem 或者 ServerCertificate.cer+CACertificate-INTERMEDIATE-1.cer+CACertificate-ROOT-2.cer = new.pem 意思是说:为了扩大兼容性,我们的pem证书可以由: 服务商证书+中级证书+跟证书组成。

在nginx上,使用 ServerCertificate.cer + 先前的key文件。ok。 或者new.pem + 先前的key文件。亦ok。 当然在准备部署到服务器的之前,我们可以对最后的,key文件,csr文件,和cer文件(pem)文件,做一个校验,校验链接:https://csr.chinassl.net/match-ssl-details.html 只要通过校验,一般部署没有任何问题。

5、https解决的是传输加密,并没有解决站点信任的问题。站点是否可信,正是ssl证书解决的。

后续准备写一个https公钥,私钥,认证加密的一些原理和自己的一些想法。