6

我需要构建一个 Windows Phone 8 应用程序,它可以使用简单的 APDU 命令与智能卡进行通信。智能卡包含我的应用程序需要在手机 UI 上显示的数据。我们目前有执行此操作的 Android 和 IOS 应用程序,现在需要添加 Windows 版本。

我花了相当多的时间使用 Proximity API,并且认为 API 太受限制而无法满足我的需求。当我向诺基亚 Lumia 620 上的 NFC 读卡器出示卡片时,我收到了 DeviceArrived 事件,但没有消息事件。我相信这是因为该卡没有使用 NDEF。我也有一些可以正常工作的标签。

因此,似乎前进的方法是忘记接近 API 并寻找可以更本机地与 NFC 阅读器对话的库 (C++),希望这将允许我的应用程序使用简单的 APDU 命令与卡进行通信。

是否有人在 Windows Phone 8 应用程序上使用 APDU 与智能卡进行通信,如果有,使用的技术堆栈是什么?我希望将 C# 托管环境(即使用设计师等创建 UI)与一个库结合使用,该库可以通过嵌入手机的 NFC 读卡器处理与卡的通信。

任何建议将不胜感激。

4

3 回答 3

3

从 Windows Phone 8.1 开始支持它,但它需要驱动程序支持,目前仅适用于 NXP PN547 NFC 芯片,该芯片仅适用于 Lumia 830 和 73x 设备(但未来大多数设备也应该支持它)

假设硬件限制对您来说不是一个交易破坏者,这里有一些示例代码显示了 API 的使用:http: //nfcsmartcardreader.codeplex.com

于 2014-09-15T22:49:44.447 回答
1

好吧,看来我们是在做生意。我一直在使用 Windows Phone 8.1 提供的 Windows.Devices.SmartCards 命名空间测试智能卡通信。

有一个很大的缺点,你需要一个带有新 PN547 芯片组的 windows phone 来玩它。但我有一个,它工作得很好。几行代码,我正在与使用 APDU 的 JCOP 智能卡交谈。

这里有一个很棒的介绍视频:

http://channel9.msdn.com/series/Building-Apps-for-Windows-Phone-8-1/15#time=25m40s

于 2014-05-30T11:24:21.877 回答
1

有好消息也有坏消息。好消息是肯定有一个托管的 APDU 级 API。坏消息是你不能使用它!对于初学者,API 仅提供对手机安全元件的访问,而不是通过 NFC 访问外部卡。似乎没有记录在案的 API。

即使存在,也需要与运营商/移动网络运营商/制造商签订特殊合同才能使用它们,并与微软签订另一份合同才能让它们进入商店。在这里,每个人都有自己的利益,而 MNO 尤其倾向于嫉妒地保护他们。只需看看 Google Wallet 在 NFC 支付方面遇到的困难即可看到这一点。

这里的挑战是业务,而不是文档。如果您有业务方面,您将拥有 API - 但恐怕我无法帮助您!

于 2013-12-04T23:27:32.970 回答