鍵や証明書のインポート#

一般的に、鍵ペアや証明書をインポートするためのコンセプトは以下の通りです。

  • DKEK(デバイス・キー・エンクリプション・キー)共有の作成

  • デバイスを初期化し、DKEKをデバイス暗号化方式として有効にします。

  • DKEKのシェアを機器に取り込む

  • PKCS#12コンテナのDKEKへのインポート

このドキュメントは、1つの特定のユースケースのみをカバーしており、全体的なワークフローの例として役立つはずです。さらに詳しい情報については、`このスレッド`_や`このブログ記事`_をご覧ください。

警告

この手順では、Nitrokey HSM 2デバイスがリセットされ、デバイス上のすべてのデータが削除されます。

準備#

  • インポートしたいすべての鍵がPKCS#12コンテナ(.p12)として利用可能であること、また必要に応じてパスワードがわかっていることを確認してください。

  • 使用したNitrokey HSM 2に必要なものが何もないことを確認してください。この手順で削除されます。

  • 最新の`Smart Card Shell`_をダウンロードして、作業ディレクトリに解凍します。

SCSH3 GUIによるインポート#

解凍されたディレクトリの中には、scsh3gui``があり、``bash scsh3gui``を使って起動することができます(Windowsの場合はダブルクリックしてください。``scsh3gui.cmd)で起動できます。

SCSH3ツールを開くと、ツリービューの中にNitrokey HSM 2が表示されているはずです。以下の手順でインポートを行ってください。

  • キーマネージャの起動 (File -> Keymanager)

  • Smartcard-HSM" -> DKEK共有の作成」を右クリックします。

    • ファイルの場所を選択

    • DKEKの共有パスワードを選択

  • Smartcard-HSM" -> デバイスの初期化」を右クリックします。

    • SO-PINの入力

    • (オプション) ラベルを入力し、URL/Hostを入力する

    • 認証方法を選択する: "User PIN"

    • RESET RETRY COUNTERを許可する: "SO-PINでのPINのリセットとブロック解除は許可されていません"。

    • ユーザーPINの入力と確認

    • "Select Device Key Encryption scheme" -> "DKEK shares"

    • DKEKの株式数を入力してください。1

  • 進行中のDKEKセットアップを右クリック -> "Import DKEK share"

    • DKEKの共有ファイルの場所を選択

    • DKEK共有のパスワード

  • SmartCard-HSM" -> "Import from PKCS#12" を右クリックします。

    • 株式数の入力 -> 1

    • DKEKの共有ファイルの場所を入力してください。

    • DKEK共有のパスワード入力

    • インポートするPKCS#12コンテナの選択(設定されている場合はパスワードの入力)

    • セレクトキー

    • Select Name to be used (This is the Label used for the key on the device)

    • 必要に応じてキーを増やす

これで、キーが正常に取り込まれたことが確認できます。

pkcs15-tool -D

出力結果には、インポートされたキーが以前に選択した名前で表示されています。