92.168.10.187 CA服务器
192.168.10.190 web服务器
(1)搭建CA
cd /etc/pki/CA
在这个目录下创建serial和index.txt两个文件
echo 00 > serial (00是颁发证书最初的版本号)
touch index.txt
(umask 006;openssl genrsa -out private/cakey.pem 4096) 生成私钥
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 生成自签名CA证书
(2)web服务器申请证书,CA服务器颁发证书
mkdir /etc/httpd/conf.d/ssl 创建一个目录来存放CA颁发的证书
(umask 006;openssl genrsa -out /etc/httpd/conf.d/ssl/httpd.key 2048) 生成私钥
openssl req -new -key /etc/httpd/conf.d/ssl/httpd.key -out /etc/httpd/conf.d/ssl/httpd.csr 申请证书
将这个申请证书发给CA服务器
scp /etc/httpd/conf.d/ssl/httpd.csr 192.168.10.187:/etc/pki/CA
然后CA服务器就可以颁发证书了
openssl ca -in httpd.csr -out certs/httpd.crt -days 300 颁发了一个300天有效期的证书
然后将CA服务器颁发的证书发给web服务器
scp certs/httpd.crt 192.168.10.190:/etc/httpd/conf.d/ssl/
另外CA自己的证书文件也要拷到web服务器
scp cacert.pem 192.168.10.190:/etc/httpd/conf.d/ssl/
此时web服务器上/etc/httpd/conf.d/ssl目录下有4个文件
(3)要想做一个加密的网站,自签名证书,只需安装一个模块mod_ssl即可
1.yum install mod_ssl
安装了这个模块,会生成/etc/httpd/conf.d/ssl.conf这个配置文件,接下来要配置这个配置文件
2.在/etc/httpd/conf.d/ssl.conf配置文件指定新的证书路径,私钥文件和上级CA证书的证书路径
vim /etc/httpd/conf.d/ssl.conf
配置完之后然后重新启动httpd服务
service httpd restart
ss -ntl 查看有没有443端口
(4)在/var/www/html下做一个简单的网站界面用来访问
(5)在windos上面做域名解析,C:\Windows\System32\drivers\etc\hosts
(6)用https来访问网站,安装证书
直接访问会有报警错误出现
点击证书错误
点击查看证书,进去点击证书路径,找到上级CA的证书路径,然后安装证书
然后再去用https来访问网站,就不会出现任何错误了