由于通过手打命令生成证书,比较容易出错,导致证书损坏或者不可用的情况,所以将生成证书的相关命令,整理成一个可执行的shell脚本,可快捷地生成正确的密钥对,把更多的时间投入到业务开发上。
下载shell脚本文件
将下面的代码,完整不漏的拷贝,用文本编辑器另存为文件名叫openssl-generate.sh
的文件(文件名可以随意修改,但是执行脚本时,文件名称要写对)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| #!/bin/bash PASS= Init_Selection() { clear echo "+------------------------------------------------------------------------+" echo "| _ _ _ _ _ _ _ _ |" echo "| / / //_|/_//_//_//_//_'/ //_/ |" echo "| _/ / _/ |" echo "+------------------------------------------------------------------------+" echo "| openssl证书生成脚本v1.0 |" echo "+------------------------------------------------------------------------+" echo "| https://www.maoyupeng.club |" echo "+------------------------------------------------------------------------+" Echo_Green "请输入证书密码" read -p "Password:" PASS action_build }
action_build() { echo "创建AES256加密密钥..." openssl genrsa -passout pass:${PASS} -out rsa_aes_private.pem 2048 echo "生成公钥..." openssl rsa -in rsa_aes_private.pem -passin pass:${PASS} -pubout -out rsa_public.pem echo "PEM私钥转DER..." openssl rsa -in rsa_aes_private.pem -passin pass:${PASS} -out rsa_private_key.der -outform der echo "PEM公钥转DER..." openssl rsa -in rsa_public.pem -out rsa_public_key.der -pubin -outform der echo "Finish!"
}
Echo_Green() { echo $(Color_Text "$1" "32") }
Echo_Yellow() { echo $(Color_Text "$1" "33") }
Init_Selection
|
赋予脚本文件权限
执行以下命令,赋予脚本文件755权限。
注意,建议脚本保存到一个新建的文件夹内,因为执行生成证书后,证书会输出到同目录,避免文件太多时,找不到证书。
1
| sudo chmod -R 755 ./openssl-generate.sh
|
执行脚本并生成证书
执行脚本后,会提示输入证书的密码(这里公钥密钥的密码都统一为您输入的密码)。
输入密码后,等待片刻,就会在执行脚本的同目录输出证书文件,可参考下图