如何使用我自己的密钥更改 java 卡默认密钥?

How to change java card default key with my own keys?

我正在尝试将 java 卡默认密钥 (40 41... 4F) 更改为我自己的密钥集。我尝试使用 JCManager 但修改密钥 returns 6A 88 的过程意味着 reference data not found.

接下来我尝试更改 GPSshell put_sc_key 但返回相同的错误。

什么是正确的 P1P2 字节用于更改默认密钥?

我该如何解决这个问题?

附录 1:

这是在 GPSshell 中执行 GET DATA 命令的结果,如下所示:

mode_211
enable_trace
establish_context
card_connect
select -AID A000000151000000
Command --> 00A4040008A000000151000000
Wrapped command --> 00A4040008A000000151000000
Response <-- 6F108408A000000151000000A5049F6501FF9000
get_data -identifier E0
Command --> 80CA00E000
Wrapped command --> 80CA00E000
Response <-- E012C00401208080C00402208080C004032080809000
E012C00401208080C00402208080C00403208080
card_disconnect
release_context

附录 2:

这是我尝试通过 ACR83 reader:

使用 GP pro 更改密钥的脚本
gp -lock 010B0371D78377B801F2D62AFC671D95
Warning: no keys given, using default test key 404142434445464748494A4B4C4D4E4F
Failed to communicate with card in JnaCardTerminal{scardHandle=SCardContext{cd00000100000001}, name=ACS ACR83U 0}: SCardTransmit got response 0x57 (null: null)

我发现 pyResMan 对我有用。这是一个 python 应用程序,可帮助您轻松列出卡上的密钥集和 add/modify 密钥。