导入钥匙和证书#

(Nitrokey HSM 2 - macOS)

一般来说,导入密钥对和/或证书的概念如下。

  • 创建一个DKEK(设备密钥加密密钥)共享

  • 初始化设备并启用DKEK作为”设备加密方案”。

  • 将DKEK共享导入设备中

  • 向DKEK导入PKCS#12容器

本文档只涵盖了一个特定的用例,并应作为整个工作流程的一个例子。更多信息请阅读`这个主题`_和`这个博文`_。

警告

这个过程将重置你的Nitrokey HSM 2设备,上面的所有数据都将被删除!

准备工作#

  • 确保你想导入的所有钥匙都是以PKCS#12容器(`.p12’)的形式存在的,如果需要,你知道密码。

  • 确保使用过的Nitrokey HSM 2上没有任何东西是需要的,它将在这个过程中被删除。

  • 下载最新的`Smart Card Shell`_,并将其解压到你的工作目录中。

通过SCSH3图形用户界面导入#

在解压后的目录中,你会发现``scsh3gui``,可以用``bash scsh3gui``启动(对于Windows,双击。scsh3gui.cmd)。

一旦SCSH3工具被打开,你应该在树状视图中看到你的Nitrokey HSM 2。请按照以下步骤进行导入。

  • 启动钥匙管理器 (File -> Keymanager)

  • 右键单击”智能卡-HSM”-> 创建DKEK共享

    • 选择文件位置

    • 选择DKEK共享密码

  • 右键点击”智能卡-HSM”->初始化设备

    • 输入SO-PIN

    • (可选)输入标签并输入URL/主机

    • 选择认证方法:”用户密码”。

    • 允许RESET RETRY COUNTER:”不允许用SO-PIN重置和解除封锁PIN”。

    • 输入并确认用户密码

    • “选择设备密钥加密方案”->”DKEK份额”。

    • 输入DKEK股票的数量。1

  • 右键单击正在进行的DKEK设置->”导入DKEK共享”。

    • 选择DKEK共享文件的位置

    • DKEK共享的密码

  • 右键点击”SmartCard-HSM” -> “从PKCS#12导入”。

    • 输入股票数量 -> 1

    • 输入DKEK共享的文件位置

    • 输入DKEK共享的密码

    • 选择用于导入的PKCS#12容器(输入密码,如果设置了密码)。

    • 选择键

    • 选择要使用的名称(这是在设备上用于钥匙的标签)。

    • 如果需要,导入更多的钥匙

一旦完成,你就可以通过以下方式检查钥匙是否已经成功导入。

pkcs15-tool -D

在结果输出中,你会发现导入的钥匙被你之前选择的名称所标记。