99网
您的当前位置:首页shell脚本创建证书

shell脚本创建证书

来源:99网

证书相关的参数已经写死了,有想要通过输入传入的,可以拿这个改造下。

#!/bin/bash

rm ca.*
rm server.*
rm client.*

# 一、生成CA根证书
# 1、生成CA私钥(ca.key)
openssl genrsa -out ./ca.key 4096 

# 2、生成CA证书签名请求(ca.csr)
openssl req -new -key ./ca.key -out ./ca.csr -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=test/OU=main/CN=*.test.main.com/emailAddress=main@test.com"

# 3、生成自签名CA证书(ca.cert)
openssl x509 -req -days 3650 -in ./ca.csr -signkey ./ca.key -out ./ca.crt

# 二、生成Server证书
# 1、生成服务端私钥(server.key)
openssl genrsa -out ./server.key 4096

# 2、生成服务端证书签名请求(server.csr)
openssl req -new -key ./server.key -out ./server.csr -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=test/OU=server/CN=*.test.server.com/emailAddress=server@test.com"

# 3、使用ca证书签署服务端csr以生成服务端证书(server.cert)
openssl x509 -req -in ./server.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out ./server.crt -days 3650

# 三、生成Client证书(用于双向认证)
# 1、生成客户端私钥(client.key)
openssl genrsa -out ./client.key 4096

# 2、生成客户端证书签名请求(client.csr)
openssl req -new -key ./client.key -out ./client.csr -subj "/C=CN/ST=ShenZhen/L=ShenZhen/O=test/OU=client/CN=*.test.client.com/emailAddress=client@test.com"

# 3、使用ca证书签署客户端csr以生成客户端证书(client.cert)
openssl x509 -req -in ./client.csr -CA ./ca.crt -CAkey ./ca.key -CAcreateserial -out ./client.crt -days 3650

因篇幅问题不能全部显示,请点此查看更多更全内容