如何使用Windows Phone 8 NFC应用程序将APDU命令发送到智能卡

时间:2013-10-04 14:46:01

标签: windows-phone-8 nfc smartcard apdu

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

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

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

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

非常感谢任何建议。

3 个答案:

答案 0 :(得分:3)

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

假设硬件限制不适合您,那么有一些示例代码显示了API的使用:http://nfcsmartcardreader.codeplex.com

答案 1 :(得分:1)

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

即使存在,也需要与运营商/ MNO /制造商签订特殊合同才能使用它们,而另一个与微软合同将其存放在商店中。每个人都有自己的兴趣,MNO特别倾向于小心翼翼地保护他们。一个人需要只关注谷歌钱包的NFC支付的苦难。

这里的挑战是业务,而不是文档。如果您有业务方面,那么您将获得API - 但我担心我无法帮助您!

答案 2 :(得分:1)

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

有一个很大的缺点,你需要一个带有新PN547芯片组的Windows手机才能玩它。但我有一个,它运作良好。几行代码,我正在使用APDU与JCOP智能卡交谈。

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

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