HTTPS自签证书是由服务器管理员或用户自己创建并签名的SSL/TLS证书,而不是由受信任的第三方证书颁发机构(CA)颁发的。
自签证书通常用于测试环境、内部网络或个人使用,因为它们不需要支付证书颁发机构的费用。然而,自签证书不会被浏览器默认信任,因此在访问使用自签证书的网站时,用户可能会收到安全警告。
生成CA证书
步骤:
1.创建证书的工作目录
mkdir -p certs/{ca,server,client}
2.进入工作目录
3.生成CA私钥
openssl genrsa -out ca/ca.key 4096
4.生成CA自签名证书
openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=linux.cn" -key ca/ca.key -out ca/ca.crt
生成xxx服务器的证书文件及客户端证书
1.生成harbor主机的私钥
openssl genrsa -out server/harbor.linux.cn.key 4096
2.生成harbor主机的证书申请
openssl req -sha512 -new -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=harbor.linux.cn" -key server/harbor.linux.cn.key -out server/harbor.linux.cn.csr
3.生成x509 v3扩展文件
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1=linux.cn
DNS.2=linux
DNS.3=harbor.linux.cn
EOF
4.使用"v3.ext"给harbor主机签发证书
openssl x509 -req -sha512 -days 3650 -extfile v3.ext -CA ca/ca.crt -CAkey ca/ca.key -CAcreateserial -in server/harbor.linux.cn.csr -out server/harbor.linux.cn.crt
5.将crt文件转换为cert客户端证书文件
openssl x509 -inform PEM -in server/harbor.linux.cn.crt -out server/harbor.linux.cn.cert
6.准备docker客户端证书
cp server/harbor.linux.cn.{cert,key} client/
cp ca/ca.crt client/
7.查看所有证书文件结果
ll -R