在 gpshell 中更改全局平台默认密钥后,java 卡管理器的身份验证失败

Authentication failed to java card Manager after changing Global Platform default key in gpshell

我想更改 globalplatform 默认密钥以加载小程序和安全消息传递给卡片管理器。 我可以使用以下命令成功更改我的 gemalto 默认 GP 卡密钥:

mode_211
enable_trace
establish_context
card_connect -readerNumber 1
select -AID A000000018434D00
open_sc -security 1 -keyind 0 -keyver 1 -key 47454d5850524553534f53414d504c45  -keyDerivation visa2 // Open secure channel
put_sc_key -keyver 0 -newkeyver 1 -key 505152535455565758595a5b5c5d5e5f // Put secure channel keys
card_disconnect
release_context

但是当我想通过新密钥建立到卡管理器的安全通道时,主机端生成的密码与卡端不匹配。旧密钥也不起作用。 卡管家认证命令为:

open_sc -security 1 -keyind 0 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

我也测试了

open_sc -security 1 -keyind 0 -keyver 1 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

open_sc -security 1 -keyind 1 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

open_sc -security 1 -keyind 1 -keyver 0 -key 505152535455565758595a5b5c5d5e5f  -keyDerivation visa2 // Open secure channel

我也用smartcafe smart expert 3.2(G&D卡)测试了流程,结果是一样的。

如果有人能帮助我,我将不胜感激。

您需要使用:

open_sc -security 1 -key 505152535455565758595a5b5c5d5e5f

由于新密钥未被多元化(派生),必须直接使用。

祝你好运!


请注意,不成功的身份验证是有限制的——您可能会锁定您的卡。