一.自建CA服务:
1.创建所需文件:
cd /etc/pki
vim tls/openssl.cnf #查看所需文件
cd CA
touch index.txt #数据库序列文件
touch serial #新发证书序列号
touch crlnumber #吊销证书序列号
echo 01 > serial #为其赋予初始值
2.自签证书:
(umask 077;openssl genrsa #生成密钥
-out /etc/pki/CA/private/cakey.pem
2048)
openssl req -new #ca自签证书
-x509
-key /etc/pki/CA/private/cakey.pem
-days 7300
-out /etc/pki/CA/cacert.pem
需要依次输入:国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,
如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。
Country Name (2 letter code) [AU]:CN
State or Province Name(full name) [Some-State]:Beijing
Locality Name (eg,city) []:Beijing
Organization Name(eg,company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name(eg,section) []:info technology
Common Name (e.g. server FQDN or YOUR name)[]:demo.joyios.com 这一项必须和你的域名一致
Email Address []:liufan@joyios.com
二.客户段请求证书,CA颁发证书:
- 客户端生成证书请求文件:
Yum install httpd -y
cd /etc/httpd/
mkdir ssl #为应用建立证书目录
cd ssl
(umask 077;openssl genrsa #生成密钥
-out httpd.key
2048)
openssl req -new #生成证书请求文件
-key httpd.key
-days 306
-out httpd.csr
scp httpd.csr root@node1.magedu.com:/tmp #传输给ca证书请求文件
3.CA签发证书:
ls /tmp
openssl ca #签署证书
-in /tmp/httpd.csr
-out /tmp/http.crt
-days 365
cat index.txt
scp /tmp/http.crt root@node2.magedu.com:/etc/httpd/ssl
4.客户端查看证书信息:
openssl x509 -in http.crt -noout -text
openssl x509 -in http.crt -noout -subject
openssl x509 -in http.crt -noout -serial
三.吊销证书:
1.根据客户端提交的serial信息对比校验是否与index.txt文件信息一致:
cat index.txt
ls newcerts/
2.吊销证书:
openssl ca
-revoke /etc/pki/CA/newcerts/01.pem
3.生成吊销证书的编号:
echo 01 > /etc/pki/CA/crlnumber
4.更新证书吊销列表:
openssl ca
-gencrl
-out thisca.crl
5.查看crl文件:
openssl crl
-in /etc/pki/CA/thisca.crl
-noout -text