我有一个javacard,它是S_ENC
,S_MAC
和DEK
键是404142434445464748494A4B4C4D4E4F
。问题是如何通过gpj,gpshell或jcmanager更改这些键?
答案 0 :(得分:2)
使用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具有很好的自解释文本字段和按钮,应该相当容易理解(即&#34;新密钥:&#34;,&#34;添加/修改密钥&#34;)。
答案 1 :(得分:2)
PUT KEY命令是用于更改密钥的GP命令 APDU格式为“80/84 D8 P1 P2 Lc Data Le”,有关详细信息,请参阅“GlobalPlatform卡规范”
PUT KEY命令用于:
•用新密钥替换现有密钥:新密钥具有相同或不同的密钥版本号,但与要替换的密钥具有相同的密钥标识符;
•用新密钥替换多个现有密钥:新密钥具有相同或不同的密钥版本号(所有新密钥都相同),但密钥标识符与要替换的密钥相同;
•添加一个新密钥:新密钥具有与现有密钥不同的组合密钥标识符/密钥版本号;
•添加多个新密钥:新密钥具有与现有密钥不同的密钥标识符/密钥版本号(与所有新密钥相同)的组合; 当密钥管理操作需要多个PUT KEY命令时,建议链接多个PUT KEY命令以确保操作的完整性。 在此版本的规范中,非对称密钥的公共值以明文形式显示