具体操作说明见:https://github.com/HandSonic/cert-generator
68
本仓库源代码由 HandSonic/cert-generator 提供,需求问题可访问上述链接。
基于 Nuxt 4 和 Nuxt UI 4 的证书生成管理工具,支持 RSA、ECC、Ed25519 和国密 SM2 算法。适合在本地、内网或受控环境中管理测试证书、根证书和格式转换流程。
npm install
cp .env.example .env
npm run dev
http://localhost:3000npm run build
首次启动后,可以在系统设置页面配置 OpenSSL 工具路径:
配置文件位于 data/config.json:
{
"opensslPath": "openssl",
"auth": {
"username": "admin",
"passwordHash": "...",
"passwordSalt": "...",
"passwordUpdatedAt": "2026-05-02T00:00:00.000Z"
},
"sessionSecret": "..."
}
也可以使用环境变量覆盖配置文件:
OPENSSL_PATH=/usr/bin/openssl
ENABLE_SETTINGS=false
ADMIN_USERNAME=admin
ADMIN_PASSWORD=change-me
SESSION_SECRET=replace-with-a-long-random-secret
HOST=0.0.0.0
PORT=3000
BIND_ADDRESS=127.0.0.1
HOST_PORT=3000
配置优先级:
OPENSSL_PATH 环境变量 > data/config.json 中的 opensslPath > 默认 opensslADMIN_USERNAME 和 ADMIN_PASSWORD 时使用环境变量账号;否则使用 data/config.json 中的本地账号;两者都没有时不启用登录SESSION_SECRET 用于签名登录 Cookie;未配置时系统会自动生成并保存到 data/config.jsonENABLE_SETTINGS=true 才会显示系统设置页,也才可以在页面中创建、修改或删除本地管理员账号生产或共享网络环境必须设置
ADMIN_USERNAME、ADMIN_PASSWORD和SESSION_SECRET。如需从页面修改配置,再显式设置ENABLE_SETTINGS=true。
SM2 国密证书生成要求 OpenSSL 3.0+。
构建镜像:
docker build -t cert-generator-v2 .
运行容器:
docker run -d --name cert-generator-v2 \
-p 127.0.0.1:3000:3000 \
-e ENABLE_SETTINGS=false \
-e OPENSSL_PATH=openssl \
-e ADMIN_USERNAME=admin \
-e ADMIN_PASSWORD=change-me \
-e SESSION_SECRET=replace-with-a-long-random-secret \
-v ./data:/app/data \
cert-generator-v2
使用 Docker Compose:
cp .env.example .env
docker compose up -d
Compose 默认只监听 127.0.0.1:3000,如需对外开放请在 .env 中显式设置 BIND_ADDRESS=0.0.0.0,并先配置管理员账号和会话密钥。
所有生成的证书和配置数据存储在 ./data 目录中。该目录可能包含私钥、PKCS#12 文件和登录配置,请勿提交或公开发布。
欢迎提交 issue 和 pull request。提交前请先运行:
npm run build
更多约定见 CONTRIBUTING.md。
证书私钥和 data/config.json 都属于敏感数据。漏洞反馈和部署建议见 SECURITY.md。
MIT,见 LICENSE。
Content type
Image
Digest
sha256:c8fd90d37…
Size
84.1 MB
Last updated
6 months ago
docker pull spacestu/cert-generator-v2