0%

openssl一键生成pem和der证书

由于通过手打命令生成证书,比较容易出错,导致证书损坏或者不可用的情况,所以将生成证书的相关命令,整理成一个可执行的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

执行脚本并生成证书

执行脚本后,会提示输入证书的密码(这里公钥密钥的密码都统一为您输入的密码)。

输入密码后,等待片刻,就会在执行脚本的同目录输出证书文件,可参考下图