问题标签 [smartcardio]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
787 浏览

android - 在 Android 上使用 javax.smartcardio 包?

我使用 Eclipse 作为一个库,在 Java 中创建了一个应用程序,用于读取和写入 Java Card 小程序。到目前为止,我们使用的是 ACS ACR38 阅读器。但是现在我们需要将这个库移植到 Android 上。我可以用什么来替换javax.smartcardio原始项目中的包?最好是类似的东西,因为我希望尽可能减少重新实现。

请注意,我将为 Android 版本使用带有 OTG 电缆的自定义阅读器(不是 ACS 阅读器)。它是一个 FTDI 设备。我已经研究了SCDroidSeek for Android,但这些似乎不是我需要的(SCdroid 的测试应用程序没有检测到我的设备),我不确定 SCDroid 是否免费?

目前我只使用UsbSerial库来接收和发送 APDU,但我想知道是否有任何类似的 Android 库。

0 投票
0 回答
289 浏览

vb.net - 如何在不消耗处理器时间和资源的情况下在后台运行代码?(如何停止故意的无限循环?)

我编写了一个有意的无限循环来识别是否使用 vb.net 在读卡器上检测到或删除了卡。因为我不知道winscard中是否有类似waitForCardPresent的东西。

所以这个概念是,一旦单击按钮Connect,检查卡的 ifinite 循环就会启动。

所以我在 backgroundworker 中的代码如下所示:

此代码说明程序将在后台持续检查卡状态。我写了:

所以我的程序不会充满状态,只会打印连接删除一次。

所以我的问题是:

  1. javaxx smartcardio 的 waitforcardpresent() 和 waitForCardAbsent() 的概念和我的想法一样吗?
  2. 是否有更好的代码来使用 vb.net/winscard 检测卡状态?如果是,如何?
  3. 我怎样才能停止这个无限循环?假设用户单击“断开连接”按钮?
  4. 我的无限循环不好吗?

编辑 无限循环不是一个好主意。那么如何在不消耗资源的情况下在后台检测卡状态呢?或者我应该如何正确使用scardgetstatuschange?

我虽然认为 -1 在

WinscardFun.SCardGetStatusChange(hcontext, -1, rs, 1)

意味着它将无限循环基于

0 投票
3 回答
3187 浏览

android - 如何在 Android 上使用 javax.smartcardio 包?

我用 smartcardio 编写了 java 控制台应用程序。一切都很完美。现在我想在 Android 中使用这个库。据我所知,Android 不支持 smartcardio。我在谷歌搜索。如果有人知道我如何在 Android 中使用这个库,或者有什么替代方法?谢谢

0 投票
1 回答
151 浏览

java - 如何使用 RFID 读卡器 (javax.smartcardio) 识别德国身份证?

你好,Twogether,

我正在使用

javax.smartcardio.*;

德国身份证的uid(32位)在每次访问时随机生成。atr(152 位)保持不变。

目前我使用 rfid 卡的 uid,如果它是德国身份证,则使用 atr。

有没有办法使用 smartcardio 从智能卡中获取更多信息?

如何改进德国身份证识别?

提前致谢

0 投票
0 回答
769 浏览

java - 使用java进行智能卡检测

我正在使用以下代码测试是否有智能卡连接到计算机

它就像一个魅力但是当我拔下智能卡并重新插入它而不关闭程序时,它不再检索它,它给了我异常,就像没有连接智能卡一样有什么问题?
[更新]
这是错误日志:

0 投票
1 回答
122 浏览

java - Javacard 如何在 CardImpl.class 中的 checkState() 中删除和重新插入卡而不引发异常

我在我的程序中找不到解决此问题的方法:我使用 JMRTD 库创建和个性化 JCOP 卡,但是,在我完成后,将关闭命令发送到服务,然后再次插入卡,任何尝试做任何事情只会让我知道卡已断开连接。我是否错过了重置标志的方法?

关于我的代码的注释:ControlledDialog 顾名思义是一个程序控制的对话框,因此我可以在代码的特定部分打开和关闭它。

谢谢你的帮助!

我的 CardConnection 类:

0 投票
2 回答
2134 浏览

java - Java 9、10、11、12 等中的 javax.smartcardio

从 Java 9 开始,javax.smartcardio 库发生了什么变化?是否有替代方法或某种方法可以在 JAR 中获取它?

0 投票
1 回答
1304 浏览

java - 从智能卡读取数据 (CNS/CNR)

我使用 java 卡编写了一个程序,它允许我从智能卡中读取一些数据。卡的文件系统结构如下:

智能卡文件系统

智能卡是意大利公共管理部门的一张卡。

我可以正确连接到卡,通过运行此代码将数据读取命令发送到路径MF/DF1/EF_Dati_Personali 路径。

当我尝试输入DF2/Dati_personali_aggiuntivi时,尽管它们存在,但我找不到任何数据。

根据参考指南,要访问 DF1 和 DF2 区域,扇区如下:

数据部门

下面是我写的代码。代码在行注释以获取数据以识别问题。

有人可以告诉我我错在哪里吗?每一个建议都值得赞赏。多谢


更新 APDU 跟踪

0 投票
1 回答
1300 浏览

java - 命令 APDU 在结果中返回 6985(不满足使用条件)

我正在用 Java 读取智能卡。当我执行下面的代码时,卡返回 6985(不满足使用条件)作为结果。

客户端提供的参数有:

  • CLA = 00
  • INS = A4
  • P1 = 00
  • P2 = 0℃
  • LC = 02
  • Data = XXXX(这里传递的数据是文件标识符),因为我要选择EF文件所以客户端给的文件的EFID是0002
0 投票
1 回答
309 浏览

java - Kotlin 使用 JDK 模块

我目前正在编写使用使用javax.smartcardiolib 的 Java 库(由我开发)的 Kotlin 代码,但在 Kotlin 编译时显示以下错误:

Cannot access class 'javax.smartcardio.CommandAPDU'. Check your module classpath for missing or conflicting dependencies

我能做些什么来解决这个问题?

谢谢你。

编辑:我正在使用 maven,我的依赖项和插件如下:

正在使用的库javax.smartcardioapdu-processor.