contactless-smartcard
全部标签 我在我的Dotnet智能卡应用程序中使用winscard.dll。我的阅读器Omnikey5321具有接触式和非接触式界面,它们被检测为两个不同的阅读器。非接触式设备的名称中包含字母“CL”。我可以毫无问题地手动选择读者并与他们一起做我需要做的一切。但是,是否有一种可靠的方法,使用SCardGetAttrib或其他调用来确定这些读卡器中的哪些支持ISO14443-即EMV非接触式?我最终想要一个快速的“选择非接触式设置”按钮,该按钮足够通用以适用于所有PC/SC阅读器,因此如果没有这样的界面,我也可以禁用非接触式选项。 最佳答案 不
我正在尝试使用ISO7816-4命令在Android上的PN532和HCE之间进行通信,我成功地选择了AID(一个DF),但是当我选择该DF下的EF时(那个EF不存在,所以我假定Select命令将创建该EF),然后将记录写入该EF但它显示如下:inListpassivetargetwrite:4A10read:4B11046048235A4D57580702write:4010A4407F01234560read:41048656C6C6F204465736B746F7021Successfullyhehe48656C6C6F204465736B746F7021HelloDesktop
使用手机中的NFC向商家付款有多种解决方案。作为商户,是否可以只用手机作为终端来接收非接触式支付?似乎需要额外的阅读器(例如Square),为什么?如果手机中的阅读器无法接收到足够的数据来使用PayPal、Google电子钱包等处理付款? 最佳答案 从技术角度来看,没有什么可以阻止您使用内置NFC读取器功能实现支付终端。所有AndroidNFC设备都能够与ISO/IEC14443非接触式智能卡协议(protocol)(EMV支付卡所使用的)的读卡器通信。但是,还有一些其他因素可能会阻碍此类努力:如果您想使用现成的(并经过认证的)EM
MifareClassic是最常用的卡,我不明白为什么HCE(基于主机的卡仿真)只支持ISO14443-4,而不支持MifareClassic类型。因为NXP阻止他们使用他们的专有协议(protocol)和算法?还是因为他们没有在Android操作系统级别实现MifareClassic?如有任何意见,我们将不胜感激。 最佳答案 简短回答:因为Google决定仅支持ISO/IEC7816-4而不是ISO-DEP(ISO/IEC14443-4)。关于为什么他们这样决定的猜测:首先,基于ISO-DEP的ISO/IEC7816-4是最高协议
我一直在使用HCE并在上遇到了IOExceptionisoDep.connect();在特定的Android阅读器设备上cr100simcent.当我使用以下标志在NFC中启用阅读器模式时,HCE工作得非常好。publicstaticintREADER_FLAGS=NfcAdapter.FLAG_READER_NFC_A|NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;但是我无法读取NDEF标签。尽管相同的代码在Nexus7(2012)平板电脑上运行良好。附上完整代码读卡器fragmentpublicclassCardReaderFragmentexten
我有一个奇怪的情况,我试图在标签仿真和标签阅读器模式之间切换我的PN532。阅读器运行约70毫秒,标签仿真运行约600毫秒。我想要发生的是,当我将我的Android设备放在天线附近时,它会读取模拟标签。当我将NFC标签放在PN532上时,它应该会读取标签。我的解决方案有点工作,但我看到一个奇怪的情况,当我调用readPassiveTargetID时为了测试是否存在无源标签,Android正在做出响应。这很好,但我认为Android正在启动一项服务,阻止它读取模拟标签。对此进行测试时,有时设备根本不与PN532通信,但当它们进行通信时,通常使用阅读器模式。这是发生这种情况时我得到的输出:
byte[]APDUCommand={(byte)0x00,//CLAClass(byte)0xA4,//INSInstruction(byte)0x04,//P1Parameter1(byte)0x00,//P2Parameter2(byte)0x0A,//Length0x63,0x64,0x63,0x00,0x00,0x00,0x00,0x32,0x32,0x31//AID};Intentintent=getIntent();Tagtag=intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);IsoDepiso=IsoDep.get(tag
在阅读了很多问题之后,我决定发布这个问题。我读到android的股票版本不支持卡模拟的API。此外,由于key由google/samsung管理,我们无法编写自定义应用程序来保护嵌入nfcController的元素。我需要模拟一张卡(mifare或desfire等)。我可以看到的选项是通过软件来完成。我有一个ACR122U阅读器,我已经测试过NFCP2P模式与我拥有的Nexus-S兼容。1)我发现一个网站说nexuss的NFCController(pn532)可以模拟mifare4k卡。如果这是真的,我可以向这个模拟卡写入/读取apdu命令吗?(可能如果我使用像cyanogenmod这
我知道这是一个没有明确答案的“讨论”主题,但我真的很想得到一些反馈,了解在为Android开发NFC应用程序时会发生什么,特别是使用IsoDep与使用APDU帧的DESFire卡进行通信。我能否期望发送到特定DESFire卡的相同APDU帧在不同Android设备和版本之间做出相同的响应?我应该至少在哪些Android版本和设备上进行测试才能合理覆盖?Android驱动程序中的错误或回归是否很常见,或者我可以预期这些问题早就被根除了吗?为了避免太多麻烦,您建议支持的最低Android版本是什么?到目前为止,我的体验出奇地复杂(3种设备,3种差异),我真的很想听听其他开发人员的意见。例如
我需要在Android设备上模拟DESFireEV1卡。但是,我对如何将MifareSDK(精简版或高级版)与HCE结合使用感到困惑。这可能吗?我需要开始这个项目,我对数据如何在DESFire卡中存储和加密进行了大量研究,但最终我发现我需要在HCE上使用MifareSDK。 最佳答案 首先,您不能使用MIFARESDK来模拟卡。MIFARESDK仅提供读卡器端功能。其次,您无法使用AndroidHCE模拟MIFAREDESFire(EV1)卡的全部功能。但是,您可以模拟部分MIFAREDESFire协议(protocol)(更具体地