利用私有CA,实现HTTPS

利用私有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中,用浏览器打开时导入这个证书即可

在这里插入图片描述
在这里插入图片描述

发布了33 篇原创文章 · 获赞 0 · 访问量 8652

猜你喜欢

转载自blog.csdn.net/studywinwin/article/details/104118366