私は javacard を持っていて、それS_ENC
は でS_MAC
、DEK
キーは404142434445464748494A4B4C4D4E4F
です。問題は、 gpj 、 gpshell 、または jcmanager を介してこれらのキーを変更する方法です。
2 に答える
PUT KEY コマンドは、キーを変更する GP コマンドです。
APDU フォーマットは「80/84 D8 P1 P2 Lc Data Le」です。詳細については、「GlobalPlatform Card Specification」を参照してください。
PUT KEY コマンドは、次のいずれかの目的で使用されます。
• 既存のキーを新しいキーに置き換える: 新しいキーのキー バージョン番号は同じか、または異なりますが、キー識別子は置き換えられるキーと同じです。
• 複数の既存のキーを新しいキーに置き換える: 新しいキーは、同じまたは異なるキー バージョン番号 (すべての新しいキーで同じ) を持ちますが、置き換えられるキーと同じキー識別子を持ちます。
• 新しいキーを 1 つ追加します。新しいキーは、既存のキーとは異なるキー識別子/キー バージョン番号の組み合わせを持ちます。
• 複数の新しいキーを追加します。新しいキーには、既存のキーとは異なるキー識別子/キー バージョン番号の組み合わせ (すべての新しいキーと同じ) があります。キー管理操作で複数の PUT KEY コマンドが必要な場合は、複数の PUT KEY コマンドを連鎖させて、操作の整合性を確保することをお勧めします。このバージョンの仕様では、非対称鍵の公開値はクリア テキストで表示されます。
gpshell では、put_sc_key コマンドを使用できます。
put_sc_key -keyver <current key version> -newkeyver <new key version> -mac_key <mac key> -enc_key <enc key> -kek_key <kek key> [-current_kek <kek key>]
GPJ でキーを変更することはできないと思います。jcManager の GUI には、わかりやすいテキスト フィールドとボタンがあり、かなり理解しやすいはずです (つまり、「新しいキー:」、「キーの追加/変更」)。