共计 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
提醒:本文发布于418天前,文中所关联的信息可能已发生改变,请知悉!
AD:【腾讯云服务器大降价】2核4G 222元/3年 1核2G 38元/年
正文完