什么是代码签名证书?
代码签名证书是一种数字证书,可提供全球公认的软件发布者身份证明,并可从 SSL.com 等知名证书颁发机构 (CA) 获得。 软件公司使用代码签名证书来证明他们是应用程序的开发人员。 代码签名证书还可以防止篡改代码并确保文件没有未经授权的修改、恶意软件并且可以安全安装。 在线分发、销售和下载软件时,代码签名证书是一项必不可少的安全功能。 对您的代码进行数字签名 使用受信任的 SSL.com 证书可以让用户和操作系统知道您的软件是真实的并且可以安全安装。 您可以随时联系我们 销售团队 解释这些选项并提供报价。需要代码签名证书吗? SSL.com 可以选择满足您的任何需求, 详细了解我们的证书.
选择正确的代码签名证书
组织验证 (OV) 和个人验证 (IV) 证书被称为高保证证书,因为它们需要更多验证并因此提供更多信任。 对于 OV 和 IV 证书,CA 将验证尝试获取证书的实际组织或个人。 证书中还列出了组织或个人的名称,从而增加了对证书持有者信誉良好的信任。 OV 证书通常被希望为其访客提供额外信心的公司、政府和其他实体使用。 除了 SSL/TLS OV和IV证书也通常用于 代码签名, 文件签署, 客户认证及 S/MIME 电子邮件证书。 有关要求的更多信息,请参阅 SSL.com 的 OV和IV要求. 个人验证 (IV) 代码签名证书应用带有个人姓名的数字签名,非常适合希望增加用户信心和信任的独立软件开发人员和个人项目贡献者。 EV 证书,也称为企业代码签名证书,为访问者提供了最大程度的信任,也需要 CA 付出最大努力进行验证。 EV 证书只能发给企业和其他注册组织,不能发给个人。 SSL.com 独资企业 EV 代码签名证书将个人身份添加到标准 EV 代码签名证书中。 此验证选项使独资企业或个人贡献者能够将其姓名包含在数字签名中。 独资企业验证选项也适用于需要通过在数字签名中包含个人已验证身份的额外安全层的企业。 要了解更多关于这些证书的功能,您可以阅读我们的文章, 我需要哪个代码签名证书? EV还是OV? 快速浏览一下,OV 和 EV 代码签名证书的定义特征如下所列。IV 代码签名证书:
- 应用带有个人姓名的数字签名
- 非常适合独立软件开发人员和个人项目贡献者
OV 代码签名证书:
- 验证您作为软件发布者的身份
- 保护您的软件免受篡改和恶意软件感染
EV代码签名证书:
- 能够签署 Windows 10 和 Windows 10 之前的驱动程序
- 即时Microsoft SmartScreen信誉
- 签名和时间戳不会过期
- 使用 eSigner 在云上签名的能力
- 独资企业 EV 代码签名证书将个人身份添加到标准 EV 代码签名证书中
设置和使用您的 SSL.com 帐户
如果您还没有,请从 在 SSL.com 上创建帐户. 您的帐户能够创建多个团队以及邀请具有特定角色和权限分配的多个用户。验证过程
为了验证和颁发 OV 或 IV 证书,SSL.com 必须通过可验证的在线资源和/或有效的验证文件验证您的身份、实际地址和电话号码。 有关要求的更多详细信息,您可以阅读 SSL.com OV和IV证书有什么要求? 此外,对于 IV 代码签名证书订单,申请人必须提交身份证的正面和背面图像,以及他们将身份证放在脸旁的图像。 根据 CA/浏览器论坛制定的指导方针,必须提供额外的文档才能颁发 EV 证书。 前往 常见问题解答:扩展验证(EV)流程 了解 EV 证书的所有要求。 对于请求的实体 EV 代码签名证书,SSL.com 将通过受信任的在线资源和/或有效文档以及 CA/浏览器论坛设置的指南的额外文档进行验证。OV 和 IV 代码签名证书的新密钥存储要求
从 1 年 2023 月 XNUMX 日开始,符合 CA/浏览器论坛的 新的密钥存储要求 为了提高代码签名证书的安全性,SSL.com 的组织验证 (OV) 和个人验证 (IV) 代码签名证书将仅通过联邦信息处理标准 140-2 (FIPS 140-2) USB 令牌或通过我们的电子签名器颁发云代码签名服务。扩展验证代码签名证书的密钥存储和签名方法
USB令牌
最常见的 EV 代码签名方法是使用硬件安全模块 (HSM),如 USB 令牌,它存储 EV 代码签名证书并充当签署软件代码的密钥。 与将证书存储在本地机器上相比,USB 令牌在手持安全性和便携性方面得分很高。 但是,它的一个限制是购买和管理多个代币可能非常昂贵,并且与基于云的选项相比,它们并不那么灵活。 SSL.com 通过 Yubikey FIPS USB 令牌提供安全的私钥存储和物理 2FA 安全性。 此 USB 设备为您的软件添加了防篡改保护,因为只有实际拥有它的个人才能对您的应用程序或程序的代码进行数字签名。云HSM
EV 代码签名的第二种选择是使用云中的联网 HSM 来托管代码签名证书和密钥。 此方法提供与 USB 令牌相当的安全级别,因为私钥也不可导出。 由于代码签名是通过云进行的,因此可以实现开发人员之间的可扩展协作。 应该注意的是,这种方法可能需要特定云服务提供商的专业知识。 对于 EV 代码签名证书的颁发,SSL.com 支持三种 Cloud HSM:Microsoft Azure Dedicated HSM、Amazon Web Services (AWS) CloudHSM 和 Google Cloud HSM。 要了解每一项的更多详细信息,您可以阅读我们的指南文章: 支持的Cloud HSM用于文档签名和EV代码签名.- 要了解如何使用您的 HSM 帐户并聘请专业人士进行 Cloud HSM 认证,您可以阅读我们的文章 自带审核员 Cloud HSM 证明.
- SSL.com 目前正在为各种 HSM 平台开发和测试证明程序。 你可以填写这个 调查表 了解我们是否正在测试上面未列出的 HSM 平台。
eSigner:代码签名即服务
第三,一种现代且非常方便的 EV 代码签名方法是将代码签名作为服务处理。 SSL.com 的 eSigner 云代码签名服务就是这种方法的一个例子。 使用 eSigner,SSL.com 可以处理公钥基础设施(PKI) 和用于代码签名的 HSM。 不可导出的签名密钥存储在 eSigner 的 HSM 中,客户和 SSL.com 都无法查看它们。 这样,安全标准与令牌和云 HSM 一样高,但客户端无需直接处理它们。 eSigner 环境包括许多签名选项,以满足从个人开发人员到复杂组织的各种客户的需求。电子签名者签名选项
- 借助 SSL.com 的 eSigner 服务,您可以使用 SSL.com 扩展验证代码签名证书对来自任何连接互联网的设备的代码进行签名,而无需任何额外的硬件。 在 eSigner 中注册您的 EV 代码签名证书订单后,您可以使用 eSigner Express 网络应用程序, eSigner 代码签名工具 或通过 SSL.com 的 CSC 兼容 代码签名 API.
eSigner 支持的文件类型
- 您可以阅读我们的指南, eSigner 支持的文件类型,以了解 eSigner Express 和 eSigner API 支持哪些文件类型。
开始使用您的代码签名证书:
收到新的代码签名证书后,您可能会对如何使用它以及它可以与哪些应用程序集成有疑问。 下面的链接指南回答了您可能遇到的有关如何开始使用新证书的常见问题。- 如何从 SSL.com 购买代码签名和 EV 代码签名证书
- 如何在 Windows 10 上安装 SSL.com OV 代码签名证书
- 常见问题解答:EV代码签名证书入门
- 注册 Windows 硬件开发人员计划以使用 EV 代码签名对驱动程序进行签名
- 如何使用 使用 Microsoft 的 SignTool 和 SSL.com 的 OV 或 EV 代码签名证书 SSL Manager
开始使用 eSigner 云代码签名
以下资源可以为您提供有关如何使用 eSigner 界面并将其设置为面向团队的任务的更多信息。使用你的 Yubikey
从 SSL.com 订购的 EV 代码签名等证书附带预安装在硬件安全模块 (HSM) 中的选项,例如经过 FIPS 140-2 验证的安全密钥 USB 令牌。 如果您的证书尚未经过验证,您可以在订购时和完成验证过程之前提供所需的令牌数量。 如果您的证书已经颁发,您仍然可以选择订购额外的令牌。 要了解如何将 Yubikeys 添加到您的 EV 代码签名证书,请单击此指南: 如何将 YubiKeys 添加到您的证书订单中 如果您已经拥有 Yubikey,您可以参考以下指南进行操作:- YubiKey 快速说明
- 如何解锁 YubiKey PIN
- 如何访问您的 Yubikey FIPS PIN 和 PUK
- 如果我的 EV 代码签名令牌为空怎么办?
- 如何在 YubiKey 上安装 SSL.com 根证书和中间证书
- 如何使用 Yubikey 进行密钥生成和证明
自动化与集成
eSigner CKA(云密钥适配器)
- eSigner CKA(云密钥适配器) 是一个基于 Windows 的应用程序,它使用 CNG 接口(KSP 密钥服务提供程序)允许 certutil.exe 和 signtool.exe 等工具使用 eSigner CSC 进行自动代码签名操作。 eSigner CKA 充当虚拟 USB 令牌并将代码签名证书加载到证书存储区。
用于自动 EV 代码签名的 eSigner 和 CodeSignTool
- CodeSignTool 非常适合用于大批量签名或集成到现有 CI/CD 管道工作流的自动化批处理。
- 请阅读我们的 CodeSign 工具指南 关于如何在不提示为每个文件手动输入 OTP 的情况下对代码对象进行签名。
- 前往 eSigner CodeSign 工具命令指南 了解有关支持的命令、选项和参数的更多信息。
特定 CI/CD 服务集成指南
以下是有关如何使用 eSigner 为最流行的 CI/CD 平台自动进行代码签名的具体指南。- 与 CircleCI 的云代码签名集成
- 云代码签名与 GitHub Actions 的集成
- 云代码签名与 GitLab CI 的集成
- 云代码签名与 Travis CI 的集成
- 云代码签名与 Jenkins CI 的集成
- 云代码签名与 Azure DevOps 的集成
在沙盒中测试 EV 代码签名
SSL.com 为我们的 eSigner 云签名服务维护一个单独的“沙盒”环境,以便用户可以在使用现场工作之前试用不同的应用程序、实用程序和 API EV代码签名 证书。- 转到我们的 操作方法文章 其中包括 eSigner 演示凭据、二维码和配置信息,以简化实验性使用 eSigner Express 沙盒, CodeSign工具及 留学基金委, 代码签名.
- 有关如何设置沙盒帐户、创建测试订单以及将沙盒与 SSL.com 的 SWS API 一起使用的完整指南,您可以阅读我们的指南文章: 使用SSL.com沙箱进行测试和集成.
特定环境指南
SSL.com 的 EV 代码签名证书可用于各种代码签名环境。 具体指南请参考以下文章:- 使用 OV/IV 或 EV 代码签名证书对 Java 代码进行签名
- 使用 EV 或 OV 代码签名证书为 Windows 内核模式驱动程序签名
- 常见问题解答:内核模式代码签名证书
- 在 Linux 命令行中使用 Jsign 进行 OV/IV 代码签名和 EV 代码签名
- 使用存储在 Azure Key Vault 中的证书使用 Azure DevOps 进行代码签名