構築とアプリケーションサーバ証明書CA

目的:クライアントと認証機関にCAサーバを設定するには

準備:
   1. Linuxオペレーティングシステム(例えば、仮想マシンをcentos7するため)
   2.クライアント(centos6仮想マシン)を準備し
、右側のマインドマップへ。
構築とアプリケーションサーバ証明書CA

ステップ

サーバーは.CAを作成します。

   我々は、確立最初のサーバーの秘密鍵を適用し、パスをメモしcentos7を使用1. CAサーバ、我々は下の民間の/ etc / PKI / CA内のファイル/たい
構築とアプリケーションサーバ証明書CA
   2.だけで、自己署名証明書を生成するための秘密鍵を作成注:CAの証明書は、自分のために署名されています。
構築とアプリケーションサーバ証明書CA
   自己署名証明書を表示する
構築とアプリケーションサーバ証明書CA
  Windowsシステムの修正サフィックスCERにも詳細な情報を見ることができます。
構築とアプリケーションサーバ証明書CA
   3.新しいビルドされている場合は、手動で証明書がクライアントに発行されたときに、それ以外の場合はエラーが要求されます、インデックスファイルとシリアルファイルを作成してCA。
構築とアプリケーションサーバ証明書CA
   4.クライアント証明書へのクライアント証明書要求を取得します。
構築とアプリケーションサーバ証明書CA
証明書の後にも、彼らは、特定の証明書パスを見ることができる前に、最初にシステムにCA証明書サーバーをインストールするには注意を払って、表示するサフィックスを変更するには、Windowsに証明書をインポートすることができます。
構築とアプリケーションサーバ証明書CA
   5.証明書を失効。
構築とアプリケーションサーバ証明書CA


II。証明書のクライアントアプリケーション。

   1.クライアントは、最初の例centos6仮想マシンは、クライアントが自分のパスを定義することができ、自分の秘密鍵を申請する必要があり、私は/データ/アプリではここにあった/
構築とアプリケーションサーバ証明書CA
   ただ2.アプリケーションを生成した秘密鍵を使用してCA証明書を作成ファイル。
構築とアプリケーションサーバ証明書CA
   3. CAサーバーの認証に送信されたばかりの生成CA証明書の申請書類。
構築とアプリケーションサーバ証明書CA
CAサーバアプリケーションによって認証した後は、使用後に引き継ぐために、認証の証明書を置くことができます。


シェルスクリプトを使用すると、自動的にCAを作成して適用します

.CAサーバー

注意:クライアントアプリケーションをに/データ保存されます自動的にCA証明書上を通過/ダウン、その上にファイル名が続く唯一のスクリプトは、サフィックスを書き込みません。

#!/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
[email protected]
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 

II。クライアント

注意:クライアントは、2つのパラメータのみを読み取ることができますが、スクリプト名の後に適用したい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
[email protected]
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 .

おすすめ

転載: blog.51cto.com/13449039/2412391