标签:exp img 申请 CA服务器 ima bin 自己的 目的 win
目的:搭建一个CA服务器并给客户机授权认证准备:
?? 1. 一台linux操作系统(以centos7虚拟机为例)
?? 2. 准备一台客户机(centos6虚拟机)
先上一张思维导图吧。
?? 1. CA服务器我们用centos7来建立,先申请该服务器的私钥,注意路径,我们要把文件放在/etc/pki/CA/private下
?? 2. 利用刚刚建立好的私钥生成自签名证书,注:CA的证书是自己给自己签名的。
?? 查看自签名证书
??导入到windows系统中修改后缀为cer也可以看到详细信息。
?? 3. 如果是初次搭建CA还要手动建立index文件和serial文件,否则在给客户机颁发证书时会提示报错。
?? 4.得到客户机的证书申请给客户机颁发证书。
颁发证书后也可以把证书导入到windows改后缀查看,注意要先把CA服务器的证书安装到系统中才可以看到具体的证书路径。
?? 5.吊销证书。
?? 1.客户机首先也要申请自己的私钥,这里以虚拟机centos6为例,客户机的路径可以自己定义,我这里是在/data/app/
?? 2.用刚刚生成的私钥创建CA证书申请文件。
?? 3.把刚刚生成的CA证书申请文件,发送给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 <<EOF
CN
beijing
beijing
magedu
devops
ca.magede.com
admin@magedu.com
root
792402658
EOF
echo .
}
#------------------------------------------------------------------
#主程序开始
if [ ! -e $way/index.txt ];then
touch $way/index.txt
fi
if [ ! -e $way/serial ];then
echo 00 > $way/serial
fi
if [ ! -e $way/private/cakey.pem ];then
private
fi
#颁发证书
spawn 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 <<EOF
CN
beijing
beijing
magedu
37
app.magedu.com
app@magedu.com
792402658
root
EOF
echo .
}
#--------------------------------------------------------------
#生成本机密钥和CA申请文件
key
#把申请文件发送给CA服务器
#spawn scp reboot.sh $user@$ip:/data
expect <<EOF
set timeout 10
spawn scp $filecsr $hostname@$CAIP:/data
expect <<EOF
expect {
"yes/no" { send "yes\n";exp_continue }
"password" { send "$password\n" }
}
expect eof
EOF
echo .
标签:exp img 申请 CA服务器 ima bin 自己的 目的 win
原文地址:https://blog.51cto.com/13449039/2412391