问题标签 [smartcard-reader]
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.
windows-8 - 从 Windows 8 应用商店应用程序 (WinRT) 访问智能卡
在 Windows 8 商店应用程序中,我想从智能卡中读取数据。安装智能卡读卡器(USB 设备)后,我可以通过命名空间读取其设备路径和连接状态Windows.Devices.Enumeration
。甚至设备接口 id 也是可检索的(50dd5230-ba8a-11d1-bf5d-0000f805f530),我将其作为应用程序清单文件中的必需功能。
对于与设备的交互,我使用调用CreateDeviceAccessInstance
方法的 C++ 组件。但是这个调用总是会导致ACCESS_DENIED
异常。
进一步的研究告诉我,与自定义硬件设备(除了打印机、麦克风、鼠标等之外的所有设备)交互需要对发布到 Windows 8 驱动程序商店的设备驱动程序进行一些调整。我很乐意这样做,但我不是 IHV 并且想使用通用驱动程序和通用接口。
谁能给我一个提示,如何从这里开始并使用 USB 智能卡设备的通用接口?
smartcard - 选择智能卡加密服务提供商
我正在做一些智能卡编程,并想考虑以下情况:
卡中的证书未导入本地商店(这不是给定的,这是当前问题的根源)
未提供提供者的名称
第二个标准意味着我不能依赖通过创建 RSACryptoServiceProvider 的实例来获取证书,如下所示:
因此,除了从 HKEY_LOCAL_MACHINE\Software\Microsoft\Cryptography\Defaults\Provider 或 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Cryptography\Defaults\Provider 从注册表中读取所有提供程序的名称之外,然后从每个到创建一个 RSACryptoServiceProvider 实例查看容器是否将自己标识为硬件设备,似乎有一种更简单的方法可以直接从读卡器访问证书。
我已经研究过使用 P/Invoke 和 API,但也无法确定我可以为此使用哪些 API 调用。
c# - 如何在 C# 中读取超过 0x20 的字符串?
我正在尝试通过读卡器(ACS Reader)读取存储在智能卡中的数据,该驱动程序附带了一些我导入到我的 C# .NET 应用程序中的 DLL(提供读写功能)
我现在面临的问题是读取函数(int readValue(ref data (of string data type), int sector #, key etc.)),而我现在尝试读取的数据中有 SPACE (0x20) ,说#### ## ##等。
我在阅读时得到的输出只到第一个空格 #### 而不是整个块。
有没有办法可以避免这个问题?说我可以强制字符串类型理解空格吗?
我之前使用的是用 VS C++ 6 编写的早期应用程序,现在我正在尝试迁移到 C#。
windows - Windows中的智能卡通信建立
当我在收到 ATR 后将智能卡插入读卡器时,我可以在驱动程序日志中看到许多 IOCTL 不是由我的应用程序发送的(因为没有运行)。
我的问题是是否有任何文件,描述 Windows 中的智能卡通信建立?
c++ - 使用 C++ 在 RHEL 6 linux 上使用 pcsc-lite 检测/与读卡器通信的问题
我正在尝试开发一个与智能卡阅读器接口并从智能卡读取信息的应用程序。
让我给你开发环境和使用的硬件。
操作系统:Red Hat Enterprise Linux 6
IDE:Eclipse Juno CDT
语言:C/C++
硬件:
智能卡读卡器:Omnikey 5321 ( https://www.hidglobal.com/products/readers/omnikey/5321 )
我已经安装了驱动,可以找到以下目录/文件:
/usr/lib64/pcsc/drivers/ifd-ccid.bundle
/usr/lib64/pcsc/drivers/ifdokrfid_lnx_x64-2.10.0.1.bundle/Contents
/usr/lib64/pcsc/drivers/ifdokrfid_lnx_x64-2.10.0.1.bundle/Contents /info.plist
/usr/lib64/pcsc/drivers/ifdokrfid_lnx_x64-2.10.0.1.bundle/Contents/Linux
info.plist 的内容清楚地显示了“ifdFriendlyName”键下的“OMNIKEY CardMan 5x21”字符串。
我想使用 PC/SC 标准。因此,我已经下载并安装了 PCSC-lite,并检查了守护程序 (pcscd) 是否正在运行并且服务状态正常。
现在到了有趣的部分……
在我的代码中,我按顺序使用了以下 API。
SCardEstablishContext() 返回 SCARD_S_SUCCESS。伟大的!
p>SCardListReaders() 返回 SCARD_E_NO_READERS_AVAILABLE。不好。
在这一点上,我去检查阅读器是否正确连接。是的。我验证是否可以在 /etc/reader.conf 中看到任何阅读器条目,但我发现此处没有列出任何阅读器。然后我去 /etc/reader.conf.d 但在这里也找不到文件。所以智能卡上下文是空的,我想,因此没有列出读者。
所以现在的问题是 pcsc-lite 无法检测到(?)我连接的阅读器以及安装了哪个驱动程序?
只是为了检查一下,我使用 udev 库编写了一个简单的程序来读取所有“usb”子系统条目,并且能够从 udev 中找到有关连接的读卡器的以下信息:
设备节点路径:(空)
供应商 ID:076b
产品 ID :5321
制造商:OMNIKEY
产品:智能卡读卡器 USB
串口:(null)
所以确定设备是可检测的。但是为什么 PC/SC 资源管理器不能创建这个上下文呢?
那么,我该如何解决呢?
我是 Linux 新手,并且一直在尝试自己解决这个问题而不寻求帮助。但是后来我发现,当有时间限制时,最好向专家和曾经工作和/或遇到过此类问题的人寻求帮助确实是明智的。
我一直在谷歌上搜索太多,但没有看到任何有我的问题。所以我想我可能错过了一些非常基本的东西。
如果有什么我需要提供的,请告诉我。我会尽快这样做。
感谢您抽出宝贵时间阅读。
问候。
编辑:
我有更新...
我做了以下事情:
1. 我得到了一个新的读卡器(SCM Microsystems),但仍然没有检测到它。
2. pcscd 守护程序默认在引导时启动。我登录后停止了服务,然后使用命令“pcscd -a -f -d”在前台模式下运行,成功检测到 SCM 阅读器。
3. 我尝试在上面的问题中插入阅读器 OMNIKIEY 5321,但未检测到。
显然,我得出了以下结论:
1.由于某种原因,直到我登录后手动停止pcscd并以前台模式运行,没有检测到阅读器。
2. OMNIKEY 读卡器/驱动有问题。
问候。
android - 有人使用 ACR1222L android 库吗?
我正在编写一个将在平板电脑上运行的应用程序。平板电脑将连接到 ACR1222L NFC 阅读器。
我正在使用他们的 android 库与读者进行交互。我可以检测到 USB 读卡器,也可以读取读卡器的名称。但我正在努力从 NFC 标签中读取数据。事实上,我不知道从哪里开始,使用哪些类/方法。
有没有人已经使用过 ACR1222L 及其 android 库?
一些指导方针、示例代码、教程可以挽救我的生命。
编辑:
好吧,我现在变得更聪明了,我可以读取 UID。这是怎么做的。
但我仍在努力从标签中读取有效负载。我还研究了 nfctools 库。但我不知道从哪里开始。如果有人引导我穿过图书馆,那就太好了。
c# - 列出系统上的所有智能卡读卡器(Alcor Micro 读卡器问题)
我已经让这个软件在生产环境中运行多年,以前从未见过这个问题。我刚收到一台内置Alcor Micro USB 智能卡读卡器的新笔记本电脑 (HP EliteBook 8470p) 。
下面的代码将列出系统上的所有阅读器,并且似乎工作正常。我们的一些系统将有 3 或 4 个读卡器插入一台计算机。它已经过十几个模型的测试,没有任何问题。
奇怪的是,Alcor 读卡器只有在插入智能卡时才会被列出。如果我在设备管理器中查看它,在插入卡之前它不会显示在“智能卡读卡器”下(除非我去查看>显示隐藏的设备)。
有谁知道这是为什么,或者是否有办法确保它在我的软件中列出?
谢谢你。
编码:
顺便说一句,这段代码是由我猜测的其他人编写的(由于评论过多)在网上的其他地方找到了它。我对它有些熟悉,但从未深入过它。我已经尝试对其进行一些调整,但根本无法让它列出该 Alcor 阅读器。
谢谢!
java - 在 Java 中读取智能卡并捕获数据
我正在使用java为POS设备开发一个软件。现在我正在研究读卡器功能。我有一个通过USB连接到POS设备的读卡器,当我刷卡时我在记事本中获取了卡数据。
当我刷卡时,我想将卡数据获取到我的应用程序中。但我不知道在我的应用程序上实现这一点。
我非常感谢您对任何代码示例的帮助。
c#-2.0 - 从智能卡读卡器 ACR122U-A2 读取数据
这是我之前的问题的后续问题:Read and Write Card Details using a Smart Card Reader
我已经获得了 SDK 并浏览了参考手册和示例代码。但是 SDK 提到了非常底层的细节,比如开灯或关灯、发送 APDU 命令等。
我的要求是读取存储在卡内的会员姓名、会员编号等卡数据。
我的客户已经安排了供应商的 SDK,但我仍然无法更好地读取卡内的数据。谁能建议我下一步该怎么做?
另外,如何确定卡的类型,即是MiFare卡,还是其他PICC卡?卡片上没有任何东西可以建议这种方式或那种方式。
谢谢。
java - 尝试使用智能卡 I/O API 读取字符串并将其写入智能卡
我正在使用 ACS AET65 读卡器尝试将字符串存储到智能卡中,然后将其读回。我正在使用智能卡 IO API,并且能够获取终端并与卡连接。但是,我一直在阅读 ISO 7816 规范,我真的迷路了。
我需要做的就是将一个 3K 字符串写入卡,然后将其读回。而已。根据我的研究,似乎这些卡上应该安装了小程序,但我确信必须有一种方法可以将纯字节数组写入其中并将其取回。
我不知道如何为此构建 APDU 命令。我尝试了 READ BINARY、WRITE BINARY、ERASE BINARY,但我肯定做错了什么。它总是返回 0x6E 和 0x00 作为响应的 SW1 和 SW2 字节,这意味着错误。这是我使用小字符串向小程序发送测试命令的部分的片段:
如何使用智能卡 API 完成此操作?
谢谢!!爱德华多