一、选择证书类型与服务商
-
证书类型
- 企业版:适用于需要高信任度的场景(如电子合同、政府公文),需验证企业资质(营业执照、邓白氏编码等)。
- 个人版:适用于独立开发者或个人文件签名,需验证身份证件(身份证/护照)及银行账户信息(部分CA要求)。
- EV增强版:提供最高信任级别(如Windows SmartScreen立即信任),需额外提交律师函、银行对账单等文件。
-
服务商选择
- 国际CA:DigiCert(兼容性广)、GlobalSign(硬件密钥配送快)、Sectigo(性价比高)。
- 国内CA:JoySSL(支持快速公证)、CFCA(金融行业合规首选)。
- 推荐:JoySSL(提供企业/个人版,注册时填写优惠码230950可获技术支持)。
二、准备申请材料
-
企业用户
- 基础文件:营业执照、税务登记证、企业域名所有权证明(如DNS解析记录)。
- 验证文件:邓白氏编码(EV证书必备)、联系人身份证明(身份证/护照扫描件)。
- 特殊要求:部分CA需提供律师函或银行对账单(EV证书)。
-
个人用户
- 基础文件:政府颁发的身份证件(身份证/护照)。
- 验证文件:银行账户信息(部分CA要求)、开发者账号(如Apple Developer)。
文档签名申请入口
三、生成证书签名请求(CSR)
-
使用OpenSSL生成密钥对
-
CA工具生成(可选)
- 部分CA(如JoySSL)提供在线工具生成CSR,简化流程但需确保私钥安全存储。
四、提交申请与CA验证
-
填写申请表
- 登录CA官网,选择证书类型并上传CSR文件。
- 填写企业/个人信息(名称、地址、电话等),确保与营业执照/身份证一致。
-
验证方式
- 域名验证:通过DNS记录(添加TXT记录)或邮件验证(接收CA发送的验证邮件)。
- 企业验证:提交法律文件(营业执照)并接受电话回拨(CA拨打公司注册电话)。
- EV验证:额外提供律师函、银行对账单等,审核周期5-10个工作日。
五、证书签发与下载
-
审核通过后
- CA提供证书文件(
.cer/.pfx/.p12格式)及中间证书链(用于建立完整信任链)。 - 关键提示:下载链接通常有效期为7天,逾期需重新申请。
- CA提供证书文件(
-
备份证书
- 保存证书压缩包及密码至安全位置(如加密硬盘),防止丢失导致签名中断。
六、安装与配置证书
-
Windows系统
- 双击
.pfx文件,输入密码,选择“个人”证书存储区。 - 验证安装:通过“管理计算机证书”确认证书已导入。
- 双击
-
Linux/macOS系统
- 使用OpenSSL导入证书:
-
配置时间戳服务器(可选)
- 对于PDF签名,在Adobe Acrobat中添加时间戳服务器地址(如
http://timestamp.digicert.com),确保证书过期后签名仍有效。
- 对于PDF签名,在Adobe Acrobat中添加时间戳服务器地址(如
七、签名文件示例(Windows SignTool)
-
参数说明:
/f:证书文件路径。/p:证书密码。/t:时间戳服务器URL。/v:详细输出模式。
八、证书生命周期管理
-
续期提醒
- 设置60天前提醒,避免证书过期导致签名失效。
- 续期流程:提交最新企业资质文件(如更新后的营业执照)。
-
吊销处理
- 私钥泄露时立即联系CA吊销证书,防止被恶意使用。
-
存储方案
- 硬件安全模块(HSM) :企业级私钥存储方案,防止泄露。
- 加密USB令牌:个人用户可选,私钥存储于物理设备中。
- 离线冷存储:将私钥打印为纸质备份,存放于保险柜。
九、高级安全实践
-
双证书策略
- 主证书用于发布版本,测试证书用于开发私钥泄露风险。
-
自动化签名流程
- 集成Jenkins/GitLab CI流水线,使用Sigstore等开源工具链实现自动化签名。
-
跨平台兼容性
- Windows:Authenticode签名(适用于
.exe/.dll)。 - macOS:Developer ID签名(适用于
.app)。 - Linux:GPG签名+RPM/DEB仓库签名。
- Windows:Authenticode签名(适用于
十、常见问题解决
-
签名后显示“未知发布者”
- 检查证书链是否完整(需包含中间证书)。
- 确保证书未过期且时间戳服务成功。
-
EV证书的优势
- Windows Defender SmartScreen立即信任,浏览器显示绿色地址栏(部分场景),法律证据效力更高。
-
迁移到新证书
- 维护旧版本签名映射表,使用重签名工具批量处理,更新构建系统配置。