1.创建证书存放目录
mkdir -p /opt/harbor/harbor/cert && cd?/opt/harbor/harbor/cert
2.拷贝openssl配置文件
cp?/etc/pki/tls/openssl.cnf?/opt/harbor/harbor/cert
3.编辑拷贝出来的openssl配置文件
vi?openssl.cnf
[ CA_default ]
copy_extensions = copy #在原配置中将该项的注释去除
[ req ]
req_extensions = v3_req #在原配置中将该项的注释去除
[ v3_req ]
subjectAltName = @alt_names #新增该配置项
[alt_names] #新增该配置项
DNS.1 = apex.com
DNS.2 = harbor.apex.com #配置域名
IP.1 = 10.1.60.118 #配置ip地址
4.创建证书密钥
openssl genrsa -out server.key 2048
5.创建证书签名
openssl req -new -nodes -key server.key -out server.csr -days 365 -subj "/C=CN/ST=beijing/L=beijing/O=tt/OU=dd/CN=golang-learning" -config ./openssl.cnf -extensions v3_req
6.查看证书签名
openssl req -noout -text -in server.csr
可以看到证书中包含了域名和ip地址?
7.创建根证书
openssl req -newkey rsa:2048 -nodes -keyout ca.key -x509 -days 365 -out ca.crt -subj "/C=CN/ST=beijing/L=beijing/O=tt/OU=dd/CN=golang"
?8.利用根证书签名
openssl x509 -req -days 365 -in server.csr -out server.crt -CA ca.crt -CAkey ca.key -CAcreateserial -extfile ./openssl.cnf -extensions v3_req
9.查看证书是否包含san属性
openssl x509 -in server.crt -noout -text
至此san证书创建完成?