使用 YubiKey 进行代码签名证书的密钥生成和认证

如何在您的 YubiKey FIPS 上生成密钥对和证明证书,以订购 EV 代码签名证书。

在你开始之前
本指南仅适用于安装或更换 代码签名证书 在这些情况下,YubiKey 会:
  • 您直接从 Yubico 购买了一张空白的 YubiKey。
  • 你需要更换过期的 SSL.com YubiKey 上的代码签名证书
如果出现以下情况,请勿使用本指南:

出于...的目的 代码签名,要求您的私钥必须安全地生成并存储在外部 FIPS 验证的硬件设备上,而不是您的计算机上。用户可以在现有的 YubiKey 上生成密钥对,并在 证明书 这证明私钥是在该设备上生成的。然后可以使用此证明证书从 SSL.com 获取代码签名证书,并将其手动安装到 YubiKey 上。

一份认证证书仅对一个 YubiKey 有效。如果您需要将证书安装在多个 YubiKey 上,则需要为每个 YubiKey 执行认证。请联系 support@ssl.com 获取有关证书多次颁发的更多详细信息。

此方法将指导您完成以下操作:

  • 产生一个 密钥对 金益辉 证明书 在你的 Yubikey 上
  • 验证 认证证书并将其与 SSL.com EV 代码签名订单关联
  • 下载 您的代码签名证书
  • 安装 您在YubiKey中的新证书

申请条件

  1. 最新版 Yubico身份验证器 金益辉 ykman 命令行界面 (CLI)
    注意:

    要生成密钥对并随后安装代码签名证书,请下载此工具: Yubico身份验证器图形用户界面(GUI)

    要生成证明证书,请使用此下载包中包含的 ykman 命令行界面 (CLI): YubiKey 管理器。

    安装完成后,这两个工具都将存储在您电脑的 Yubico 文件夹中。

  2. 您的 YubiKey 密码 金益辉 PUK 配置于 Yubico身份验证器. 如果您的 YubiKey 令牌是从 Yubico 购买的,则需要设置您的 PIN 码和 PUK 码。 为此,请打开 Yubico 身份验证器, 点击 证书 标签。 在 物业管理 部分,您将看到配置您的 密码 金益辉 PUK

步骤1:在YubiKey上生成密钥对

  1. 下载 Yubico身份验证器.

  2. 插入您的 YubiKey,然后启动 Yubico Authenticator。

  3. 在下面 证书 部分中,选择您要生成密钥对的 YubiKey 插槽对应的选项卡。对于代码签名证书,请选择 认证(插槽9a). 点击 生成密钥 继续。
  4. 点击 咨询内容 在该字段中,放置可分辨名称(DN) 这是代码签名证书的名称。这是组织或个人的名称,将显示在任何使用该证书签名的软件上。请确保输入正确的字符。 CN= 在输入专有名称之前。例如: CN=Example Company.

    对于 输出格式,选择 证书签名请求(CSR).

    来自 算法 下拉列表,进行选择对于代码签名,请选择 ECCP256 or ECCP384.

    最后,点击 已保存 按钮。

  5. 拯救 CSR 文件夹中的证书。

步骤2:产生证明书

每个YubiKey都预装有Yubico的私钥和证书,可让您生成一个 证明书 验证 YubiKey 上是否已生成私钥。此操作需要您使用 尤克曼 命令行界面 (CLI) 位于 YubiKey经理 计算机的文件夹中。要访问 ykman CLI,您需要使用 Windows PowerShell,具体步骤如下。

  1. 在Windows中,以管理员身份打开PowerShell。 macOS和Linux用户应在其设备上打开一个终端窗口。
  2.  使用 cd 使用“更改目录”命令导航到 YubiKey 管理器文件并进行访问 尤克曼要在 Windows 系统上执行此操作,请在 PowerShell 的同一行中按顺序执行以下操作:

    类型 cd 在 PowerShell 上
    媒体中心 空间
    复制 ykman 所在的文件夹路径,然后将其括起来。 双引号。 例: "C:\Program Files\Yubico\YubiKey Manager"
    媒体中心 输入

    • Windows上:
      cd“C:\Program Files\Yubico\YubiKey Manager”
    • 苹果系统:
      cd /Applications/YubiKey Manager.app/Contents/MacOS
    • 在Linux(Ubuntu)上, ykman 命令将已经安装在您的 PATH,因此您可以跳过此步骤。

  3. 生成证明文件。 使用 PowerShell 切换到 ykman 后,使用以下命令生成证明证书,该证书将以文本文件的形式保存。在 Windows 系统中,该命令如下所示: .\ykman.exe piv keys attest 9a C:\Folder\Folder\attestation\attestationfilename

    让我们来详细分析一下:

    a. 将以下内容复制到 PowerShell: .\ykman.exe piv keys attest 9a 

    b. 在 PowerShell 的同一行中,复制要存储证明证书的文件夹路径。在您的计算机上选择/创建一个文件夹。例如: C:\Folder\Folder\attestation.

    请确保选择/创建名称为单个单词或不包含空格的文件夹,以避免在 PowerShell 中输入命令时出现错误。 

    c. 想一个证书名称。在复制到 PowerShell 的文件夹路径末尾,添加反斜杠 (\) 和您要用于证明证书的名称。例如:\attestationfilename 

    请确保生成的文件名不包含特殊字符和空格,以避免在 PowerShell 中输入命令时出现错误。 

    d. 在 PowerShell 中按 Enter 键,最终生成证明证书文本文件。

    输入命令后,请在您指定的计算机文件夹中检查证明文件是否已成功生成。该文件将以文本文件的形式存在,并沿用您设置的名称。打开后,文件内容将显示一串字母和数字,并以“”开头。 ––BEGIN证书- 在顶部和 -结束证书- 最后。

    • Windows上:
      .\ykman.exe piv keys attest 9a C:\Folder\Folder\attestation\attestationfilename
    • Linux(Ubuntu):
      ykman piv密钥证明9a ATTESTATION-FILENAME.crt
    • 苹果系统:
      ./ykman piv键证明9a ATTESTATION-FILENAME.crt
  4. 导出中间证书。 接下来,使用 ykman 从 YubiKey 的 f9 插槽导出中间证书的命令。证书将以文本文件格式保存。 命令如下所示: .\ykman.exe piv certificates export f9 C:\Folder\Folder\attestation\intermediatefilename

    让我们来详细分析一下: 

    a. 将以下内容复制到 PowerShell: .\ykman.exe piv certificates export f9
    b. 在您的计算机(例如“文档”)中选择或创建一个文件夹,用于导出中间证书。将文件夹地址复制到 PowerShell 中。例如: C:\Folder\Folder\attestation
    c. 为中间证书创建文件名。在文件名前添加反斜杠,并将其附加到已复制到 PowerShell 的文件夹地址末尾,中间不要有空格。例如: \intermediatefilename
    d. 按压 输入输入命令后,中间证书将出现在指定文件夹中,名称为您设置的名称。打开后,它将显示一串字母和数字,开头为 ––BEGIN证书- 在顶部和 -结束证书- 最后。 

      • Windows上:
        .\ykman.exe piv 证书导出 f9 C:\Folder\Folder\attestation\intermediatefilename
    • Linux(Ubuntu):
      ykman piv证书导出f9 INTERMEDIATE-FILENAME.crt
    • 苹果系统:
      ./ykman piv证书导出f9 INTERMEDIATE-FILENAME.crt

步骤3:使用SSL.com验证证明证书并附加到订单

  1. 这里我们将使用来自 YubiKey 9a 插槽的证明证书,并按照 EV 代码签名证书顺序进行操作。首先,用文本编辑器打开证明证书和中间证书。
  2. 登录到您的SSL.com用户帐户,然后导航到 订单管理 点击标签页。点击标有“ 详情 (针对新订单)或 download (针对旧订单)您希望与证明书关联的订单。(此链接将显示为 download (适用于签名证书已过期且需要更换的客户)。
    注意: 如果您希望在不附加证明的情况下检查证明书的有效性,则可以使用SSL.com的 证明验证工具.
  3. 请在下方选择您的使用场景:
    a. 对于拥有空白 YubiKey 的用户,请点击 管理 链接,在 证明.
    b. 对于需要更换过期签名证书的客户,请点击 删除 首先点击链接删除之前针对已过期签名证书提交的证明文件。之后,点击 管理 链接.
  4. 将显示一个新页面,其中包含用于证明和中间证书的字段。

  5. 将证明证书粘贴到 证明书 字段,确保包括这些行 -----BEGIN CERTIFICATE----- 金益辉 -----END CERTIFICATE-----.
  6. 接下来,将中间证书粘贴到 中级证书 部分
  7. 点击 提交 按钮。
  8. 如果一切正常,则屏幕顶部将出现绿色警报,表明认证成功。

第四步:下载您的代码签名证书

  1. SSL.com 批准您的证明并颁发证书后,您即可下载证书。为此,请登录您的 SSL.com 帐户并点击。 订单管理 从顶部菜单中选择。在列表中找到您的订单,然后点击。 download 链接。 
  2. 下载页面显示后,向下滚动至 最终实体证书 进入此部分。点击折叠箭头以显示您的证书详细信息。右侧将显示可用的下载格式选项。选择 个人证书 并单击 下载 点击按钮。这是一个包含三个证书文件的压缩文件:您的终端实体证书、中间证书和根证书。之后,您只需将终端实体证书导入到您的 YubiKey 中即可。 
  3. 解压缩下载的zip文件。
  4. 选择文件解压位置,然后单击 提取 按钮。
  5. 打开包含已提取证书的文件夹。您会看到三个证书,但您只需要安装最终实体证书即可。 .CRT 文件 证书上会显示个人或组织的名称。现在,您可以开始安装证书了。

步骤5:在YubiKey中安装证书  

  1. 打开 Yubico 身份验证器

  2. 点击 证书,其次是 9a 身份验证导入文件。
  3. 出现提示时,请输入您的 YubiKey PIN 码。
  4. 导航到证书提取所在的文件夹,然后单击您的最终实体代码签名证书。
  5. Yubico Authenticator 将显示您的代码签名证书的详细信息。点击 导入模板 按键.

  6. 您的证书现已成功安装。
  7. 可选步骤如果您是已更换 YubiKey 中过期证书的客户,您还需要删除 Windows 证书存储中仍然存在的过期证书副本。为此,请键入: 证书 在您的计算机的 Windows 搜索栏上。接下来,点击 管理计算机证书。 点击 个性化服务 文件夹中,找到过期的签名证书,用鼠标右键单击它,然后选择 删除.

代码签名证明故障排除 

If SSL.com 如果您的证明文件被拒绝,原因可能是以下之一:

  1. 步骤1:在YubiKey上生成密钥对
    1. 您的证书签名请求(CSR) 被 Yubico 身份验证器拒绝
      • 你必须把这些角色都写进去。 CN= 在主题字段中。Yubico Authenticator 将拒绝该请求。 CSR 如果这件事没有做到。 
      • 你必须选择 ECCP256 or ECCP384 对于该算法而言,只有这两种类型才能被代码签名证书接受。

  2. 步骤2:产生证明书
    1. 您无法访问 ykman CLI
      • 您无法通过双击 YubiKey Manager 上的应用程序图标来访问 ykman。您只能先打开 PowerShell 等 shell 应用程序,然后使用“更改目录 (cd)”命令来运行它。 
      • 在 PowerShell 中输入 cd 命令时,字母和字母之间应该有一个空格。 cd 以及 ykman CLI 的文件夹路径。例如: cd “C:\Program Files\Yubico\YubiKey Manager”
      • ykman CLI 文件夹路径应使用双引号括起来。例如: “C:\Program Files\Yubico\YubiKey Manager”
    2. 认证证书和中间证书未生成。
      • 请确保选择/创建名称为单个单词或不包含空格的文件夹,以避免在 PowerShell 中输入命令时出现错误。  
      • 请确保生成的文件名简短且为单个单词,不包含特殊字符,以避免在 PowerShell 中输入命令时出现错误。  

  3. 步骤3:使用SSL.com验证证明证书并附加到订单
    1. 我的证明文件和中间证书未能提交。 SSL.com 帐户
      • 使用记事本等文本编辑器打开它们时,请务必复制文件的全部内容,包括…… ––BEGIN证书- 在顶部和 -结束证书- 最后。 

关于使用 YubiKey 进行代码签名的相关指南

  1. 使用您的代码签名证书: 了解如何使用 Microsoft SignTool 通过 OV 或 EV 代码签名证书对应用程序进行签名。
感谢您选择SSL.com! 如有任何疑问,请通过电子邮件与我们联系 Support@SSL.com,或只需单击此页面右下方的聊天链接。 您还可以在我们的网站上找到许多常见支持问题的答案 知识库.

保持信息灵通和安全

SSL.com 是网络安全领域的全球领导者, PKI 和数字证书。注册以接收最新的行业新闻、提示和产品公告 SSL.com.

SSL.com

我们希望收到您的反馈

参加我们的调查,让我们知道您对最近购买的想法。

隐私概述
SSL.com

本网站使用Cookie,以便我们可以为您提供最佳的用户体验。 Cookie信息存储在您的浏览器中,并执行诸如在您返回我们的网站时识别您的身份以及帮助我​​们的团队了解您发现网站中最有趣和有用的部分之类的功能。

欲了解更多信息,请阅读我们的 Cookie和隐私声明.

3rd方Cookie

本网站使用 Google Analytics & 统计计数器 收集匿名信息,例如网站的访问者数量和最受欢迎的页面。

保持启用这些Cookie有助于我们改善网站。

查看详细