本指南仅适用于安装或更换 代码签名证书 在这些情况下,YubiKey 会:
- 您直接从 Yubico 购买了一张空白的 YubiKey。
- 你需要更换过期的 SSL.com YubiKey 上的代码签名证书
- 您的 YubiKey 是从 SSL.com 预装的代码签名证书尚未过期(无需设置)
- 你有一个 文件签署 证书(参见: 使用 YubiKey 生成和验证用于文档签名证书的密钥)
出于...的目的 代码签名,要求您的私钥必须安全地生成并存储在外部 FIPS 验证的硬件设备上,而不是您的计算机上。用户可以在现有的 YubiKey 上生成密钥对,并在 证明书 这证明私钥是在该设备上生成的。然后可以使用此证明证书从 SSL.com 获取代码签名证书,并将其手动安装到 YubiKey 上。
一份认证证书仅对一个 YubiKey 有效。如果您需要将证书安装在多个 YubiKey 上,则需要为每个 YubiKey 执行认证。请联系 support@ssl.com 获取有关证书多次颁发的更多详细信息。
此方法将指导您完成以下操作:
申请条件
- 最新版 Yubico身份验证器 金益辉 ykman 命令行界面 (CLI).
注意:
要生成密钥对并随后安装代码签名证书,请下载此工具: Yubico身份验证器图形用户界面(GUI).要生成证明证书,请使用此下载包中包含的 ykman 命令行界面 (CLI): YubiKey 管理器。
安装完成后,这两个工具都将存储在您电脑的 Yubico 文件夹中。

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

步骤1:在YubiKey上生成密钥对
- 下载 Yubico身份验证器.
- 插入您的 YubiKey,然后启动 Yubico Authenticator。
- 在下面 证书 部分中,选择您要生成密钥对的 YubiKey 插槽对应的选项卡。对于代码签名证书,请选择 认证(插槽9a). 点击 生成密钥 继续。

-
点击 咨询内容 在该字段中,放置可分辨名称(DN) 这是代码签名证书的名称。这是组织或个人的名称,将显示在任何使用该证书签名的软件上。请确保输入正确的字符。
CN=在输入专有名称之前。例如:CN=Example Company.对于 输出格式,选择 证书签名请求(CSR).
来自 算法 下拉列表,进行选择对于代码签名,请选择 ECCP256 or ECCP384.
最后,点击 已保存 按钮。

- 拯救 CSR 文件夹中的证书。

步骤2:产生证明书
每个YubiKey都预装有Yubico的私钥和证书,可让您生成一个 证明书 验证 YubiKey 上是否已生成私钥。此操作需要您使用 尤克曼 命令行界面 (CLI) 位于 YubiKey经理 计算机的文件夹中。要访问 ykman CLI,您需要使用 Windows PowerShell,具体步骤如下。
- 在Windows中,以管理员身份打开PowerShell。 macOS和Linux用户应在其设备上打开一个终端窗口。

-
使用 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,因此您可以跳过此步骤。
- Windows上:
- 生成证明文件。 使用 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
- Windows上:
- 导出中间证书。 接下来,使用
ykman从 YubiKey 的 f9 插槽导出中间证书的命令。证书将以文本文件格式保存。 命令如下所示:.\ykman.exe piv certificates export f9 C:\Folder\Folder\attestation\intermediatefilename
让我们来详细分析一下:
a. 将以下内容复制到 PowerShell:.\ykman.exe piv certificates export f9b. 在您的计算机(例如“文档”)中选择或创建一个文件夹,用于导出中间证书。将文件夹地址复制到 PowerShell 中。例如:
C:\Folder\Folder\attestation
c. 为中间证书创建文件名。在文件名前添加反斜杠,并将其附加到已复制到 PowerShell 的文件夹地址末尾,中间不要有空格。例如:\intermediatefilename
d. 按压 输入输入命令后,中间证书将出现在指定文件夹中,名称为您设置的名称。打开后,它将显示一串字母和数字,开头为 ––BEGIN证书- 在顶部和 -结束证书- 最后。
-
- Windows上:
.\ykman.exe piv 证书导出 f9 C:\Folder\Folder\attestation\intermediatefilename
- Windows上:
- Linux(Ubuntu):
ykman piv证书导出f9 INTERMEDIATE-FILENAME.crt
- 苹果系统:
./ykman piv证书导出f9 INTERMEDIATE-FILENAME.crt
-
步骤3:使用SSL.com验证证明证书并附加到订单
- 这里我们将使用来自 YubiKey 9a 插槽的证明证书,并按照 EV 代码签名证书顺序进行操作。首先,用文本编辑器打开证明证书和中间证书。

- 登录到您的SSL.com用户帐户,然后导航到 订单管理 点击标签页。点击标有“ 详情 (针对新订单)或 download (针对旧订单)您希望与证明书关联的订单。(此链接将显示为 download (适用于签名证书已过期且需要更换的客户)。注意: 如果您希望在不附加证明的情况下检查证明书的有效性,则可以使用SSL.com的 证明验证工具.

- 请在下方选择您的使用场景:
a. 对于拥有空白 YubiKey 的用户,请点击 管理 链接,在 证明.
b. 对于需要更换过期签名证书的客户,请点击 删除 首先点击链接删除之前针对已过期签名证书提交的证明文件。之后,点击 管理 链接.
- 将显示一个新页面,其中包含用于证明和中间证书的字段。
- 将证明证书粘贴到 证明书 字段,确保包括这些行
-----BEGIN CERTIFICATE-----金益辉-----END CERTIFICATE-----.

- 接下来,将中间证书粘贴到 中级证书 部分

- 点击 提交 按钮。

- 如果一切正常,则屏幕顶部将出现绿色警报,表明认证成功。

第四步:下载您的代码签名证书
- SSL.com 批准您的证明并颁发证书后,您即可下载证书。为此,请登录您的 SSL.com 帐户并点击。 订单管理 从顶部菜单中选择。在列表中找到您的订单,然后点击。 download 链接。

- 下载页面显示后,向下滚动至 最终实体证书 进入此部分。点击折叠箭头以显示您的证书详细信息。右侧将显示可用的下载格式选项。选择 个人证书 并单击 下载 点击按钮。这是一个包含三个证书文件的压缩文件:您的终端实体证书、中间证书和根证书。之后,您只需将终端实体证书导入到您的 YubiKey 中即可。

- 解压缩下载的zip文件。

- 选择文件解压位置,然后单击 提取 按钮。

- 打开包含已提取证书的文件夹。您会看到三个证书,但您只需要安装最终实体证书即可。 .CRT 文件 证书上会显示个人或组织的名称。现在,您可以开始安装证书了。

步骤5:在YubiKey中安装证书
- 打开 Yubico 身份验证器
- 点击 证书,其次是 9a 身份验证和 导入文件。

- 出现提示时,请输入您的 YubiKey PIN 码。

- 导航到证书提取所在的文件夹,然后单击您的最终实体代码签名证书。

- Yubico Authenticator 将显示您的代码签名证书的详细信息。点击 导入模板 按键.

- 您的证书现已成功安装。

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

代码签名证明故障排除
If SSL.com 如果您的证明文件被拒绝,原因可能是以下之一:
- 步骤1:在YubiKey上生成密钥对
- 您的证书签名请求(CSR) 被 Yubico 身份验证器拒绝
- 你必须把这些角色都写进去。
CN=在主题字段中。Yubico Authenticator 将拒绝该请求。 CSR 如果这件事没有做到。 - 你必须选择
ECCP256orECCP384对于该算法而言,只有这两种类型才能被代码签名证书接受。
- 你必须把这些角色都写进去。
- 您的证书签名请求(CSR) 被 Yubico 身份验证器拒绝
- 步骤2:产生证明书
- 您无法访问 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”
- 认证证书和中间证书未生成。
- 请确保选择/创建名称为单个单词或不包含空格的文件夹,以避免在 PowerShell 中输入命令时出现错误。
- 请确保生成的文件名简短且为单个单词,不包含特殊字符,以避免在 PowerShell 中输入命令时出现错误。
- 您无法访问 ykman CLI
- 步骤3:使用SSL.com验证证明证书并附加到订单
- 我的证明文件和中间证书未能提交。 SSL.com 帐户
- 使用记事本等文本编辑器打开它们时,请务必复制文件的全部内容,包括…… ––BEGIN证书- 在顶部和 -结束证书- 最后。
- 我的证明文件和中间证书未能提交。 SSL.com 帐户
关于使用 YubiKey 进行代码签名的相关指南
- 使用您的代码签名证书: 了解如何使用 Microsoft SignTool 通过 OV 或 EV 代码签名证书对应用程序进行签名。