- 超文本传输协议http协议被用于在Web浏览器和网站服务器之间传递信息,http协议以明文方式发送内容,不提供任何方式的数据加密,安全性低。
- 安全套接字层超文本传输协议https,基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护。
- https协议需要到CA申请证书,阿里云也提供了相应的服务,今天我们就手工生成证书来测试,当然浏览器通过https访问,会提示“不安全”,因为这个证书不是CA系统签发的,以后有项目需求,可以去阿里云购买SLL证书。
## 1、生成CA证书
**(1)查看openssl是否安装**
openssl version -a
![90da50ce93ea750e14419e329c990578.png](https://i-blog.csdnimg.cn/blog_migrate/069fe1b041c312186d74444f74a0a4ee.jpeg)
- OPENSSLDIR: "/etc/pki/tls",这个是openssl的安装位置
**(2)搭建ca服务器:**
- 根据配置文件信息,到CA根目录,若没有则自己创建
cd /etc/pki/CA
mkdir -pv {certs,crl,newcerts,private}
touch {serial,index.txt}
![9a9a8c6f763c613077f12f1739f13e61.png](https://i-blog.csdnimg.cn/blog_migrate/e418ad8d86f18c38a571a12ef9b0a76f.png)
- 证书开始编号
echo 01 >> serial
- ca生成自己的私钥
(umask 077; openssl genrsa -out private/cakey.pem 2048)
![156bb7217c8fb4ba2a1cbd90cab96b90.png](https://i-blog.csdnimg.cn/blog_migrate/00c2cf52e650260839078fbf0838c031.png)
- 生成自签证书
openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 365
![a628a75fb613cf878d228c3fd6f353b8.png](https://i-blog.csdnimg.cn/blog_migrate/054bfefb9443022ae889aeaf19b8f734.jpeg)
**(3)颁发证书**
- CA搭好了,我们就可以使用这个来为其他证书签名。
- 生成私钥(位置随意)
(umask 077; openssl genrsa -out test.key 2048)