如何更改javacard默认密钥?

时间:2014-05-22 09:11:10

标签: smartcard javacard globalplatform

我有一个javacard,它是S_ENCS_MACDEK键是404142434445464748494A4B4C4D4E4F。问题是如何通过gpj,gpshell或jcmanager更改这些键?

2 个答案:

答案 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命令以确保操作的完整性。   在此版本的规范中,非对称密钥的公共值以明文形式显示