创建ssl证书,使用ca进行签名,在crs和证书中,包含subjectAltName(IP)的实现方法


创建私钥

 

openssl genrsa -out etcd.key 2048 
 

创建CSR,包含sujectAltName(IP)

 

openssl req \
  -new \
  -key etcd.key \
  -out etcd.csr \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=DC/OU=System/CN=etcd" \
  -reqexts SAN \
  -config <(printf "[req]\ndistinguished_name=req\n[SAN]\nsubjectAltName=IP:127.0.0.1,IP:10.92.21.102,IP:10.92.21.103,IP:10.92.21.109")

 

查看CSR

openssl req -in etcd.csr -text -noout
 

 

使用CA对CSR签名,生成证书

openssl x509 -req \
  -CA /etc/ssl/etcd/ssl/ca.pem \
  -CAkey /etc/ssl/etcd/ssl/ca-key.pem \
  -CAcreateserial \
  -in etcd.csr \
  -out etcd.pem \
  -extfile <(printf "subjectAltName = IP:127.0.0.1,IP:10.192.121.202,IP:10.192.121.203,IP:10.192.121.209") \
  -days 7300 

 

  • -days 表示证书的过期时间,单位是天,这里是20年。

 

查看证书

openssl x509 -in etcd.pem -text -noout
 

这样,在证书里面,就包含了subjectAltName,这里面是用的IP地址,也可以用多个域名,使用DNS的方式

 

 

posted @ 2023-12-06 11:15  Zhai_David  阅读(126)  评论(0编辑  收藏  举报