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

openssl实现私有CA

程序员文章站 2022-06-26 10:13:27
...

实验环境:
CA:192.168.0.109 (RHEL7.2)
https_server:192.168.0.144 (centos6.9)
client:192.168.0.176 (mac)

0x01 在109搭建搭建CA
  • 在/etc/pki/CA目录下操作,生成ca私钥
(umask 077;openssl genrsa -des -out private/cakey.pem 2048)
  • 由私钥生成公钥(可免)
openssl rsa -in private/cakey.pem -pubout > private/capub.pem
  • 用私钥自签名生成CA的证书cacert.pem
openssl req -new -x509 -key private/cakey.pem -out /etc/pki/CA/cacert.pem
0x02 在144搭建https
  • 安装mod_ssl模块
[aaa@qq.com ~]yum install mod_ssl
[aaa@qq.com ~]# rpm -ql mod_ssl
/etc/httpd/conf.d/ssl.conf
/usr/lib64/httpd/modules/mod_ssl.so
/var/cache/mod_ssl
/var/cache/mod_ssl/scache.dir
/var/cache/mod_ssl/scache.pag
/var/cache/mod_ssl/scache.sem
  • 按照144上配置文件/etc/httpd/conf.d/ssl.conf的目录默认存放要求,生成私钥。
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
cd /etc/pki/tls/private/
(umask 077;openssl genrsa -des -out localhost.key 1024)
  • 生成https的证书请求文件,发送给CA。
openssl req -new -key private/localhost.key -out localhost.csr
scp localhost.csr aaa@qq.com:/tmp
0x03 在109的CA上给144签证

根据/etc/pki/tls/openssl.conf配置文件要求创建index.txt文件,serial文件

touch /etc/pki/CA/index.txt
echo 00 > /etc/pki/CA/serial

给144的证书请求文件签证

[aaa@qq.com CA]openssl ca -in /tmp/localhost.csr -out /tmp/localhost.crt
[aaa@qq.com CA]# cat index.txt
V        210224115705Z                00        unknown        /C=CN/ST=SD/O=redwand/OU=it/CN=www.redwand.com/emailAddress=aaa@qq.com
[aaa@qq.com CA]# cat serial
01	#serial号码+1
[aaa@qq.com CA]# ls newcerts/
00.pem	#签好的https的证书

按照144上配置文件/etc/httpd/conf.d/ssl.conf的要求放置109的证书

scp 00.pem aaa@qq.com:/etc/pki/tls/certs/localhost.crt
0x04 client访问https://www.redwand.com

得到警告信息,因为该证书的颁发者的证书redwand是自签名的。
openssl实现私有CA
openssl实现私有CA
隐私与安全–》查看证书–》证书颁发机构,导入CA的证书cacert.crt,从而信任颁发机构。
openssl实现私有CA

相关标签: linux