在javacard中安装小程序

2024-01-10

我通过 Eclipse 制作了流行的“Hello World”javacard 代码的 .cap 文件

现在我想通过 GPShell 和 ACR38 智能卡读卡器将其加载到真正的 javacard 中。

问题:我需要任何密钥才能将 .cap 文件加载到卡中吗?我的意思是,我应该在将小程序上传到卡中之前进行身份验证还是没有必要? 我认为认证是强制性的。未经认证就上传.cap是不合理的。但我不知道如何进行身份验证。 问题:这有什么问题吗?

C:\Users\ghasemi>java -jar e:\gpj\gpj.jar -load e:\helloWorld.cap -install
Found terminals: [PC/SC terminal ACS CCID USB Reader 0]
javax.smartcardio.CardException: connect() failed
        at sun.security.smartcardio.TerminalImpl.connect(Unknown Source)
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)
Caused by: sun.security.smartcardio.PCSCException: SCARD_E_SHARING_VIOLATION
        at sun.security.smartcardio.PCSC.SCardConnect(Native Method)
        at sun.security.smartcardio.CardImpl.<init>(Unknown Source)
        ... 2 more
Found card in terminal: ACS CCID USB Reader 0
java.lang.NullPointerException
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)

C:\Users\ghasemi>java -jar e:\gpj\gpj.jar -load e:\helloWorld.cap -install

Found terminals: [PC/SC terminal ACS CCID USB Reader 0]

Found card in terminal: ACS CCID USB Reader 0

ATR: 3B 7F 94 00 00 80 31 80 65 B0 85 02 02 ED 12 0F FF 82 90 00

DEBUG: Command  APDU: 00 A4 04 00 07 A0 00 00 01 51 00 00

DEBUG: Response APDU: 6A 82

Failed to select Security Domain GP211 A0 00 00 01 51 00 00 , SW: 6A 82
DEBUG: Command  APDU: 00 A4 04 00 08 A0 00 00 00 18 43 4D 00

DEBUG: Response APDU: 6F 65 84 08 A0 00 00 00 18 43 4D 00 A5 59 73 4A 06 07 2A 8
6 48 86 FC 6B 01 60 0C 06 0A 2A 86 48 86 FC 6B 02 02 01 01 63 09 06 07 2A 86 48
86 FC 6B 03 64 0B 06 09 2A 86 48 86 FC 6B 04 01 05 65 0B 06 09 2B 85 10 86 48 64
 02 01 03 66 0C 06 0A 2B 06 01 04 01 2A 02 6E 01 02 9F 6E 06 12 91 20 11 02 02 9
F 65 01 FF 90 00

Successfully selected Security Domain GemaltoXpressPro A0 00 00 00 18 43 4D 00
DEBUG: Command  APDU: 80 50 00 00 08 17 2A 53 4F AC DF 8D 16

DEBUG: Response APDU: 69 82

javax.smartcardio.CardException: Wrong initialize update, SW: 69 82
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.openSecureChan
nel(Unknown Source)
        at net.sourceforge.gpj.cardservices.GlobalPlatformService.main(Unknown S
ource)

tnx


响应码6A 82是用来Security_Status_Not_Satisfied.

关于选择Security Domain,该状态字可能由于以下两个原因之一而出现:

  • 任一卡Life Cycle State (CLCS)卡的数量是LOCKED or TERMINATED,因此不允许选择安全域,因为如果 CLCS 为LOCKED那么只能选择具有卡锁权限的安全域和/或应用程序,并且如果 CLCS 为TERMINATED那么如果安全域具有最终应用程序权限,则仅应处理 GET DATA 命令,所有其他命令应被禁用并应返回错误。如果 CLCS 为LOCKED然后尝试选择具有卡锁定权限的安全域和/或应用程序,并尝试将卡生命周期状态 (CLCS) 移至SECURED using SETSTATUS命令的帮助下SCP session,否则如果 CLCS 是TERMINATED那么 CLCS 就无法切换回 SECURED,因为此状态是不可逆的。

  • OR the Security Domain,您尝试选择的本身位于LOCKED状态,在这种情况下,安全域可能会被 OPEN 阻止进一步选择,并且返回错误状态字。

@CLCS - 卡生命周期状态。

很高兴能帮助你。

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

在javacard中安装小程序 的相关文章

  • 如何从智能卡获取 CPLC 数据?

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

    我正在使用 ACR122U 测试智能卡 但是 当我将卡放在上面时 Windows 会自动向其发送 APDU 命令 根据问题Windows 8 禁用智能卡即插即用 我禁用了智能卡即插即用 但我仍然可以看到 PIV 选择 称为温斯卡探索 如何在
  • 如何通过 WMI 获取系统上的所有智能卡读卡器?

    我想使用 WMI 获取系统上所有 PCSC 智能卡读卡器的 DeviceID 和服务 它们都是通过 USB 连接的 因此我查询 WMI 注册表以获取所有信息Win32 PnPEntitys 但我不知道如何确定哪些设备是 读卡器 这是我已经拥
  • javax.smartcardio:如何将本机命令发送到 Desfire 卡?

    我正在创建一个 java 应用程序 通过 PC SC 非接触式读卡器和 javax smartcardio API 与 Mifare DESFire 卡进行通信 我设法发送常规 ISO 7816 APDU CLA INS P1 P2 Lc
  • jcop 小程序上传错误

    我是 Java 卡开发的新手 我用jcop工具作为开发套件 当我在 Eclipse 中运行简单的小程序时 出现此错误 在运行配置中我选择Java卡模拟模式 在模拟模式下成功安装后 我想在java卡中安装应用程序 cm gt upload b
  • 验证和认证的区别?

    如您所知 我们通过以下方式向卡证明我们是真实用户INITIAL UPDATE and EXTERNAL AUTHENTICATION命令 如下 lt 80 50 00 00 08 Host Challenge gt lt 84 82 03
  • Apple Watch 是否能被 RFID 读取器检测到?

    我是 NFC 技术的新手 苹果尚未向开发者开放 NFC 这是否意味着第 3 方应用程序无法在设备上写入数据或触发操作 但是否可以使用类似于智能卡的 RFID 读取器来识别手表呢 使用支持 NFC 的 Apple Wallet Pass 可以
  • 由另一个线程建立的独占访问 Java smartcardio

    All 我很欣赏这个网站上的许多有用的答案 但我发现有必要发布我的第一个问题 如果您发现我的帖子中有任何需要改进的地方 请告诉我 我有一个中等大小的带有 GUI 的 Java 程序 它充当 中间人 和控制器 在信息流的一端 它通过 HTTP
  • JAVACARD2.2中selectApplet()方法的功能是什么

    正如 JavaCard 2 2 API 文档中提到的here http www win tue nl pinpasjc docs apis jc222 javacard framework Applet html selectingAppl
  • Java Web 应用程序可以访问远程工作站上的智能卡读卡器吗?

    我正在为我们现有的基于 Java 的 Web 应用程序之一开发一些新功能 该网络应用程序本身托管在我们的一台内部服务器上 可以通过我们工厂内多个计算机终端的浏览器进行访问 该应用程序用于在我们生产过程的各个阶段进行质量检查 目前 在进行每次
  • 是否可以在 NFC 卡中实现令牌队列?

    这个问题专门针对 MIFARE Ultralight C EV1 或 MIFARE DESFire EV1 甚至 NTAG 卡 我想实现一个令牌系统 以便每次普通用户读取其中一张卡时 他们都会获得一个可用令牌 该令牌将从他们正在读取的 NF
  • SIM卡认证

    我是 SIM 卡新手 我正在尝试使用 Gemalto JCardManager 金雅拓开发人员套件的一部分 和 Gemplus USB 智能卡读卡器对 SIM 卡进行身份验证 显然 我拥有所有必要的密钥 kic kid 和 kik 但我无法
  • 智能卡项目中WIN32和x86的区别

    我有智能卡相关的项目 在智能卡领域x86和win32有什么区别 因为我必须在vc 中创建32位应用程序 那么什么解决方案平台 我应该选择MS Visual Studio 2008 x86 用于 Intel AMD 特定代码生成 而 Win3
  • 安装后将 Javacard 小程序标记为隐式可选(默认小程序)

    我正在寻找一种方法 将小程序标记为隐式可选 默认选择 小程序 然后将其上传并安装在全球平台 http www globalplatform org JCOP 2 4 2 R1 http www nxp com products identi
  • Java Signature.verify 导致 SignatureException:签名编码错误 由 IOException 引起:序列标记错误

    首先 这不是一个重复的问题 因为大多数人在从缺少 BEGIN RSA CERTIFICATE 行的证书创建公钥时报告此异常 我想做的要点是 1 使用 SHA1withRSA 算法 RSA 密钥为 1024 位 在 JCOP 智能卡上签署 5
  • 如何将CAP文件加载到java卡

    我是java卡的新手 你能帮我看看如何将Applet CAP文件解析为APDU吗 用于将此 CAP 文件安装到支持 GP2 2 的卡上 你应该尝试使用GPShell http sourceforge net projects globalp
  • 从eek-for-android 访问时,Javacard 小程序 RPDU 不包含任何数据

    我有一个复杂的 Javacard 小程序 它是为普通智能卡 例如 NXP J3E145 T 1 开发和测试的 现在我必须在手机的 UICC 中使用它并从我的 Android 应用程序访问它 UICC使用T 0协议 当我从普通读卡器 Omni
  • 在 Java Card 上将 byte[] 转换为 Short[] 的快速方法

    我想在 Java 卡上优化 SHA 3 算法 我需要一种消耗更少内存的快速算法 可以轻松转换byte to short 或短 to byte 我当前的实现如下所示 private short byteToShort byte b int l
  • jcop是在java卡中安装小程序的唯一方法吗?

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

    我在用着充气城堡管理我的项目的加密功能 我设法使用CMS用于加密和解密 两个密钥都存储在我的文件系统中 a cert and a p12 这是我实际使用的两个函数 private static byte CmsEncrypt byte me

随机推荐

  • WCF 服务在 2 个不同的服务契约上公开 2 个端点

    我有一个 WCF 服务 我正在尝试对其进行配置 以便它在不同的 URL 下公开两个端点 引用不同的功能 我想要拥有的是Service1 暴露方法 A B C 和Service2 暴露方法D E 我希望能够同时浏览本地主机 WebServic
  • 出现错误:由以下原因引起:java.net.SocketTimeoutException:接受超时

    我在使用 python 3 7 使用下面的代码在 Jupyter Notebook 中运行 pyspark 时遇到错误 from pyspark import SparkContext from pyspark sql session im
  • UNIX 中的 bc 命令 - 数制转换

    我在用bc命令进行系统编号转换 从十进制到二进制 二进制到十六进制 十六进制到十进制 但我有一个问题 这就是问题 memam mSolaris bc ibase 2 obase 16 1111 17 为什么输出显示不正确 输出必须是F 当我
  • 将宽度未知的 HTML 元素居中于屏幕中间

    如果我有一个宽度和高度未知的 HTML 元素 如何将其居中到屏幕的正中央 如果纯 CSS 无法完成 那么 javascript 也可以 这个答案可能适合也可能不适合您的情况 具体取决于how正在确定未知的宽度 高度 如果exact尺寸未知
  • Spring MVC 中是否可以动态设置RequestMappings?

    我已经使用 Spring MVC 三个月了 我正在考虑一个动态添加RequestMapping的好方法 这是因为必须将控制器部件放入库中 然后动态添加它们 无论如何 我能想到的唯一方法就是声明一个像这样的控制器 Controller Req
  • Laravel 中如何存储数组?

    有两个mysql表1 seats id number 2 reserved席位 in seat id sceering id 我在 show blade 中将特定转向的所有座位显示为复选框 Form model screening meth
  • 在 NSOperation 中使用“performSelectorOnMainThread:withObject:waitUntilDone:”有多重要?

    我的 iPad 应用程序与 XML feed 同步 在从 NSOperationQueue 执行的 NSOperation 子类中运行同步 当它解析提要时 它通过以下方式回调到主线程performSelectorOnMainThread w
  • 使用 IIS6 重写 HttpModule URL,不带无扩展名 URL

    我们正在使用适用于 ASP NET 的 Intelligencia URLRewriting 模块以及 2 0 版框架和 IIS6 我们的 URL 通常没有扩展名 据我所知 如果没有全面通配符 这会导致其他问题 IIS6 无法真正处理这种情
  • 如何检查 DART 中是否存在给定日期?

    如果将不存在 非真实的日期 例如 20181364 2018 13 64 传递给 DateTime 构造函数或解析方法 则不会引发异常 相反 返回计算出的日期时间 例子 20181364 gt 2019 03 05 00 00 00 000
  • git add -A 和 git commit --amend 在一行中的 git 命令是什么?

    git 命令是什么git add A and git commit amend在一行 另外 我不想在修改时指定消息或使用多行 要保留您在要修改的修订版上使用的相同消息 请使用 no edit 在一行中 您可以用 git add A git
  • 在 Python 中验证用户输入字符串

    因此 我搜索了 string python validate user input 等单词的几乎所有排列 但我还没有找到适合我的解决方案 我的目标是提示用户是否要使用字符串 是 和 否 开始另一个事务 我认为在 Python 中字符串比较将
  • 梦幻英超联赛 API [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道梦幻英超网站是否有API 找到了一些旧帖子 但链接不再有效 应用程序商店中有几个应用程序 所以
  • 当大量请求非常快地发出时,如何修复“套接字挂断错误”

    我有一个 Nodejs 应用程序 它聚合来自各个网站的内容 发出请求以使用请求流从不同源异步获取提要 当发出请求时 我经常收到套接字挂起错误 err in accessing the link Error socket hang up at
  • 如何将我的 MVC 3 Web 应用程序发布到 IIS7 上

    如果可能的话 我需要从一开始就如何将我的 ASP Net MVC 3 Razor Visual Studio 10 Web 应用程序实时到我的 IIS 7 Web 服务器上的完全初学者建议吗 我以前从未尝试过发布此内容 想知道我错过了什么
  • 如何获取APK签名?

    有没有办法检索用于签署 APK 的密钥的签名 我使用密钥库中的密钥签署了我的 APK 我如何以编程方式检索它 您可以使用 PackageManager 类访问 APK 的签名http developer android com refere
  • constexpr 错误; VS2017 C++编译器回归?

    刚刚安装了 VS2017 它声称自 2015 年以来就拥有卓越的 C 14 支持 这是初级的 在我的一个项目上试了一下 它使用了constexpr 并注意到似乎存在一些回归 这段代码 struct s size t i constexpr
  • 是否可以在 reST 中从小节级别开始自动进行节标题编号?

    无论如何 有没有办法让 reST 开始仅对第二级的部分进行编号 我正在使用自动编号设置 section numbering 我想要的是输入 Section A Subsection A 1 Subsection A 2 Section B
  • 错误 必须提供“ClientId”选项。构建 docker 镜像时

    我已经启动了一个新的 net core 项目 并将其配置为使用 Google Api 进行身份验证 我的客户端 ID 和密钥使用 dotnet 用户密钥存储 当我构建我的 docker 镜像时 我得到了 Unhandled Exceptio
  • 为什么接口和抽象方法不能实例化?

    我无法弄清楚为什么 java 中接口和抽象类的实例化受到限制 我知道可以创建接口和抽象类的实现参考 我都清楚了 但是为什么不能实例化呢 任何人请帮助我 接口和抽象类的目的都是提供必须在具体类中实现的 API 例如 假设我声明这个接口 pub
  • 在javacard中安装小程序

    我通过 Eclipse 制作了流行的 Hello World javacard 代码的 cap 文件 现在我想通过 GPShell 和 ACR38 智能卡读卡器将其加载到真正的 javacard 中 问题 我需要任何密钥才能将 cap 文件