一、架构图
二、制作步骤
2.1 CA 文件
step1:生成CA机构的私钥
openssl genrsa -out ca.key 1024
step2:生成CA机构自己的证书申请文件,文件中会包含申请人的一些信息,所以执行下面这行命令过程中需要用户在命令行输入一些信息,随便填写,一路回车即可。
openssl req -new -key ca.key -out ca.csr
... ...
# 到这里不填颁发者的话,颁发的证书在拉取/推送过程中会报错:
# x509:certificate signed by unknown authority
Common Name (eg, your name or your server's hostname) []:
... ...
step3:生成自签名证书,CA机构用自己的私钥和证书申请文件生成自己签名的证书,俗称自签名证书,这里可以理解为根证书
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
2.2 server 文件
step1:生成服务器私钥
openssl genrsa -out server.key 1024
step2:根据服务器私钥文件生成证书请求文件
openssl req -new -key server.key -out server.csr
... ...
# 到这里不填颁发给哪个域名的话,后续会报错:
# x509: certificate is not valid for any names, but wanted to match harbor.local
Common Name (eg, your name or your server's hostname) []:
... ...
step3:根据CA机构的自签名证书 ca.crt 或者叫根证书、CA机构的私钥 ca.key、服务器的证书申请文件 server.csr 生成服务端证书
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
2.3 查看文件信息
查看csr文件信息
openssl req -in test.csr -noout -text
查看证书信息
openssl x509 -in test.cer -noout -text