搭建颁发SSL证书服务器

  1. 搭建CA 创建CA私有秘钥  

    (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 )

    wKioL1lsKcTTKhs0AAAcnIn25VE109.png-wh_50

    完成以后可以tree命令查看

    tree /etc/pki/CA/ 

    SSL_第1张图片

    wKioL1lsKiqwrvK8AAAVzEkyalE216.png-wh_50

  2. 生成自签名证书

    openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/cacert.pem -days 3650

    wKioL1lsKtOj5XuEAAA_p573SXA581.png-wh_50

    wKioL1lsK92jKEIUAAA_zB5nCWA019.png-wh_50

    查看自制的CA证书

    openssl x509 -in /etc/pki/CA/cacert.pem -noout -text

    wKiom1lsLCTTXf-tAAAyykJK3jA370.png-wh_50

  3. 创建证书数据库文件

    touch /etc/pki/CA/index.txt

    wKioL1lsL6jxAZ7iAAAKcLMalh8734.png-wh_50

  4. 创建证书序列号文件(证书序列号必须要是两位)

    echo 10 > /etc/pki/serial

    wKiom1lsMBOxLdPEAAALrobuD1s996.png-wh_50

    客户端申请证书

    1.客户端生成私钥(客户端生成私钥不限制生成路径)


(usmask 066;openssl genrsa -out /app/service.key 4096; ) wKiom1lsLQaz3RoAAAAcmSGPjAg213.png-wh_50

2.查看生成的秘钥文件


cat /app/service.key

wKioL1lsLWuibdCrAAAKOC_jhjA101.png-wh_50



3.利用私钥生成证书请求文件

 openssl req -new -key /app/service.key -out /app/service.csr

wKiom1lsLhejXhxYAAAxV081sgg883.png-wh_50

填写信息需要,国家,省,公司名字需要跟CA填写的信息保持一致


wKioL1lsLqHT9OEwAAAJUekDML4149.png-wh_50 泛域名

申请证书的请求文件填写的信息会写在/service.csr


4.把证书请求文件复制到CA服务器

scp /app/service.csr 172.16.250.168:/etc/pki/CA

wKioL1lsLyHzCfOIAAANRkcjUu8049.png-wh_50

颁发证书

openssl ca -in /etc/pki/CA/csr/service.csr  -out /etc/pki/CA/certs/service.crt -days 100

SSL_第2张图片

SSL_第3张图片

可以用tree 命令查看

     10.pem是自动生成的

SSL_第4张图片

证书颁发完成以后 会更新数据库,把申请证书填写的信息生成索引

wKioL1lsMZXjAuTyAAAXTZrQq4Q340.png-wh_50

正式颁发完成以后查看serial   显示的是颁发下一个证书的编号

wKiom1lsMeaiUawXAAAK7m7rVlA239.png-wh_50 

查看生成的证书

SSL_第5张图片


把生成好的正式拷贝给 申请证书的服务器

证书颁发就此完成


额外

如果客户端申请证书文件填写的信息 与 CA 信息不一致那么颁发证书时会提示信息不一致错误

wKioL1lsMq_Tcr-pAAAn-6KLUH4395.png-wh_50

可以×××颁发策略

wKiom1lsMuLjOJE6AAAMLB_y4TQ180.png-wh_50

把策略改为 policy_anything

SSL_第6张图片

再次执行颁发证书命令,颁发成功,数据库里面会多一条

wKiom1lsMx2j0iNnAAAjRlpCX6o153.png-wh_50

老的证书数据库会自动备份一份

wKiom1lsMznRWvMGAAAVe1iV5PE214.png-wh_50

查看证书序列表,也会有更改,并且老的证书序列号文件也会备份一份

wKioL1lsM1PSY0EAAAAVP_uJYVY649.png-wh_50



检查域名必须是唯一性

如果客户端申请证书 使用重复的域名

wKioL1lsM7DhY3CYAAAvYRXs3BU946.png-wh_50

颁发证书的时候会提示信息重复,

可以把检验证书申请信息的唯一检验,关闭

wKiom1lsNAqg4M5HAAAOT8GtYhQ802.png-wh_50

wKioL1lsNB3RHXI9AAAElKBsUfs882.png-wh_50



吊销证书

查看已经颁发的证书

wKiom1lsNEGDn_YGAAA671ymcOg196.png-wh_50

取消9c 证书

wKiom1lsNGLjmoS1AAAab68FupQ778.png-wh_50

查看 数据库(R,状态表示吊销)

wKiom1lsNIKy6RwIAABBSvy-omw023.png-wh_50

手动创建 吊销证书的编号

wKioL1lsNMyRKcL0AAAPpJtso_4924.png-wh_50

手动生成吊销列表

wKioL1lsNTvwonLcAAAKCVn83e0702.png-wh_50

查看下一个吊销证书编号

wKioL1lsNa3xVlCpAAANW2zQSts838.png-wh_50

查看吊销的证书

SSL_第7张图片