一鍵生成證書

OpenSSL生成證書

#!/usr/bin/env bash

set -e

# Locate shell script path
SCRIPT_DIR=$(dirname $0)
if [ ${SCRIPT_DIR} != '.' ]
then
  cd ${SCRIPT_DIR}
fi

# Generate RSA private key
openssl genrsa -des3 -passout pass:x -out server.pass.key 2048

# Remove password in the private key
openssl rsa -passin pass:x -in server.pass.key -out server.key
rm -f server.pass.key

# Generate CSR sign request
SUBJ="$1"
openssl req -new -key server.key -out server.csr -subj "$SUBJ"

# Generate CRT signed cert
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

./test.sh "/C=CN/ST=Guangdong/L=Guangzhou/O=xdevops/OU=xdevops/CN=link.511yao.com"

KeyTool生成證書

1、生成服務(wù)器證書庫

keytool -validity 365 -genkey -v -alias server -keyalg RSA -keystore server.keystore -dname "CN=127.0.0.1,OU=soft,O=soft,L=Haidian,ST=Beijing,c=cn" -storepass helloworld -keypass helloworld

2、生成客戶端證書庫

keytool -validity 365 -genkeypair -v -alias client -keyalg RSA -storetype PKCS12 -keystore client.p12 -dname "CN=client,OU=soft,O=soft,L=Haidian,ST=Beijing,c=cn" -storepass helloworld -keypass helloworld

3、從客戶端證書庫中導(dǎo)出客戶端證書

keytool -export -v -alias client -keystore client.p12 -storetype PKCS12 -storepass helloworld -rfc -file client.cer

4、從服務(wù)器證書庫中導(dǎo)出服務(wù)器證書

keytool -export -v -alias server -keystore server.keystore -storepass helloworld -rfc -file server.cer

5、生成客戶端信任證書庫(由服務(wù)器證書生成的證書庫)

keytool -import -v -alias server -file server.cer -keystore client.truststore -storepass helloworld

6、將客戶端證書導(dǎo)入到服務(wù)器證書庫(使得服務(wù)器信任客戶端證書)

keytool -import -v -alias client -file client.cer -keystore server.keystore -storepass helloworld

7、查看證書庫中的全部證書

keytool -list -keystore server.keystore -storepass helloworld

8、將server.keystore轉(zhuǎn)換成PKCS12類型證書

keytool -importkeystore -srckeystore server.keystore -destkeystore server.key.p12 -srcalias server -destalias server -srcstoretype jks -deststoretype pkcs12 -noprompt

keytool -importkeystore -srckeystore client.truststore -destkeystore trust.key.p12 -srcalias client -destalias client -srcstoretype jks -deststoretype pkcs12 -noprompt

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容