欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用私有CA,实现HTTPS

程序员文章站 2022-03-15 23:37:08
...

利用私有CA,实现HTTPS

  1. ca服务器生成一个私钥,利用私钥生成证书
  2. httpd服务器生成私钥,生成证书申请文件
  3. 利用证书申请文件向ca服务器申请证书
  4. 颁发证书
  5. httpd服务器需要自己的私钥,证书,ca的证书来实现https
  6. 客户端访问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中,用浏览器打开时导入这个证书即可

利用私有CA,实现HTTPS
利用私有CA,实现HTTPS

相关标签: APACHE