问题标签 [pcsc]
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.
macos - 如何使用 Mono 和 C# 在 Mac OS 上禁用 ACR122U 蜂鸣器?
请原谅我可能没有使用正确的术语,因为我是新手。我已经包装了 PCSC API,应用程序现在检测到卡片(使用 SCardGetStatusChange)没有任何问题。
现在我希望能够做一些简单的事情,比如关闭蜂鸣器。据我了解,我首先需要使用 ShareMode.SCARD_SHARE_DIRECT 调用 SCardConnect。此呼叫以 OK 响应。之后,我使用 SCardControl 发送以下字节:FF 00 52 00 00(如http://www.acs.com.hk/download-manual/419/API-ACR122U-2.02.pdf的第 6.7 章所述)
但是,此调用返回 -2146435064。我使用 0x42000001 作为 SCardControl 的第二个参数。我尝试了其他几个“有根据的猜测”,但结果都一样。
有没有人得到这个工作?
更新
无论我尝试什么,SCardControl 都会不断返回 -2146435064 (SCARD_E_INSUFFICIENT_BUFFER)。调用的定义如下:
使用具有以下值的参数:
- card = 0x1201a(由调用 SCardConnect 创建)
- controlCode = 0x42000DAC (0x42000000 | 3500) 但如前所述,我尝试了其他几个值
- 数据 = 字节 [] { 0xFF, 0x00, 0x52, 0x00, 0x00}
- 响应缓冲区 = 字节 [100]
为了消除可能的 controlCode 无效值,我还尝试使用 SCardTransmit(将 SCARD_PROTOCOL_RAW 与 SCardConnect 一起使用),但这会导致 -2146435050(SCARD_E_NOT_TRANSACTED)
更新 2
刚刚在 Raspberry PI 上尝试了相同的代码(通过 libpcsclite.so),它工作正常。我真的很想让它在 OS X 上运行......
linux - 如何在命令行上获取读卡器名称
我正在编写代码以在 Windows 7 上与智能卡进行通信。智能卡随附的示例代码是在linux
环境中开发的。我已经安装了 Linux 最小系统 Mingw 和 Msys。
在 linux 环境下获取 reader 名称的正确命令是pcsc_scan
. 但是 Msys 命令提示符和 Windows 控制台都无法识别使用此命令。
我知道 Winscard 可以用来列出所有的读者。但是有没有办法让pcsc_scan
命令在 Windows 上运行。或者在 Windows 环境中是否有相应的命令?我会感谢你的帮助。
c# - 智能卡读卡器命名
我在系统中有两个阅读器(HID OMNIKEY 5321)(每个阅读器执行不同的功能)
- 读卡器 1 - “智能卡读卡器0 ”
- 读卡器 2 - “智能卡读卡器1 ”
在我的程序中设置了
- “智能卡读卡器0 ” - 动作 1
- “智能卡阅读器1 ” - 动作 2
但有时(没有重新启动,可能失去联系)
- 读卡器 1 的名称为“智能卡读卡器1 ”
- 读卡器 2 的名称为“智能卡读卡器0 ”
并且程序没有做用户需要的事情。我在 WinScard.dll 中使用 SCardGetStatusChange(需要阅读器的名称)
该怎么办?有没有办法更改阅读器的名称(固件、驱动程序......)?是否可以使用阅读器的序列号?
我也看了,但没有结果 智能卡读卡器命名:当移除任何读卡器时,其余的名称发生变化 PCSC 智能卡读卡器的“友好名称”是如何构造的?
java - 向 PN532 (ACR122u) 发送 TgInitAsTarget 命令时出现 Apdu 错误
我正在尝试以卡仿真模式将 TgInitAsTarget 命令发送到 PN532。当我尝试发送这个:
我收到一个 apdu 错误:
- 线程“main”java.lang.IllegalArgumentException 中的异常:apdu 必须至少有 2 个字节长
- 在 javax.smartcardio.ResponseAPDU.check(未知来源)
- 在 javax.smartcardio.ResponseAPDU.(未知来源)
- 在 sun.security.smartcardio.ChannelImpl.transmit(未知来源)
下面的代码是我使用的代码。这段代码错了吗?
看起来 Readregister、WriteRegister 和 SetParams 部分在这篇文章之后得到了很好的回应。孔代码:
任何帮助,回应或建议表示赞赏!
提前谢谢了!
nfc - “直接传输命令”(ACR122U)和“PC_to_RDR_Escape”(ACR1251U)之间的区别
使用 ACR122U,我知道您可以使用直接传输命令将直接消息传输到 NFC 控制器 (PN532) 0xff 0x00 0x00 0x00...
:。
当我阅读 ACR1251U 的手册时,它说:阅读器的外围设备控制命令是通过使用 PC_to_RDR_Escape 实现的。
这到底是什么意思?这是否意味着无法直接向 NFC 控制器发送消息?如果可能,您在哪里可以找到它使用的 NFC 控制器?
欢迎任何信息!
提前致谢。
usb - 智能卡读卡器:构建 libccid
我正在尝试在 Fedora 20 上一起构建 libccid、pcsclite 和 libusb。我已经能够编译和构建 libusb 和 pcsclite。但是,在构建 libccid 时,我在构建日志中收到以下错误:
将 src/92_pcscd_ccid.rules 文件复制到 udev 目录 (/etc/udev/rules.d/)
我确实将文件复制到指定位置,然后运行了makefile。但是,我没有任何成功。
有人遇到过这个错误信息吗?
谢谢
smartcard - 如何读/写仅同步的智能卡,如存储卡
我有一个只支持同步接口的 IC 存储卡(如 SLE5532、SLE5542...等)
我想知道如何编写一个读取内存内容、验证 PSC(PIN)和写入内存的应用程序。
这种类型的卡不能接受像微处理器卡这样的普通 APDU。在数据表中,它指定要以二进制形式发送的命令(所有命令为 3 字节长度)
我找到了一个设计用于与 SCM Reader(基于 MCSCM.dll)一起使用的应用程序,但它不适用于我的 OmniKey 阅读器。
我想知道是否有可能构建一个直接调用 winsCard API 函数而无需直接使用 Reader 的 DLL 的应用程序。如果是这样,调用的正确函数是什么?
如果不可能,我怎样才能找到 OmniKey 的 API?任何人都可以寄给我使用 OmniKey 3121 读卡器和同步卡的样品吗?
提前致谢
c# - 如何实现基于事件的触发而不是定时器
我最近使用 winscard 库实现了与 ACR122 的通信。我使用计时器来调用所有相关的 API 调用,例如 1. SCardEstablishContext 2. SCardListReaders 等以获取阅读器的状态
我已将计时器的间隔保持在五 (5) 秒。因此,这会使获取设备状态延迟 5 秒。
谁能建议我一种更好的方法,例如“基于事件的触发器”来避免这种延迟并一起删除计时器。
windows - Windows Server 2012 R2 智能卡限制
下午所有
我们有一个在 Windows Server 上运行的应用程序,它需要多达 50 个智能卡才能连接到主机应用程序服务器。
这在我们现有的 Server 2003/2008 安装上没有任何问题。
然而,当我们在 Server 2012 R2 上测试应用程序时,只显示了 10 个智能卡。所有 USB 设备都被正确识别,但是我们的 pcsc 测试应用程序只能找到 10 个终端。
有没有人遇到过这个问题?任何已知的修复?
干杯
加文
nfc - ACR122u 停止检测智能手机
我正在为我的论文开发一个原型。我正在使用 ACR122u 读/写器,通过 APDU 命令将数据传递到 android 手机(HTC One M7)。在我应用最后一个补丁(6.09.401.5)之前,ACR122u 正在检测智能手机,但之后它就停止了
之前我只是用来激活智能手机上的 NFC,ACR122u 会从红绿色变为已检测到它。
请寻求一些指导
带着敬意