【发布时间】:2014-09-03 05:16:45
【问题描述】:
我正在尝试向我的 EMV 卡发送 STORE DATA 命令以存储 DGI 值。我有一个文档,描述了在 JCOP 2.4.1 Revision 3 上安装和个性化 EMV 应用程序的 APDU 命令。
在文档中,命令的顺序是:
SELECT
INITIALIZE UPDATE
EXTERNAL AUTHENTICATION
STORE DATA FOR DGI
...
...
STORE DATA FOR DGI.
本文档中写的行是:
颁发者安全域的密钥值(加密、MAC、密钥加密密钥):404142434445464748494a4b4c4d4e4f。序列计数器的值为0。
我刚刚下载了 GPSHELL 1.4.4 并尝试运行以下脚本:-
mode_211
enable_trace
establish_context
card_connect
select -AID A000000003000000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
card_disconnect
release_context
但是我的输出是:
D:\users\Amitp\My Documents\Downloads\GPShell-1.4.4\GPShell-1.4.4>GPShell.exe he
lloInstalll.txt
mode_211
enable_trace
establish_context
card_connect
select -AID A000000003000000
Command --> 00A4040008A000000003000000
Wrapped command --> 00A4040008A000000003000000
Response <-- 6F658408A000000003000000A5599F6501FF9F6E06479100783300734A06072A864
886FC6B01600C060A2A864886FC6B02020101630906072A864886FC6B03640B06092A864886FC6B0
40215650B06092B8510864864020103660C060A2B060104012A026E01029000
open_sc -security 1 -keyind 0 -keyver 0 -mac_key 404142434445464748494a4b4c4d4e4
f -enc_key 404142434445464748494a4b4c4d4e4f // Open secure channel
Command --> 80CA006600
Wrapped command --> 80CA006600
Response <-- 664C734A06072A864886FC6B01600C060A2A864886FC6B02020101630906072A864
886FC6B03640B06092A864886FC6B040215650B06092B8510864864020103660C060A2B060104012
A026E01029000
Command --> 8050000008FB3EE9FE0812ABFF00
Wrapped command --> 8050000008FB3EE9FE0812ABFF00
Response <-- 0000322000186396921901020000CEBCF3A2D47130C736B6480E4DD59000
mutual_authentication() returns 0x80302000 (The verification of the card cryptog
ram failed.)
为什么认证失败?要发送 STORE 命令,我需要通过身份验证。如何通过认证?
【问题讨论】:
-
如果卡密码验证失败,很可能是您使用了错误的密钥。 INITIALIZE UPDATE 的响应表明使用了 keyset 1。你知道钥匙还是只是在猜?
标签: javacard emv globalplatform