下载帮

您现在的位置是:首页 > 服务器 > SSL证书

SSL证书

Openssl一键生成Pem和Der证书

2022-06-17 22:23SSL证书

由于通过手打命令生成证书,比较容易出错,导致证书损坏或者不可用的情况,所以将生成证书的相关命令,整理成一个可执行的shell脚本,可快捷地生成正确的密钥对,把更多的时间投入到业务开发上。


下载或保存Shell脚本文件

将下面的代码,完整不漏地复制下来,用文本编辑器另存为文件名叫openssl-generate.sh的文件(文件名可以随意修改,但是执行脚本时,文件名称要写对)。

#!/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权限。

注意,建议脚本保存到一个新建的文件夹内,因为执行生成证书后,证书会输出到同目录,避免文件太多时,找不到证书。

sudo chmod -R 755 ./openssl-generate.sh

执行脚本生成证书

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

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

文章评论