更改我的 Java 卡的全球平台默认密钥集

change Global Platform default key set of my Java Card

我已经完成了我的小程序,我想使用 GPSshell 更改卡的默认密钥集,以防止其他人替换或删除我的小程序。

我的脚本如下:

mode_211
enable_trace
establish_context
enable_trace
card_connect

open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f //  Open secure channel
put_sc_key -keyver 1 -newkeyver 1 -mac_key 404142434445464748494a4b4c4d4e4e -enc_key 404142434445464748494a4b4c4d4e4e -kek_key 404142434445464748494a4b4c4d4e4e -cur_kek 404142434445464748494a4b4c4d4e4f

card_disconnect
release_context

但是当我尝试这个脚本时,GPSshell returns 出现以下错误:

mode_211
enable_trace
establish_context
enable_trace
card_connect
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012A026E01029000
Command --> 80500000089AA60E4925924D6900
Wrapped command --> 80500000089AA60E4925924D6900
Response <-- 000011370001AB741C0BFF02047E4413D6E4873750AB69F325A1E4FF9000
Command --> 848201001056D480DA94FF6A33778F6D68A7497C8C
Wrapped command --> 848201001056D480DA94FF6A33778F6D68A7497C8C
Response <-- 9000
put_sc_key -keyver 1 -newkeyver 1 -mac_key 404142434445464748494a4b4c4d4e4e -enc_key 404142434445464748494a4b4c4d4e4e -kek_key 404142434445464748494a4b4c4d4e4e -cur_kek 404142434445464748494a4b4c4d4e4f
Error: unknown option -cur_kek

谁能帮忙解决这个问题?我的任何选择都错了吗?你能给我写正确的 GPSshell 脚本吗?

提前致谢。

尝试使用 -current_kek 而不是 -cur_kek,因为 the gpshell documentation.

中似乎有错字

源代码的相关部分是here