🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 一、HTTPS 特点: 1)、内容加密:采用混合加密技术,中间者无法直接查看明文内容; 2)、验证身份:通过证书认证客户端访问的是自己的服务器; 3)、保护数据完整性:防止传输的内容被中间人冒充或者篡改; 它的加密解密核心,是证书,下面会介绍证书的内容; ## 二、openssl制作CA根证书 ~~~ openssl genrsa -des3 -out ca.key 2048 ~~~ 输入密码,如123456,再确认一次密码; 会在当前目录下,生成一个ca.key文件; ~~~ openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER -in ca.key -out ca_private.pem ~~~ 输入刚才产生ca.key的密码:123456; 会在当前目录下,生成一个ca_private.pem文件; ``` openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER -in ca.key -out ca_private.der ``` 将PEM文件转换为DER,得到一个ca_private.der文件; 再通过CA私钥生成CA证书; ~~~ openssl req -sha256 -new -x509 -days 365 -key ca.key -out ca.crt -subj "/C=CN/ST=SH/L=SH/O=Ray/OU=rayDevPlatform/CN=Rayframework" ~~~ 输入ca.key的密码:123456; 会在当前目录下,生成一个ca.crt文件,打开来看看,可以看到证书文件信息了; ![](https://img.kancloud.cn/96/6f/966f20b47c6d4f35f7893ebdf7e6c937_484x667.png) ## 三、导入证书 我们需要把自己制作的CA根证书加入浏览器受信任的根证书颁发机构; ![](https://img.kancloud.cn/da/b4/dab4e1454842a9f719cdbe3bb82fe75c_618x635.png) ![](https://img.kancloud.cn/79/7e/797eb846b531f77406afc8fbea7f3759_618x635.png) ![](https://img.kancloud.cn/a2/32/a2325b62b39b03bf509141e2c324fbd3_618x635.png) ![](https://img.kancloud.cn/d0/ca/d0ca450fd22688d9e8ea8380945e08b1_618x635.png) ![](https://img.kancloud.cn/0c/01/0c01aacb515fd9eaa597d6a1834bd32e_479x433.png) ![](https://img.kancloud.cn/35/53/3553d623d8cd59cab006f066d99e6559_592x603.png) 到这里,就拿到了CA根证书和私钥,只要在程序中通过这个私钥就能向下签发服务器SSL证书了;