一、生成证书颁发机构证书
在生产环境中,您应该从CA获得证书。在测试或开发环境中,您可以生成自己的CA。要生成CA证书,请运行以下命令。
-
生成CA证书私钥。
openssl genrsa -out ca.key 4096
-
生成CA证书。
调整
-subj
选项中的值以反映您的组织。如果使用FQDN连接Harbor主机,则必须将其指定为通用名称(CN
)属性。openssl req -x509 -new -nodes -sha512 -days 3650 \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \ -key ca.key \ -out ca.crt
二、生成服务器证书
证书通常包含一个.crt
文件和一个.key
文件,例如yourdomain.com.crt
和yourdomain.com.key
。
-
生成私钥。
openssl genrsa -out yourdomain.com.key 4096
-
生成证书签名请求(CSR)。
调整
-subj
选项中的值以反映您的组织。如果使用FQDN连接Harbor主机,则必须将其指定为通用名称(CN
)属性,并在密钥和CSR文件名中使用它。openssl req -sha512 -new \ -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com" \ -key yourdomain.com.key \ -out yourdomain.com.csr
-
生成一个x509 v3扩展文件。
无论您使用FQDN还是IP地址连接到Harbor主机,都必须创建此文件,以便可以为您的Harbor主机生成符合主题备用名称(SAN)和x509 v3的证书扩展要求。替换
DNS
条目以反映您的域。cat > v3.ext <<-EOF authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment extendedKeyUsage = serverAuth subjectAltName = @alt_names [alt_names] DNS.1=yourdomain.com EOF
-
使用该
v3.ext
文件为您的Harbor主机生成证书。将
yourdomain.com
CRS和CRT文件名中的替换为Harbor主机名。openssl x509 -req -sha512 -days 3650 \ -extfile v3.ext \ -CA ca.crt -CAkey ca.key -CAcreateserial \ -in yourdomain.com.csr \ -out yourdomain.com.crt
- 转换
yourdomain.com.crt
为yourdomain.com.pem
可识别的pem证书。 openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.pem
三、导入ca证书到浏览器
导入ca.crt证书到谷歌chrome浏览器
导入ca.crt证书后,显示连接安全,证书有效,如果没有导入ca证书是连接不安全、证书无效的