1 Star 0 Fork 0

yll1024335892 / shell_script

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
generateSSL.sh 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
yll1024335892 提交于 2023-02-20 08:54 . 自建证书(openssl)
#! /bin/bash
DEMAIN=''
CA_DIR="/home/CA" #不要有反斜杆
while true; do
read -p "请输入域名:" domain
if [ -z "$domain" ]; then
echo "输入的域名不能为空"
else
DEMAIN=$domain
break;
fi
done
if [ ! -d "${CA_DIR}" ]; then
mkdir $CA_DIR -p
fi
# 第一步创建CA私钥
openssl genrsa -out "${CA_DIR}/root-ca.key" 4096
# 利用私钥创建 CA 根证书请求文件
# -subj 参数里的 /C 表示国家,如 CN;/ST 表示省;/L 表示城市或者地区;/O 表示组织名;/CN 通用名称
openssl req -new -key "${CA_DIR}/root-ca.key" -out "${CA_DIR}/root-ca.csr" -sha256 -subj "/C=CN/ST=Shanxi/L=Datong/O=公司名称/CN=Your Company Name Docker Registry CA"
#配置 CA 根证书,新建 root-ca.cnf
if [ ! -f "${CA_DIR}/root-ca.cnf" ]; then
cat>${CA_DIR}/root-ca.cnf <<END
[root_ca]
basicConstraints = critical,CA:TRUE,pathlen:1
keyUsage = critical, nonRepudiation, cRLSign, keyCertSign
subjectKeyIdentifier=hash
END
fi
# 签发根证书
openssl x509 -req -days 3650 -in "${CA_DIR}/root-ca.csr" -signkey "${CA_DIR}/root-ca.key" -sha256 -out "${CA_DIR}/root-ca.crt" -extfile "${CA_DIR}/root-ca.cnf" -extensions root_ca
# 生成站点SSL私钥
openssl genrsa -out "${CA_DIR}/${DEMAIN}.key" 4096
# 使用私钥生成证书请求文件
openssl req -new -key "${CA_DIR}/${DEMAIN}.key" -out "${CA_DIR}/site.csr" -sha256 -subj "/C=CN/ST=Shanxi/L=Datong/O=Your Company Name/CN=${DEMAIN}"
# 新建文件
if [ ! -f "${CA_DIR}/site.cnf" ]; then
cat>${CA_DIR}/site.cnf <<END
[server]
authorityKeyIdentifier=keyid,issuer
basicConstraints = critical,CA:FALSE
extendedKeyUsage=serverAuth
keyUsage = critical, digitalSignature, keyEncipherment
subjectAltName = DNS:${DEMAIN}, IP:127.0.0.1
subjectKeyIdentifier=hash
END
fi
# 签署站点SSL证书
openssl x509 -req -days 3650 -in "${CA_DIR}/site.csr" -sha256 -CA "${CA_DIR}/root-ca.crt" -CAkey "${CA_DIR}/root-ca.key" -CAcreateserial -out "${CA_DIR}/${DEMAIN}.crt" -extfile "${CA_DIR}/site.cnf" -extensions server
# 删除无效临时文件
rm -rf ${CA_DIR}/root-ca.cnf ${CA_DIR}/root-ca.csr ${CA_DIR}/root-ca.key ${CA_DIR}/root-ca.srl ${CA_DIR}/site.cnf ${CA_DIR}/site.csr
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/1024335892/shell_script.git
git@gitee.com:1024335892/shell_script.git
1024335892
shell_script
shell_script
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891