openssl实现私有CA

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

0x01 在109搭建搭建CA

1、手工创建

  • 在/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

2、命令创建

[root@localhost CA]# /etc/pki/tls/misc/CA -newca
0x02 在144搭建https
  • 安装mod_ssl模块
[root@redwand ~]yum install mod_ssl
[root@redwand ~]# 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 localhost.key -out localhost.csr
scp localhost.csr root@192.168.0.109:/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的证书请求文件签证

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

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

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

得到警告信息,因为该证书的颁发者的证书redwand是自签名的。
在这里插入图片描述
在这里插入图片描述
隐私与安全–》查看证书–》证书颁发机构,导入CA的证书cacert.crt,从而信任颁发机构。
在这里插入图片描述

0x05 CA吊销证书

吊销证书00.pem

[root@localhost ~]# echo 00 > /etc/pki/CA/crlnumber
[root@localhost ~]# openssl ca -revoke /etc/pki/CA/newcerts/00.pem -cert /etc/pki/CA/cacert.pem -keyfile /etc/pki/CA/private/cakey.pem -config /etc/pki/tls/openssl.cnf
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for /etc/pki/CA/private/cakey.pem:
Revoking Certificate 00.
Data Base Updated

生成证书吊销列表client.crl

[root@localhost ~]# openssl ca -gencrl -out /etc/pki/CA/crl/client.crl -cert /etc/pki/CA/cacert.pem -keyfile /etc/pki/CA/private/cakey.pem -config /etc/pki/tls/openssl.cnf

查看吊销列表的内容

[root@localhost crl]# openssl crl -in client.crl -text
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值