ios - 在 Swift 中从 ATR 确定卡号

标签 ios swift smartcard-reader contactless-smartcard emv

我正在使用 ACS 读卡器。我有一张非接触式 VISA 卡。通过读取该卡,我得到以下十六进制 ATR 信息:

3B 6E 00 00 80 31 80 66 B1 A3 01 01 21 0A 83 00 90 00

从上面的ATR中,我如何检测卡号和类型?

最佳答案

你不能。

ATR(重置应答)不包含此类信息。事实上,由于您的卡是非接触式卡(ISO/IEC 14443-4),它甚至没有 ATR,而是 ATS(应答选择),这是非接触式“等效”(至少在术语上) ATR 的包含信息)。

相反,您需要与您的卡交换 APDU (ISO/IEC 7816-4),才能从中获取更多信息。由于您提到的是 VISA,因此您的卡可能采用非接触式卡的 EMV 协议(protocol)(请参阅 http://www.emvco.com/ )。

关于ios - 在 Swift 中从 ATR 确定卡号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37717014/

相关文章:

java - 将 javax.smartcardio 用于 MIFARE Classic 和 Omnikey 5021 CL

java - 使用智能卡 IO 时无法检索第二张卡的 ATR

java - 智能卡读卡器访问未知错误 0x16

android - 向 5 米半径内的移动设备发送通知

ios - 在图像周围画圈,比 xcode 中的图像大

iOS POST 到 Google 表单(电子表格)

ios - 在 Simulator Swift 中运行时出现 CLLocationCooperative2D 错误

iphone - NSRangeException 随机崩溃应用程序

ios - 动画按钮图像时 UIButton 文本不可见

ios - 在 Realm 中查询(使用 Swift)