1. 生成证书的流程
初始化根证书
→
签发中间证书
→
验证证书链
→
导出分发证书
详细步骤:
- 初始化根CA:创建自签名的根证书,作为信任锚点
- 签发中间CA:使用根证书私钥签发各类中间证书
- 证书验证:验证证书链完整性和密码正确性
- 证书导出:导出证书文件用于系统部署
工具定位说明
XCA Manager 负责根证书和中间证书的生成与管理。
2. 完整的命令行操作和示例
命令概览
| 命令 | 功能描述 | 必需参数 | 示例 |
|---|---|---|---|
init |
初始化根证书 | 无 | --init |
issue |
签发中间证书 | --type, --name |
--issue --type ai-robot --name "AI-CA" |
view |
查看证书信息 | --keystore+--alias 或 --cert |
--view --keystore file.jks --alias test |
export |
导出证书文件 | --keystore, --alias, --output |
--export --keystore file.jks --alias test --output cert.cer |
info |
查看密钥库信息 | --keystore |
--info --keystore file.jks |
help |
显示帮助信息 | 无 | --help |
详细命令说明
2.1 初始化根证书体系
功能:创建自签名的根证书和密钥库
# 基本用法
java -jar xca-manager-1.0.0.jar --init
# 使用自定义配置
java -jar xca-manager-1.0.0.jar --init --config /path/to/custom-config.json
java -jar xca-manager-1.0.0.jar --init
# 使用自定义配置
java -jar xca-manager-1.0.0.jar --init --config /path/to/custom-config.json
2.2 签发中间证书
功能:使用根证书签发指定类型的中间CA证书
# 签发AI机器人证书(有效期10年)
java -jar xca-manager-1.0.0.jar --issue --type ai-robot --name "AI-Robot-CA" --validity 10
# 签发平台核心证书
java -jar xca-manager-1.0.0.jar --issue --type platform-core --name "Platform-Core-CA"
# 签发部署证书(有效期5年)
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Deployment-CA" --validity 5
java -jar xca-manager-1.0.0.jar --issue --type ai-robot --name "AI-Robot-CA" --validity 10
# 签发平台核心证书
java -jar xca-manager-1.0.0.jar --issue --type platform-core --name "Platform-Core-CA"
# 签发部署证书(有效期5年)
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Deployment-CA" --validity 5
支持的证书类型:
ai-robot- AI机器人证书platform-core- 平台核心证书deployment- 部署证书
2.3 查看证书信息
功能:查看密钥库中证书或证书文件的详细信息
# 从密钥库查看证书(文本格式)
java -jar xca-manager-1.0.0.jar --view --keystore output/root-ca/xx-root-ca.jks --alias rootca
# 从密钥库查看证书(JSON格式)
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/ai-robot/xx-ai-robot-ca.jks --alias intermediateca --format json
# 从证书文件查看
java -jar xca-manager-1.0.0.jar --view --cert output/root-ca/xx-root-ca.cer
java -jar xca-manager-1.0.0.jar --view --keystore output/root-ca/xx-root-ca.jks --alias rootca
# 从密钥库查看证书(JSON格式)
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/ai-robot/xx-ai-robot-ca.jks --alias intermediateca --format json
# 从证书文件查看
java -jar xca-manager-1.0.0.jar --view --cert output/root-ca/xx-root-ca.cer
完整使用示例
示例1:完整的证书体系建设
# 1. 初始化根CA
java -jar xca-manager-1.0.0.jar --init
# 2. 签发各类中间CA证书
java -jar xca-manager-1.0.0.jar --issue --type ai-robot --name "AI-Robot-CA" --validity 10
java -jar xca-manager-1.0.0.jar --issue --type platform-core --name "Platform-Core-CA" --validity 8
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Deployment-CA" --validity 5
# 3. 验证生成的证书
java -jar xca-manager-1.0.0.jar --info --keystore output/root-ca/xx-root-ca.jks
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/ai-robot/xx-ai-robot-ca.jks --alias intermediateca
# 4. 导出证书用于 License 生成
java -jar xca-manager-1.0.0.jar --export --keystore output/root-ca/xx-root-ca.jks --alias rootca --output /license-ca/root-ca.cer
java -jar xca-manager-1.0.0.jar --init
# 2. 签发各类中间CA证书
java -jar xca-manager-1.0.0.jar --issue --type ai-robot --name "AI-Robot-CA" --validity 10
java -jar xca-manager-1.0.0.jar --issue --type platform-core --name "Platform-Core-CA" --validity 8
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Deployment-CA" --validity 5
# 3. 验证生成的证书
java -jar xca-manager-1.0.0.jar --info --keystore output/root-ca/xx-root-ca.jks
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/ai-robot/xx-ai-robot-ca.jks --alias intermediateca
# 4. 导出证书用于 License 生成
java -jar xca-manager-1.0.0.jar --export --keystore output/root-ca/xx-root-ca.jks --alias rootca --output /license-ca/root-ca.cer
示例2:快速签发和验证
# 快速签发部署证书
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Prod-Deploy" --validity 3
# 立即验证
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/deployment/xx-deployment-ca.jks --alias intermediateca --format text
java -jar xca-manager-1.0.0.jar --issue --type deployment --name "Prod-Deploy" --validity 3
# 立即验证
java -jar xca-manager-1.0.0.jar --view --keystore output/intermediate/deployment/xx-deployment-ca.jks --alias intermediateca --format text
3. 注意事项
3.1 安全注意事项
密码安全
- 根证书密码是最高机密,必须严格保护
- 建议使用密码管理器存储所有密码
- 不要在脚本中硬编码密码
文件安全
- 密钥库文件(.jks)包含私钥,必须加密存储
- 定期备份密钥库文件和密码
- 设置适当的文件权限(600)
3.2 操作注意事项
执行顺序
- 必须先执行
--init初始化根证书 - 然后才能执行
--issue签发中间证书 - 证书链验证必须在签发完成后进行
密码输入
- 涉及密钥库的操作会交互式要求输入密码
- 在终端环境中支持无回显密码输入
- 在IDE中运行时密码会明文显示(有提示)
3.3 功能特性说明
根证书管理
自签名根证书的生成和安全管理
中间证书签发
支持按业务类型签发中间CA证书
证书链验证
完整的证书链完整性和可信度验证
密钥库管理
JKS格式密钥库的完整操作支持
安全重要提醒
根证书是整个 License 体系的信任基础,一旦泄露将影响所有基于该体系的授权文件。请务必:
- 将根证书存储在安全的离线环境中
- 使用强密码并定期更换
- 建立严格的访问控制和审计机制
- 中间证书私钥也需妥善保管,用于最终的 License 签名