内部 CA 证书管理

内部 CA 证书管理

生成 CA 证书

# 生成 KEY
openssl genrsa -out ca.key 4096
# 生成证书
openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=省/L=市/O=组织/OU=组织单位/CN=常用名(或域名)" \
    -key ca.key \
    -out ca.crt

导入 CA 证书

内部人员需要把该 ca.crt 证书添加到受信任的根证书中,这样通过改 CA 证书生成的其他证书也会被信任。

Windows

Windows 运行输入 certmgr.msc 然后添加。操作如下图所示:
内部 CA 证书管理_第1张图片

Linux 导入 CA 证书

# 如果没有 ca-certificates 就安装
yum install -y ca-certificates

# 把 ca.crt 证书放到下面目录
# /etc/pki/ca-trust/source/anchors

# 执行下面命令更新证书
update-ca-trust

# 如果根证书是以 *.pem 结尾,需要转换成crt,然后再执行上述步骤。命令如下:
openssl x509 -in ca.pem -inform PEM -out ca.crt

使用 CA 证书生成其他证书

例如生成泛域名证书:

# 生成 KEY
openssl genrsa -out *.erp.com.key 4096
# 生成证书请求
openssl req -sha512 -new \
  -subj "/C=CN/ST=省/L=市/O=组织/OU=组织单位/CN=*.erp.com" \
  -key *.erp.com.key \
  -out *.erp.com.csr 
  
# 设置证书信息,主要是泛域名时,可以指定额外的 x.com
cat > erp.com.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth 
subjectAltName = @alt_names

[alt_names]
DNS.1=*.erp.com
DNS.2=erp.com
EOF

# 使用 CA 证书生成具体的证书
openssl x509 -req -sha512 -days 3650 \
    -extfile erp.com.ext \
    -CA ca.crt -CAkey ca.key -CAcreateserial \
    -in *.erp.com.csr \
    -out *.erp.com.crt

操作过程中生成的下面两个关键的文件:

  • 私钥:*.erp.com.key
  • 公钥:*.erp.com.crt

网站配置使用上面两个文件即可。

参考链接

  • https://github.com/goharbor/harbor/blob/v1.9.3/docs/configure_https.md
  • https://gist.github.com/Soarez/9688998

你可能感兴趣的:(其他)