gpt4 book ai didi

smartcard - 为什么我在尝试更改 JavaCard key 时收到 6A80、6A84 和 6A88?

转载 作者:行者123 更新时间:2023-12-02 22:30:13 28 4
gpt4 key购买 nike

我有一张 java 卡,里面没有小程序。当我尝试通过 JCManager 添加/修改其 key 时,我收到 6A846A88 APDU-Response。

Note-1:我在 GP Card Spec2.2 中搜索了这两个响应,最后除了它们的含义之外什么也没找到!

注2:当我将按键设置编号更改为 2 ,并设置添加单选按钮时,我收到 6A80 [命令数据字段中的参数不正确]!!!

Note-3:然后,我可以成功添加和修改 key 。此外,将卡从读卡器中取出并再次放入后,卡的 key 没有任何变化!但经过一番尝试添加和修改后,我收到了 6A80/6A84/6A88

这是 jcmanager 的输出,当我将单选按钮放在“添加”上时,它会给我 6A84 [文件中没有足够的内存空间]:

enter image description here

当我选择“修改”单选按钮时,我收到 6A88 [未找到引用数据或引用数据]: enter image description here

更新:我使用 GPSHELL 来替换/回收 key ,但我收到以下输出:

C:\Users\ghasemi\Desktop\GPShell-1.4.4>gpshell recyclekey-cosmo-gp211.txt
mode_211
enable_trace
establish_context
card_connect
select -AID a0000000030000
Command --> 00A4040007A0000000030000
Wrapped command --> 00A4040007A0000000030000
Response <-- 6F108408A000000003000000A5049F6501FF9000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 505152535455565758595a5b5c5d5e5
f -enc_key 505152535455565758595a5b5c5d5e5f -kek_key 505152535455565758595a5b5c5
d5e5f // Open secure channel
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864
886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012
A026E01029000
Command --> 8050000008EFBC3082C086980800
Wrapped command --> 8050000008EFBC3082C086980800
Response <-- 0000116001007F8B0AF9020201CE4DA5AC97B74B861FCDC3513F4E279000
mutual_authentication() returns 0x80302000 (The verification of the card cryptog
ram failed.)

C:\Users\ghasemi\Desktop\GPShell-1.4.4>gpshell replacekey-cosmo-gp211.txt
mode_211
enable_trace
establish_context
card_connect
select -AID a0000000030000
Command --> 00A4040007A0000000030000
Wrapped command --> 00A4040007A0000000030000
Response <-- 6F108408A000000003000000A5049F6501FF9000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4
f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 404142434445464748494a4b4c4
d4e4f // Open secure channel
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864
886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012
A026E01029000
Command --> 8050000008265AB6AEA30BA66700
Wrapped command --> 8050000008265AB6AEA30BA66700
Response <-- 0000116001007F8B0AF9020201CE4DA5AC97B74BC8B179AE19AE9C799000
Command --> 848201001038FCE51496D47D400D437EC5F7D51EFE
Wrapped command --> 848201001038FCE51496D47D400D437EC5F7D51EFE
Response <-- 9000
put_sc_key -keyver 1 -newkeyver 1 -mac_key 505152535455565758595a5b5c5d5e5f -enc
_key 505152535455565758595a5b5c5d5e5f -kek_key 505152535455565758595a5b5c5d5e5f
// Put secure channel keys
Command --> 80D8018143018010AA3EB3DDC7861B08DA195E1CA04A8BDF03A4B7D68010AA3EB3DD
C7861B08DA195E1CA04A8BDF03A4B7D68010AA3EB3DDC7861B08DA195E1CA04A8BDF03A4B7D600
Wrapped command --> 84D801814B018010AA3EB3DDC7861B08DA195E1CA04A8BDF03A4B7D68010
AA3EB3DDC7861B08DA195E1CA04A8BDF03A4B7D68010AA3EB3DDC7861B08DA195E1CA04A8BDF03A4
B7D602CA7DE4B07AD3DE00
Response <-- 6A88
put_secure_channel_keys() returns 0x80206A88 (6A88: Referenced data not found.)

C:\Users\ghasemi\Desktop\GPShell-1.4.4>

这是recyclekey-cosmo-gp211.txt [gpshell脚本]的内容:

mode_211
enable_trace
establish_context
card_connect
# -readerNumber 3
select -AID a0000000030000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 505152535455565758595a5b5c5d5e5f -enc_key 505152535455565758595a5b5c5d5e5f -kek_key 505152535455565758595a5b5c5d5e5f // Open secure channel
put_sc_key -keyver 1 -newkeyver 1 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 404142434445464748494a4b4c4d4e4f // Put secure channel keys
card_disconnect
release_context

这是replacekey-cosmo-gp211.txt [gpshell脚本]的内容:

mode_211
enable_trace
establish_context
card_connect
# -readerNumber 3
select -AID a0000000030000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 404142434445464748494a4b4c4d4e4f // Open secure channel
put_sc_key -keyver 1 -newkeyver 1 -mac_key 505152535455565758595a5b5c5d5e5f -enc_key 505152535455565758595a5b5c5d5e5f -kek_key 505152535455565758595a5b5c5d5e5f // Put secure channel keys
#put_sc_key -keyver 1 -newkeyver 1 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f -kek_key 404142434445464748494a4b4c4d4e4f // Put secure channel keys
card_disconnect
release_context

更新 2: enter image description here

我该如何解决这个问题?

最佳答案

我从未使用过 JCManager,因此我不确定它如何将表单中的字段映射到 APDU 中的参数,但它可能会将 Keyset 映射到 P1( key 版本号)。在许多配置中,SCP02 的 key 版本号从 0x20 开始 - key 版本号 1 不存在,因此响应代码为 6A88

所以我的建议是:尝试将 Keyset 设置为 0x20(32) 并看看会发生什么。祝你好运!

我想引用一些规范,其中说 SCP02 key ​​版本号从 0x20 开始,但除了 UICC 配置之外我找不到其他配置,而且该配置不是免费提供的 - 对此感到抱歉。

尝试使用带有标签“E0”的 GET DATA 读取卡中已有 key 的 ID 和版本。原始 APDU 应为:80CA00E000。该命令将使用 E0 数据结构进行响应,其中包含有关安全域(您之前已选择的)中所有 key 的信息。请参阅 GP CardSpec 中的表 11-27。

关于smartcard - 为什么我在尝试更改 JavaCard key 时收到 6A80、6A84 和 6A88?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23966479/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com