CA服务器的搭建和申请证书 2021-01-25 网络 暂无评论 2221 次阅读 目的:搭建一个CA服务器并给客户机授权认证 准备: 1. 一台linux操作系统(以centos7虚拟机为例) 2. 准备一台客户机(centos6虚拟机) 先上一张思维导图吧。 ![ca-openssl-01.png](https://blog.moper.net/usr/uploads/2021/01/1473959771.png) 步骤 一.CA服务器创建。 1. CA服务器我们用centos7来建立,先申请该服务器的私钥,注意路径,我们要把文件放在/etc/pki/CA/private下 ![ca-openssl-02.jpg](https://blog.moper.net/usr/uploads/2021/01/2394323041.jpg) 2. 利用刚刚建立好的私钥生成自签名证书,注:CA的证书是自己给自己签名的。 ![ca-openssl-03.jpg](https://blog.moper.net/usr/uploads/2021/01/1860699737.jpg) 查看自签名证书 ![ca-openssl-04.jpg](https://blog.moper.net/usr/uploads/2021/01/2051917927.jpg) 导入到windows系统中修改后缀为cer也可以看到详细信息。 ![ca-openssl-05.jpg](https://blog.moper.net/usr/uploads/2021/01/553839829.jpg) 3. 如果是初次搭建CA还要手动建立index文件和serial文件,否则在给客户机颁发证书时会提示报错。 ![ca-openssl-06.jpg](https://blog.moper.net/usr/uploads/2021/01/2601737202.jpg) 4.得到客户机的证书申请给客户机颁发证书。 ![ca-openssl-07.jpg](https://blog.moper.net/usr/uploads/2021/01/1657524362.jpg) 颁发证书后也可以把证书导入到windows改后缀查看,注意要先把CA服务器的证书安装到系统中才可以看到具体的证书路径。 ![ca-openssl-08.jpg](https://blog.moper.net/usr/uploads/2021/01/186917722.jpg) 5.吊销证书。 ![ca-openssl-09.jpg](https://blog.moper.net/usr/uploads/2021/01/1616905208.jpg) 二.客户机申请证书。 1.客户机首先也要申请自己的私钥,这里以虚拟机centos6为例,客户机的路径可以自己定义,我这里是在/data/app/ ![ca-openssl-10.jpg](https://blog.moper.net/usr/uploads/2021/01/1759143329.jpg) 2.用刚刚生成的私钥创建CA证书申请文件。 ![ca-openssl-11.jpg](https://blog.moper.net/usr/uploads/2021/01/830527496.jpg) 3.把刚刚生成的CA证书申请文件,发送给CA服务器认证。 ![ca-openssl-12.jpg](https://blog.moper.net/usr/uploads/2021/01/842751269.jpg) CA服务器通过申请认证后,就可以把认证后的证书拿过来使用了。 利用shell脚本实现自动创建CA和申请。 一.CA服务器 注:客户机自动传过来的CA申请证书会保存在/data/下,只需要脚本后跟文件名就可以了,不用写后缀。 ``` #!/bin/bash # #*********************************************************** #Autohor: GuoCheng #QQ: 792402658 #Date: 2019-06-20 #FileName: createCA.sh #*********************************************************** set -u set -e way=/etc/pki/CA day=100 name=$1 cd $way #-------------------------定义函数------------------------------- #生成CA自己的私钥 private(){ (umask 077;openssl genrsa -out private/cakey.pem 4096 ) openssl req -new -x509 -key $way/private/cakey.pem -out $way/cacert.pem -days 3650 < $way/serial fi if [ ! -e $way/private/cakey.pem ];then private fi #颁发证书 openssl ca -in /data/${name}.csr -out $way/certs/${name}.crt -days $day ``` 二.客户机 注:客户机只需要在脚本名后写入你想申请的CA证书名(不用写后缀)和CA服务器IP两个参数就可以看了,注意此脚本不够完善 顺序不要写反。 ``` #!/bin/bash # #*********************************************************** #Autohor: GuoCheng #QQ: 792402658 #Date: 2019-06-22 #FileName: RequestCA.sh #*********************************************************** set -u set -e way=/data/app hostname=root password=792402658 filename=$1 CAIP=$2 filekey=${filename}.key filecsr=${filename}.csr cd $way #----------------------定义函数------------------------------- key(){ (umask 066;openssl genrsa -out $filekey 1024) openssl req -new -key $filekey -out $filecsr < 标签: openssl, ca 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。