双证书签发-k8s ingress

本文详细介绍了如何使用OpenSSL命令行工具创建自签名的CA根证书,以及如何用此根证书签发服务器和客户端证书。此外,还提到了Nginx的SSL配置示例以及在Kubernetes环境中如何注入证书到应用中。
摘要由CSDN通过智能技术生成

经过实际测试

CA 根证书制作

创建 CA 私钥
openssl genrsa -out ca.key 2048#制作 CA 根证书(公钥)
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt

注意:
CA 证书中的 Common Name 不能与 server 和 client 证书中的 Common Name 相同

在创建证书请求文件的时候需要注意三点,下面生成服务器请求文件和客户端请求文件均要注意这三点:

(1) 根证书的Common Name填写root就可以

(2) 所有客户端和服务器端的证书这个字段需要填写域名;

(3) 一定要注意的是,根证书的这个字段和客户端证书、服务器端证书不能一样;

其他所有字段的填写,根证书、服务器端证书、客户端证书需保持一致最后的密码可以直接回车跳过。

经过上面三个命令行,我们最终可以得到一个签名有效期为10年的根证书root.crt,后面我们可以用这个根证书去颁发服务器证书和客户端证书。

制作证书

创建私钥
openssl genrsa -out server.pem 1024
openssl rsa -in server.pem -out server.key

生成签发请求
openssl req -new -key server.pem -out server.csr

使用 CA 证书进行签发
openssl x509 -req -sha256 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out server.crt

验证签发证书是否正确
openssl verify -CAfile ca.crt server.crt

制作 p12 证书(导入浏览器)
openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -outserver.p12

客户端证书创建方式与服务器证书创建方式相同

nginx 配置

Nginx
ssl on;
ssl_certificate ssl/server.crt;
ssl_certificate_key ssl/server.key;
ssl_client_certificate ssl/ca.crt;
ssl_verify_client on;

使用

Nginx
curl --key client.key --cert client.crt -XGET "https://localhost:11443" -k -v

客户端证书

SQL
创建私钥
openssl genrsa -out client.pem 1024
openssl rsa -in client.pem -out client.key

# 生成签发请求
openssl req -new -key client.pem -out client.csr

# 使用 CA 证书进行签发
openssl x509 -req -sha256 -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -days 3650 -out client.crt

# 验证签发证书是否正确
openssl verify -CAfile ca.crt client.crt

Plain Text
k8s 生产注入证书example

kubectl create secret generic ca-secret --from-file=ca.crt=ca.crt
kubectl create secret generic tls-secret --from-file=tls.crt=server.crt --from-file=tls.key=server.key

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值