Docker 使用 cert-maker 快速制作证书


共计 1374 个字符,预计需要花费 4 分钟才能阅读完成。

简介

由于经常需要证书,索性自己制作了一个快速制作镜像的工具,通过快速指定环境变量或者传递参数可以快速生成证书。

使用镜像的相关参数如下:

类型 环境变量 传递参数 默认值
证书名称 CERT_NAME --CERT_NAME localhost
证书时间 CERT_DAYS --CERT_DAYS 3650
Country Name CERT_C --CERT_C CN
State Or Province Name CERT_ST --CERT_ST Guangdong
Locality Name CERT_L --CERT_L Guangzhou
Organization Name CERT_O --CERT_O DefaultOrg
Organizational Unit Name CERT_OU --CERT_OU Dev
Common Name CERT_CN --CERT_CN Local
Domains CERT_DNS --CERT_DNS localhost,127.0.0.1
是否启动CA签名 SIGN_BY_CA --SIGN_BY_CA false
CA证书位置 CA_CERT_FILE --CA_CERT_FILE /cert/ca.crt
CA秘钥位置 CA_KEY_FILE --CA_KEY_FILE /cert/ca.key

完全使用环境变量:

docker run --rm \
-e CERT_NAME="localhost" \
-e CERT_DAYS="3650" \
-e CERT_C="CN" \
-e CERT_ST="Guangdong" \
-e CERT_L="Guangzhou" \
-e CERT_O="DefaultOrg" \
-e CERT_OU="Dev" \
-e CERT_CN="Local" \
-e CERT_DNS="localhost,127.0.0.1" \
-v $PWD/cert:/cert \
hausen1012/cert-maker

此外,还可以使用传递参数的方式,如:

docker run --rm -v $PWD/cert:/cert hausen1012/cert-maker --CERT_NAME="localhost"

使用

1. 自签名证书

如果不需要修改相关属性,那么直接使用简单的命令即可生成证书。

docker run --rm \
-v $PWD/cert:/cert \
hausen1012/cert-maker

2. CA签名证书

如果需要使用 CA 证书进行签名,那么可以指定 SIGN_BY_CA 参数为 true,这样的话会先生成 ca 证书,然后用 ca 证书签名新的证书。

docker run --rm \
-e SIGN_BY_CA=true \
-v $PWD/cert:/cert \
hausen1012/cert-maker

这里需要注意的是,如果 /cert 目录下有 ca 证书,且证书名称为 ca.crt,秘钥为 ca.key,此时会默认用这个证书进行签名新的证书,防止每次签名的 ca 证书不一致。

3. 自己提供CA证书

如果自己之前有 CA 证书,不需要 cert-maker 进行生成 ca 证书,那么需要指定参数,命令如下:

docker run --rm \
-e SIGN_BY_CA=true \
-e CA_CERT_FILE="/cert/ca.crt" \
-e CA_KEY_FILE="/cert/ca.key" \
-v $PWD/cert:/cert \
hausen1012/cert-maker

提醒:本文发布于389天前,文中所关联的信息可能已发生改变,请知悉!

Tips:清朝云网络工作室

阅读剩余
THE END