在 gpshell 中更改 Global Platform 默认密钥后,java 卡管理器身份验证失败

2023-12-23

我想更改用于加载小程序和向卡管理器发送安全消息的全局平台默认密钥。 我可以使用以下命令成功更改我的金雅拓默认 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

and

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

and

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

由于新密钥没有多样化(派生),您必须直接使用它。

祝你好运!


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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 gpshell 中更改 Global Platform 默认密钥后,java 卡管理器身份验证失败 的相关文章

  • SIM工具包应用-Javacard开发套件

    我正在尝试开发 STK 应用程序 但我不知道在哪里可以获得开发套件 现在对于 Javacard 我从 Oracle 网站获得了一个 但它没有 sim toolkit 包 我不想从金雅拓等公司购买它 是否有任何 免费 实施 我已经找到了欧洲电
  • 如何从智能卡获取 CPLC 数据?

    我在用着GPShell在带有智能卡读卡器 型号为 ACR122 的 Ubuntu VM 上 我使用几种不同的 NXP SmartMX 芯片 使用他们的Android 标签信息应用程序 当我扫描一个特定的 SmartMX 芯片时 我能够看到
  • JavaCard 的数学库?

    我目前正在开发一个 JavaCard 项目 v 2 2 2 我需要使用平方根 对数等来计算值 我知道Math类在 JavaCard API 中不可用 想知道是否存在另一个提供此类操作的库 而且我也不能用double价值观 但我需要 有没有一
  • 从 javacard 小程序读取大文件

    我正在编写一个小程序 它存储 3 个不同大小的文件 5 Kb 7 Kb 和 11 Kb 我在小程序中存储文件没有任何问题 但是当我尝试读回它们时 我只能读取前两个 较小的文件 第三个文件抛出异常 javax smartcardio Card
  • 为什么使用Shareable接口时小程序转换失败? (这种情况下如何使用导出文件)

    我写了两个java卡小程序 名为大师应用程序 and SlaveApp位于两个不同的包中 名为大师包 and 从包 掌握艾滋病 包裹 01 02 03 04 01 小程序 01 02 03 04 01 01 奴隶援助 包裹 01 02 03
  • jcop 小程序上传错误

    我是 Java 卡开发的新手 我用jcop工具作为开发套件 当我在 Eclipse 中运行简单的小程序时 出现此错误 在运行配置中我选择Java卡模拟模式 在模拟模式下成功安装后 我想在java卡中安装应用程序 cm gt upload b
  • 处理方法未从主机接收完整的 APDU 命令?

    主机向小程序发送以下命令选择EF文件 00 A4 02 00 02 40 01 目的是选择带ID的EF文件40 01 在命令的数据字段中指定 但是当我调试 process APDU apdu 方法时 APDU 缓冲区仅包含前 5 个字节00
  • 使用 RSA 进行模乘会导致 Java Card 上出现错误

    你好 我正在开发一个关于 Java Card 的项目 这意味着大量的模乘 我设法使用 RSA 加密系统在这个平台上实现模乘 但它似乎适用于某些数字 public byte modMultiply byte x short xOffset s
  • 验证和认证的区别?

    如您所知 我们通过以下方式向卡证明我们是真实用户INITIAL UPDATE and EXTERNAL AUTHENTICATION命令 如下 lt 80 50 00 00 08 Host Challenge gt lt 84 82 03
  • 向 Javacard 发送扩展 APDU

    我有一个 ACR38 智能卡读卡器和一些符合 GP 规范 02 的 Javacard 2 1 1 据我所知 有两种APDU 短APDU APDU 与LC or and LE比 短255 and 扩展APDU APDU 与LC or and
  • 如何创建和使用Java Card库包?

    正如您可能知道的 正如中提到的Java 卡开发套件用户指南为Java Card平台编写大型应用程序的关键是将代码划分为单独的包单元 软件包最重要的限制是最大组件大小为 64KB 对于 方法组件 如果应用程序的方法组件的大小超过 64KB 那
  • Javacard 共享接口:lookupAID 返回 AID,但 getAppletShareableInterface 返回 null

    编辑2 发现错误 我尝试在构造函数中初始化 Shareable 对象 此时客户端的register方法还没有被调用 所以JCRE没有它的AID 虽然我的服务器的 getShareableInterfaceObject AID clienta
  • 安装后将 Javacard 小程序标记为隐式可选(默认小程序)

    我正在寻找一种方法 将小程序标记为隐式可选 默认选择 小程序 然后将其上传并安装在全球平台 http www globalplatform org JCOP 2 4 2 R1 http www nxp com products identi
  • Secure Com SCP02 会话:响应初始化更新命令返回的“密钥多样化数据”的作用是什么

    在初始化更新命令的响应字段中 密钥多样化数据 包含制造商ID和安全域AID的最后两个字节 被返回到Off Card实体 我想知道这些数据的用途是什么 我在某处读到 该密钥多样化数据用于派生卡外的基本密钥 我不知道这是对还是错 如果是正确的
  • 如何将CAP文件加载到java卡

    我是java卡的新手 你能帮我看看如何将Applet CAP文件解析为APDU吗 用于将此 CAP 文件安装到支持 GP2 2 的卡上 你应该尝试使用GPShell http sourceforge net projects globalp
  • 扩展 APDU 和 T=0/1 通信协议

    我有一个 JCOP V2 4 2 R3 java 卡 它的数据表中提到 该卡支持T 1 and T 0通信协议 我还有一个 ACR38 智能卡读卡器 它支持 T 0 和 T 1 协议 我与一张卡成功进行了 T 0 通信 并且与该卡成功进行了
  • Java Card 中的加密/解密输出 + 相应的 APDU

    我对 Java Card 的整个主题很陌生 并尝试查看一些代码示例以更好地理解 我在以下位置找到了 AES 使用示例甲骨文论坛 https community oracle com thread 1751988但以下部分有一些问题 priv
  • Javacard 中的 ECDSA 签名

    我正在 Javacard 中使用 ECDSA 实现签名代码 我的代码在异常部分输出 0x0003 NO SUCH ALGORITHM 这意味着该卡不支持该算法 我不明白这一点 因为我的供应商告诉我它支持 ECC 我的结论是 我不知道如何使用
  • 打开与 Java Card 和 Global Platform 的安全连接

    在模拟器上成功开发 Java Card 后 现在我正在处理一个真正的 Java Card 金雅拓 IDCore 3010 http www gemalto com dwnld 6589 IDCore3010 Product Datashee
  • jcop是在java卡中安装小程序的唯一方法吗?

    我正在尝试理解java卡的概念 我有一些疑问 我想与大家分享 也许你会对我有任何最好的建议 Jcop 我在某处读到 Java Card OpenPlatform JCOP 是由 IBM Z rich Research Laboratory

随机推荐