利用私有CA,实现HTTPS
程序员文章站
2022-03-15 23:37:08
...
利用私有CA,实现HTTPS
利用私有CA,实现HTTPS
- ca服务器生成一个私钥,利用私钥生成证书
- httpd服务器生成私钥,生成证书申请文件
- 利用证书申请文件向ca服务器申请证书
- 颁发证书
- httpd服务器需要自己的私钥,证书,ca的证书来实现https
- 客户端访问httpd服务器时需要安装证书
CA服务器自生成证书
[caserver]# cd /etc/pki/CA
[caserver]# (umask 077;openssl genrsa -out private/cakey.pem 4096) --生成一个私钥文件
[caserver]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 3650 -- 生成证书
[caserver]# touch /etc/pki/CA/index.txt
[caserver]# echo 01 > /etc/pki/CA/serial
[caserver]# openssl x509 -in cacert.pem -noout -text -- 查看证书
httpd服务器申请证书
[httpdserver]# yum install httpd mod_ssl -y
[httpdserver]# cd /etc/httpd/conf.d
[httpdserver]# mkdir ssl
[httpdserver]# cd ssl
[httpdserver]# (umask 066;openssl genrsa -out httpd.key 1024) -- 生成私钥文件
[httpdserver]# openssl req -new -key httpd.key -out httpd.csr -- 生成证书申请文件
[httpdserver]# scp httpd.csr 192.168.43.7:/etc/pki/CA/ --将证书申请文件复制到caserver:/etc/pki/CA
CA颁发证书
[caserver]# cd /etc/pki/CA
[caserver]# openssl ca -in httpd.csr -out certs/httpd.crt -days 100
[caserver]# scp cacert.pem certs/httpd.crt 192.168.43.17:/etc/httpd/conf.d/ssl/
httpdserver 配置文件
[httpdserver]# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/httpd/conf.d/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/conf.d/ssl/httpd.key
SSLCACertificateFile /etc/httpd/conf.d/ssl/cacert.pem
[httpdserver]# vim /etc/httpd/conf/httpd.conf
注释掉 documentroot "/var/www/html"
[httpdserver]# vim /etc/httpd/conf.d/test.conf
documentroot "/data/html"
<directory "/data/html">
require all granted
</directory>
httpdserver 配置网站根目录
[httpdserver]# mkdir /data/html
[httpdserver]# echo /data/html/index.html > /data/html/index.html
windows 浏览器访问
配置host文件
C:\Windows\System32\drivers\etc\hosts
192.168.43.17 www.a.com
在浏览器中安装证书
将 caserver 的证书传到 windows中,用浏览器打开时导入这个证书即可