什么是代码签名证书?
代码签名证书是一种数字证书,可提供全球认可的软件发布者身份证明,可从 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 日开始, SSL.com 的组织验证 (OV) 和个人验证 (IV) 代码签名证书仅通过联邦信息处理标准 140-2 (FIPS 140-2) USB 令牌或通过我们的 eSigner 云代码签名服务颁发。 此更改符合证书颁发机构/浏览器 (CA/B) 论坛的新密钥存储要求,以提高代码签名密钥的安全性。 之前的规则允许 OV 和 IV 代码签名证书作为可从互联网下载的文件颁发。 由于新要求仅允许使用加密的 USB 令牌或基于云的 FIPS 兼容硬件设备来存储证书和私钥,因此预计代码签名密钥被恶意行为者窃取和滥用的情况将大大减少。 点击 链接 了解更多关于 SSL.com eSigner 云代码签名解决方案。扩展验证代码签名证书的密钥存储和签名方法
USB令牌
SSL.com 提供预装在 Yubikey FIPS 令牌和 Thales SafeNet(金雅拓)USB 令牌上的代码签名证书。 Thales SafeNet 令牌能够处理高达 3072 位的 RSA 密钥,这对于内核模式签名至关重要,并且是某些软件开发环境(例如 Microsoft 系统的驱动程序签名)的先决条件。 通过远程认证程序,SSL.com 的客户无论身在何处,都可以直接在其 YubiKey 上创建密钥对以及用于验证私钥在设备上生成的认证证书。认证证书随后可用于续订 Yubikey 中已过期的证书。远程认证支持是 Thales 令牌客户目前无法使用的一项功能。有关 Yubikeys 和 Thales SafeNet 令牌功能的更详细比较,请参阅此 SSL.com 文章: Yubikey FIPS 令牌与 Thales/Gemalto USB 令牌Yubikey 和 Thales SafeNet 令牌都旨在提高安全性,而不会大幅损害用户体验。在它们之间的选择应以组织的安全方法和运营需求为指导。但是,作为物理设备,它们可能会丢失或被盗,带来重大的安全风险并可能产生高昂的更换成本。在现代远程工作环境中,分发和维护这些硬件令牌的后勤工作可能给 IT 团队带来重大挑战,需要大量的费用和人力。此外,这些令牌不能提供与基于云的解决方案相同级别的便利性,尤其是对于在 CI/CD 管道中工作的开发人员而言。云HSM
EV 代码签名的第二种选择是使用云中的联网 HSM 来托管代码签名证书和密钥。当 HSM 配置为在密钥生成期间具有不可导出的密钥时,此方法提供与 USB 令牌相当的安全级别。由于密钥材料可在云中访问,因此与 CI/CD 服务的集成变得更加容易,使用相同证书和密钥材料的团队协作也变得更加容易。应该注意的是,这种方法可能需要特定云服务提供商的专业知识。对于代码签名证书的颁发,SSL.com 支持各种云 HSM,包括 Azure Key Vault(高级层)、Azure Key Vault 托管 HSM、Azure 专用 HSM、Amazon Web Services (AWS) CloudHSM 和 Google Cloud HSM。要了解有关每个 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 的集成
- 与 BitBucket 的云代码签名集成
在沙盒中测试 EV 代码签名
SSL.com 为我们的 eSigner 云签名服务维护一个单独的“沙盒”环境,以便用户可以在使用现场工作之前试用不同的应用程序、实用程序和 API EV代码签名 证书。 <ul>特定环境指南
SSL.com 的 EV 代码签名证书可用于各种代码签名环境。 具体指南请参考以下文章:- 使用 OV/IV 或 EV 代码签名证书对 Java 代码进行签名
- 使用 EV 或 OV 代码签名证书为 Windows 内核模式驱动程序签名
- 常见问题解答:内核模式代码签名证书
- 在 Linux 命令行中使用 Jsign 进行 OV/IV 代码签名和 EV 代码签名
- 使用存储在 Azure Key Vault 中的证书使用 Azure DevOps 进行代码签名