# sscert **Repository Path**: rexond/sscert ## Basic Information - **Project Name**: sscert - **Description**: 用于生成自签SSL证书 - **Primary Language**: Go - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-09 - **Last Updated**: 2026-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sscert 一个用于生成自签SSL证书的Go语言命令行工具,支持域名和IP地址,适用于开发测试环境。 ## 功能特性 - 生成2048位RSA密钥的自签名SSL证书 - 支持域名和IP地址(支持多值,逗号分隔) - 证书有效期50年 - 自动生成Nginx格式的证书和私钥文件 - 跨平台支持(Windows、Linux、macOS) ## 安装 ### 从源码编译 1. 克隆仓库 ```bash git clone https://github.com/yourusername/sscert.git cd sscert/src ``` 2. 编译项目 ```bash go build -o ../dist/sscert ./cmd/sscert.go ``` 3. 将可执行文件添加到PATH环境变量中 ### 使用预编译版本 直接下载 `dist/sscert` 可执行文件,根据操作系统重命名: - Windows: `sscert.exe` - Linux/macOS: `sscert` ## 使用说明 ### 基本用法 ```bash sscert --name <证书名称> --host <主机名或IP> ``` ### 参数说明 - `--name`: 证书名称(必需) - `--host`: 主机名或IP地址,支持逗号分隔多个值(必需) - `--out`: 输出目录,默认当前目录(可选) ### 使用示例 #### 生成单个域名的证书 ```bash sscert --name myserver --host example.com ``` #### 生成多个域名的证书 ```bash sscert --name myserver --host example.com,www.example.com ``` #### 生成IP地址证书 ```bash sscert --name myserver --host 192.168.1.100 ``` #### 生成域名和IP混合的证书 ```bash sscert --name myserver --host example.com,192.168.1.100,10.0.0.1 ``` #### 指定输出目录 ```bash sscert --name myserver --host example.com --out /etc/nginx/certs ``` ### 输出文件 执行成功后,将在指定目录生成以下文件: - `{name}-nginx.crt`: SSL证书文件 - `{name}-nginx.key`: 私钥文件 ### 在Nginx中使用 ```nginx server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/myserver-nginx.crt; ssl_certificate_key /path/to/myserver-nginx.key; location / { # 你的配置 } } ``` ### 注意事项 - 自签名证书仅适用于开发和测试环境 - 生产环境请使用受信任的CA机构签发的证书 - 使用自签名证书时,浏览器会显示安全警告,这是正常现象 - 证书有效期设置为50年,适用于长期测试项目 ## 技术栈 - Go 1.25.4 - 标准库:crypto/x509, crypto/rsa, crypto/pem ## 许可证 MIT License ## 参与贡献 欢迎提交Issue和Pull Request! 1. Fork 本仓库 2. 新建特性分支 3. 提交代码 4. 创建 Pull Request