问题标签 [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.
maven - Jenkins 为 javax/smartcardio 提供访问限制
对于 Java / OSGi 项目,我需要与插入计算机的智能卡进行通信。我使用包 javax.smartcardio 来做到这一点。
当我第一次导入这个包并想使用它时,Eclipse 宣布了一个错误“访问限制:'CommandAPDU' 类型不是 API”。正如https://www.javacardos.com/javacardforum/viewtopic.php?t=918所建议的那样,我在构建路径中添加了一个可访问性规则模式。之后,一切正常,我可以在本地环境中使用该包。
但现在我想将项目传递给我们的持续集成系统,即 Jenkins 和 Maven。我还提交了 .classpath 文件。在那里我得到了同样的错误:
[错误] 导入 javax.smartcardio.CommandAPDU;
[错误] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[错误] 访问限制:“CommandAPDU”类型不是 API(对类路径条目的限制“/disc2/lunifera/server/jenkins/workspace/tools/hudson.model.JDK/JDK-8/jre/lib/rt.jar ')
出于某种原因,访问规则似乎不适用于 Jenkins。有谁知道如何解决这个问题?非常感谢。
java - 使用 java smartcardio 函数发送 APDU 命令以将数据写入智能卡读卡器
我正在尝试使用 java smartcardIO 函数将数据写入 HID Omnikey 5122 设备中的非接触式卡。
我需要插入卡的数据是{00 01 02 03}
.
我试图通过 channel.transmit 函数发送的 APDU 命令在{FF D6 00 04 04 00 01 02 03}
哪里:
- FF 是 CLS
- D6 是 INS
- 00 是 P1
- 04是P2
- 04 是要更新的字节数
- 00 01 02 03 是我需要插入的数据。
我无法通过以下函数正确构建 APDU 命令。有人可以帮我弄这个吗。我正在使用 java smartcardio 库中可用的函数。
我收到语法错误,例如构造函数命令的参数无效。
java - 在 Java 中将数据写入 NFC 智能卡
我被要求编写一个简单的程序来使用 NFC 从智能卡 (MIFARE) 读取和写入数据,但我被卡住了。
我必须获得 UID(到目前为止一切顺利),在卡的某些块中写入从数据库中获取的一些数据(没办法)。
我必须使用 Java 和 ACR122 阅读器。我写的代码仍然需要改进和重构,这主要是一个草稿,但我想先以某种方式完成任务,然后修复所有问题。我阅读了我可以在互联网上找到的内容,但我仍然想念一些东西。到目前为止我得到的(主要是把一些代码放在一起)是:
我得到的输出是
我可以读取卡的 UID,但无法写入;卡本身没问题,使用桌面的 NFC 工具我可以访问和写入。我查找了一些文档,但我无法解决问题,如果没有一些示例,我将无法正确学习。我不明白为什么我得到一个 6300 代码:从我发现它的意思是“非易失性存储器的状态已更改”,但如果我使用 NFC 工具检查,我找不到任何区别。
我必须更改哪些内容才能从卡中写入和读取?
smartcard - DGI 的 STORE DATA APDU 的第一部分上的未知错误 0x8010002f 需要 2 个部分
在尝试个性化具有 256 字节 DGI(包括 DGI 标签)的卡时,尝试将 DGI 拆分为 2 个 STORE DATA 命令,但收到以下错误:
发送的APDU如下:
80 E2 08 00 FF 0201FE7081FB9081F8 ... 和 246 个字节来完成第一个 STORE 命令的 255 个字节。
还尝试将 P1 设为 00 并获得相同的结果,并尝试使用较小的消息(100 或 200 字节)获得相同的结果。
我在 Windows 10 上使用 PC/SC 终端 Identiv uTrust 4701 阅读器。
该程序适用于适合 1 条消息的 dgi。
我的卡不支持扩展 APDU :(。
有什么建议吗?谢谢
smartcard - 开发 Javacard 小程序时如何访问智能卡读卡器的密码键盘
我对 Javacard 比较陌生,我正在开发自己的 Javacard Applet,它到目前为止运行良好。我还在编写一个主机程序来与我的卡进行通信(通过 APDU),该程序是用 Java 编写的,并使用 javax.smartcardio 库以及 apdu4j。
我现在的目标是使用阅读器的集成密码键盘向用户询问 PIN,然后将输入的 PIN 转发到将验证 PIN 的智能卡。我已经在卡上写了验证 PIN 码的代码(CLA:0x80,INS:0x04,P1:0x00,P2:0x00,pin 数据),但我不知道如何告诉 Reader 探测 PIN 和然后将此信息转发给卡。
我的卡是 NXP 的 J3H145(Javacard 3.0.4 / ISO7816 / ISO14443),我的读卡器是 ReinerSCT cyberJack RFID 标准。
先感谢您。
spring-boot - 在使用最新版本的 Maven 和 Spring Boot 时,我需要做什么才能在 Java 17 中的 module-info.java 文件中找到模块
目前我正在尝试将我们的项目升级到 Java 17。但是因为我们需要使用“ javax.smartcardio ”,所以我们需要将其添加为模块,因为我了解到依赖项已被删除。我是整个模块的新手,我似乎无法理解发生了什么。
我正在使用spring-boot-starter-parent ,版本 2.6.2。
使用 jdeps 我生成了需要添加的模块列表,但是当我在 module-info.java 文件中添加任何模块时,我只能找到以java .----- 或jdk .--开头的模块-- . 任何其他模块都会给我错误:
“找不到模块:spring.boot ”
或者
“找不到模块:org.apache.logging.log4j ”
现在我正在关注这个页面:https ://blog.idrsolutions.com/how-to-create-a-module-info-file-with-jdeps在某些时候它说:
" The first thing to do is to add in this case is the JavaFX modules. These can be downloaded from here and adding this to modulepath fixes the issue. There is some more documentation on how to use here.
"
这是否意味着我需要查找每个文件并使用 CLI 手动将其添加到我的项目中?另外,如果我想提高我的依赖版本,这将如何工作?
以下是 jdeps 找不到的所有内容的列表:
com.project.uuu -> org.apache.logging.log4j.LogBuilder 未找到
com.project.uuu -> org.apache.logging.log4j.LogManager 未找到
com.project.uuu -> org.apache.logging.log4j.Logger 未找到
com.project.project -> org.springframework.beans.factory.annotation.Autowired 未找到
com.project.project -> org.springframework.boot.SpringApplication 未找到
com.project.project -> org.springframework.boot.autoconfigure.SpringBootApplication 未找到
com.project.project -> org.springframework.context.ConfigurableApplicationContext 未找到
com.project.project -> org.springframework.context.annotation.PropertySource 未找到
com.project.hhh.xxx -> 未找到个人.dependency.external.project.Class2
com.project.hhh.xxx -> 未找到个人.dependency.external.project.Class
com.project.hhh.xxx -> 未找到个人.dependency.external.project.Class$SubType
com.project.hhh.xxx -> javax.annotation.PostConstruct 未找到
com.project.hhh.xxx -> org.apache.logging.log4j.LogBuilder 未找到
com.project.hhh.xxx -> org.apache.logging.log4j.LogManager 未找到
com.project.hhh.xxx -> org.apache.logging.log4j.Logger 未找到
com.project.hhh.xxx -> org.springframework.beans.factory.annotation.Autowired 未找到
com.project.hhh.xxx -> org.springframework.beans.factory.annotation.Value 未找到
com.project.hhh.xxx -> org.springframework.jms.annotation.JmsListener 未找到
com.project.hhh.xxx -> org.springframework.stereotype.Component 未找到
com.project.hhh.xxx$1 -> personal.dependency.external.project.Class 未找到
com.project.hhh.xxx$1 -> personal.dependency.external.project.Class$SubType 未找到
com.project.hhh.eee -> 未找到个人.dependency.external.project.Class2
com.project.hhh.eee -> 个人.dependency.external.project.Class3 未找到
com.project.hhh.eee -> org.apache.logging.log4j.LogBuilder 未找到
com.project.hhh.eee -> org.apache.logging.log4j.LogManager 未找到
com.project.hhh.eee -> org.apache.logging.log4j.Logger 未找到
com.project.hhh.eee -> org.springframework.beans.factory.annotation.Autowired 未找到
com.project.hhh.eee -> org.springframework.beans.factory.annotation.Value 未找到
com.project.hhh.eee -> org.springframework.context.event.EventListener 未找到
com.project.hhh.eee -> org.springframework.jms.JmsException 未找到
com.project.hhh.eee -> org.springframework.jms.core.JmsTemplate 未找到
com.project.hhh.eee -> org.springframework.stereotype.Component 未找到
com.project.hhh.aaa -> javax.jms.ConnectionFactory 未找到
com.project.hhh.aaa -> org.springframework.boot.autoconfigure.jms.DefaultJmsListenerContainerFactoryConfigurer 未找到
com.project.hhh.aaa -> org.springframework.context.annotation.Bean 未找到
com.project.hhh.aaa -> org.springframework.context.annotation.Configuration 未找到
com.project.hhh.aaa -> org.springframework.jms.config.DefaultJmsListenerContainerFactory 未找到
com.project.hhh.aaa -> org.springframework.jms.config.JmsListenerContainerFactory 未找到
com.project.hhh.www -> org.springframework.context.ApplicationContext 未找到
com.project.hhh.www -> org.springframework.context.ApplicationContextAware 未找到
com.project.hhh.www -> org.springframework.stereotype.Component 未找到
org.springframework.boot.loader.jarmode.JarModeLauncher -> org.springframework.core.io.support.SpringFactoriesLoader 未找到
org.springframework.boot.loader.jarmode.JarModeLauncher -> org.springframework.util.ClassUtils 未找到
java - macOS Monterey 上的 javax.smartcardio 找不到 PCSC 阅读器
我想使用 Java 8/11 在 macOS Monterey (12.0.1) 上访问 PC/SC 阅读器 (Reiner SCT)。(javax.smartcardio
已经在Java 11中工作)。使用两个 Java 版本,
返回一个空的读者列表。我已经为 OS X Big Sur发现了类似的问题。因此,我试图以参数作为 CLI 参数来启动我的应用程序
也可以通过运行时代码
- 但列表保持为空。
/System/Library/Frameworks/PCSC.framework/Versions/Current/
当我在我的 mac 上列出文件夹的内容时,macOS PCSC
Monterey 上没有(只有Resources
和)。因此,我认为缺少一些东西。XPCServices
_CodeSignature
所以问题是,我需要做什么才能javax.smartcardio
在 macOS Monterey 上工作。