2

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

4

2 回答 2

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 有很好的不言自明的文本字段和按钮,应该相当容易理解(即“新键:”、“添加/修改键”)。

于 2014-05-22T14:27:34.627 回答
2

PUT KEY 命令是一个用于更改密钥的 GP 命令。
APDU 格式为“80/84 D8 P1 P2 Lc Data Le”,更多详情请参见“GlobalPlatform Card Specification”

PUT KEY 命令用于:

• 用新密钥替换现有密钥:新密钥与被替换的密钥具有相同或不同的密钥版本号,但密钥标识符相同;

• 用新密钥替换多个现有密钥:新密钥具有相同或不同的密钥版本号(对于所有新密钥都相同),但密钥标识符与被替换的密钥相同;

• 添加一个新密钥:新密钥的密钥标识符/密钥版本号组合与现有密钥的组合不同;

• 添加多个新密钥:新密钥的密钥标识符/密钥版本号组合(与所有新密钥相同)与现有密钥的组合不同;当密钥管理操作需要多个 PUT KEY 命令时,建议链接多个 PUT KEY 命令以确保操作的完整性。在此版本的规范中,非对称密钥的公共值以明文形式呈现

于 2015-06-01T10:19:19.360 回答