欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Shell脚本一键生成SSL证书

程序员文章站 2021-12-25 10:57:14
...

这几天做EMQ的SSL认证,ssl证书一条一条执行创建命令太麻烦,写个Shell脚本,一键生成ssl证书。

创建脚本文件

sudo vim create.sh

脚本内容

#!/bin/bash

client_ip=192.168.1.3
# 生成文件目标路径
dir=/var/dlp/data/emqx/certs

# 生成自签名的CA key和证书(简单起见客户端和服务端共用一个CA证书)
sudo openssl genrsa -out $dir/ca.key 2048
sudo openssl req -x509 -new -nodes -key $dir/ca.key -sha256 -days 3650 -subj "/CN=www.emqx.io" -out $dir/ca.pem

# 生成服务器端的key和证书
sudo openssl genrsa -out $dir/server.key 2048
sudo openssl req -new -key $dir/server.key -out $dir/server.csr -subj "/CN=127.0.0.1"
sudo openssl x509 -req -in $dir/server.csr -CA $dir/ca.pem -CAkey $dir/ca.key -CAcreateserial -out $dir/server.pem -days 3650 -sha256


# 生成客户端key和证书
sudo openssl genrsa -out $dir/client.key 2048
sudo openssl req -new -key $dir/client.key -out $dir/client.csr -subj "/CN=$client_ip"
sudo openssl x509 -req -in $dir/client.csr -CA $dir/ca.pem -CAkey $dir/ca.key -CAcreateserial -out $dir/client.pem -days 3650 -sha256


# PKCS1私钥转换为PKCS8(该格式java调用)
sudo openssl pkcs8 -topk8 -inform PEM -in $dir/client.key -outform pem -nocrypt -out $dir/pkcs8.pem

赋予执行权限

chmod 777 create.sh

执行脚本

./create.sh

查看设置的路径下,文件已经生成好了

Shell脚本一键生成SSL证书

相关标签: 运维 运维