1、服务器先安装openssl
默认服务器都是安装的,确认下
[root@k8s2 ~/ssl/test]#openssl version
OpenSSL 1.0.2k-fips 26 Jan 2017
2、脚本自动生成
#!/bin/bash
#输入要生成的ssl证书地址并创建出来该域名的目录
read -p "Enter your domain [www.example.com]: " domain
echo "you input ssl doman is : $domain"
if [ ! -d "cert/$domain" ];then
echo "$domain 文件夹不存在,进行创建"
mkdir -pv cert/$domain
else
echo "$domain 文件夹存在,删除存在的ssl证书"
rm -rf cert/$domain/*
fi
cd cert/$domain
#openssl genrsa -aes256 -out ./cakey.pem 4096
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt \
-subj "/C=CN/ST=HN/L=XC/O=XC/OU=FF/CN=${domain}"
#openssl req -text -noout -in ca.crt
openssl req -newkey rsa:4096 -nodes -sha256 -keyout "$domain".key -out "$domain".csr \
-subj "/C=CN/ST=HN/L=XC/O=XC/OU=FF/CN=${domain}" \
-utf8
openssl x509 -req -days 365 -in "$domain".csr -CA ca.crt -CAkey ca.key -CAcreateserial -out "$domain".crt
生成的证书在当前目录下cert/域名的文件夹里面,目录结构如下:
[root@k8s2 ~/ssl/test/cert/www.hzy2013.cn]#ll
总用量 24
-rw-r--r-- 1 root root 1976 5月 10 19:33 ca.crt
-rw-r--r-- 1 root root 3272 5月 10 19:33 ca.key
-rw-r--r-- 1 root root 17 5月 10 19:33 ca.srl
-rw-r--r-- 1 root root 1858 5月 10 19:33 www.hzy2013.cn.crt
-rw-r--r-- 1 root root 1679 5月 10 19:33 www.hzy2013.cn.csr
-rw-r--r-- 1 root root 3272 5月 10 19:33 www.hzy2013.cn.key