openss自签证书

发布时间 2023-08-28 17:16:00作者: 坚强的小蚂蚁

有时候测试或者不太重要的服务使用自签证书比较方便

1. 单域名

openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=volunteer.nccc.site/ST=WuHan/L=WuHan/O=devops/OU=unicorn"
-req是证书请求的子命令
-newkey rsa:2048 -keyout tls.key  -newkey是与-key互斥的
-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥,
-nodes 表示私钥不加密
-out 指定生成的证书请求或者自签名证书名称
-days 365  证书有效期
若执行自动输入,可使用-subj选项:
 -subj——证书相关的用户信息(subject的缩写)

生成secret

kubectl create secret tls hong-nccc-site --key=tls.key --cert tls.crt -n nccc-volunteer

替换ingress中的secret

原先secret名字为nccc-site

https://blog.csdn.net/woaiyangmeng/article/details/127765469

2. 泛域名

下面命令需要openssl 1.1以上才行

# 生成CA Key证书
openssl genrsa 2048 > ca-key.pem

# 生成CA Cert证书
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca-cert.pem -subj=/C=CN/ST=Beijing/L=Beijing/O=ExampleO/OU=ExampleOU/CN=ExampleRootCA/emailAddress=admin@example.com

# 生成server证书签发请求和server private key证书;在此命令中修改CN(Common Name)用来创建域名证书请求
openssl req -newkey rsa:2048 -nodes -days 3650 -keyout server-key.pem -out server-req.pem -subj=/C=CN/ST=Beijing/L=Beijing/O=ExampleO/OU=ExampleOU/CN=*.example.com/emailAddress=admin@example.com

# 签发server证书请求,生成server cert证书;注意修改subjectAltName的值
openssl x509 -req -extfile <(printf "subjectAltName=DNS:*.example.com") -days 3650 -CAcreateserial -in server-req.pem -out server-cert.pem -CA ca-cert.pem -CAkey ca-key.pem
————————————————
版权声明:本文为CSDN博主「ioops」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_25919479/article/details/128702459

3. 多域名

# 生成CA Key证书
openssl genrsa 2048 > ca-key.pem

# 生成CA Cert证书
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca-cert.pem -subj=/C=CN/ST=Beijing/L=Beijing/O=ExampleOrganization/OU=ExampleOU/CN=ExampleRootCA/emailAddress=admin@example-domain.com

# 生成server证书签发请求和server private key证书;在此命令中填写多个CN(Common Name)用来创建多域名证书请求
openssl req -newkey rsa:2048 -nodes -days 3650 -keyout server-key.pem -out server-req.pem -subj=/C=CN/ST=Beijing/L=Beijing/O=ExampleOrganization/OU=ExampleOU/CN=*.example-domain.cn/CN=*.example-domain.com/emailAddress=admin@example-domain.com

# 签发server证书请求,生成server cert证书;注意修改subjectAltName的值,添加或减少多域名
openssl x509 -req -extfile <(printf "subjectAltName=DNS:*.example-domain.cn,DNS:*.example-domain.com") -days 3650 -CAcreateserial -in server-req.pem -out server-cert.pem -CA ca-cert.pem -CAkey ca-key.pem