在当今的网络通信中,SSL/TLS 证书是确保数据传输安全的关键元素。然而,面对不同的加密算法和标准(如国际上的 RSA 和 ECC,以及中国的国密 SM2),生成和管理证书链往往是一项复杂的任务。为了简化这一过程,开发了一个高效、灵活的开源工具——multicertgen
。
工具简介
multicertgen
是一款多功能的 SSL/TLS 证书生成工具,支持以下加密算法:
- SM2: 国密标准,适用于中国的商业密码加密。
- RSA: 国际通用的经典加密算法。
- ECC: 基于椭圆曲线的现代加密算法,具有高效性和安全性。
该工具专为开发者和运维人员设计,支持生成完整的证书链,适用于全球及中国商密标准的多种场景。
主要功能
- 支持多种加密算法:可以根据需求选择 SM2、RSA 或 ECC 算法。
- 生成完整的证书链:
- 根 CA 证书
- 中间 CA 证书
- 服务器签名证书
- 服务器加密证书(仅适用于 SM2)
- 灵活的私钥加密:支持生成加密和未加密的私钥。
- 动态配置环境变量:可以通过
LD_LIBRARY_PATH
和PATH
指定依赖路径,方便使用定制的 Tongsuo 或 OpenSSL 环境。 - 自动化证书生成:减少繁琐的命令行输入,提升效率。
安装与使用
1. 克隆项目
git clone git@github.com:weida/multicertgen.git
cd multicertgen
2. 设置执行权限
chmod +x ssl_cert_chain_tool.sh
3. 运行脚本
./ssl_cert_chain_tool.sh -a SM2 -o output_dir -p mypassword
参数说明:
-a
:选择加密算法(SM2
、RSA
或ECC
)。-o
:指定输出目录(默认为certs
)。-p
:设置私钥密码(默认为garlic
)。-u
:生成未加密的私钥。-t
和-l
:配置Tongsuo
的二进制路径和动态库路径。
适用场景
- 国密应用:生成符合中国加密标准的 SSL/TLS 证书链。
- 国际应用:支持 RSA 和 ECC 算法,满足全球通用的加密需求。
- 开发与测试:快速搭建开发和测试环境,节省手动配置时间。
开源与贡献
该项目托管在 GitHub 上,欢迎贡献代码和提出建议:
GitHub 仓库地址
图片from林佳興
Comments are closed.