问题标签 [hce]

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.

0 投票
1 回答
1350 浏览

android - 从另一个上下文向 HostApduService 传递信息

之前有人问过这个问题,但没有回应,所以我会尝试用不同的方式来表达这个问题。Service在无法绑定或自己启动的情况下,将某些数据传递给 Android 的各种方法是什么?

这是问题所在 - 我有一个HostApduService由操作系统在每次 NFC 卡交易时启动的。它需要权限android.permission.BIND_NFC_SERVICE,这是一个系统权限,所以我的应用程序无法绑定到它。我不想让数据保持静止,所以任何写入磁盘的东西都是不行的。我想到了一些可能的解决方案,但它们要么混乱要么不安全:

  1. 将数据放入我们应用的 SharedPreferences 中。这提出了一个 DAR 问题。
  2. 将信息广播到Service. 在HostApduService卡交易期间运行,因此我无法在广播开始工作之前可靠地确定广播到达服务的时间。
  3. 将我想要传递的信息放入某个static字段中。这很混乱,可能会导致并发问题,但这是我目前正在使用的。

还有其他想法吗?提前致谢。

0 投票
2 回答
4997 浏览

android - 使用 NFC 设备作为 NFC 标签

我希望我的 android 设备充当 NFC 标签。是否可以使用 NFC 设备作为 NFC 标签?我怎样才能做到这一点?我已经完成了设备之间的读/写标签,光束数据。

0 投票
1 回答
1784 浏览

android - 安卓 HCE 服务

我有一个 HCE 服务,可以向 NFC 阅读器发送数据,但我想知道是否可以指定我的服务的启动设置。我想指定只有在应用程序正在运行时才能调用我的服务。如果应用程序关闭,则不应调用该服务。这是可能的还是打算总是可以调用该服务?

0 投票
1 回答
9476 浏览

tags - 如何检查我的 NFC TAG ID (UID)?

当我们习惯于 APK & TAG 每部手机时,就可以知道其他人的 NFC TAG ID。例如,电话 A 和 B 尝试标记。然后电话 A 可以知道电话 B 的 NFC TAG ID(4 字节 - HEX)。但我想知道如何知道我手机上的 NFC TAG ID。没用过其他手机。如果您知道任何其他信息,请给我您的建议。

0 投票
1 回答
185 浏览

android - 主机卡仿真中的加密逻辑通道

HCE 实现仅支持单个逻辑通道,默认情况下未加密。

有谁知道,是否可以在 HCE 中建立加密逻辑通道或任何其他方式使主机卡仿真更安全。

谢谢

0 投票
2 回答
2113 浏览

android - 访问 MIFARE DESFire 卡

如何使用 Android 手机作为 NFC 读卡器访问 MIFARE DESFire 卡?我打算在安卓手机上开发一个安卓应用程序(用于支付)。

我想使用 Android 手机执行的 DESFire 操作(身份验证、读取和写入)需要 SAM 卡,我想我可以使用 HCE 在手机中模拟该 SAM 卡。

0 投票
1 回答
2225 浏览

android - 我可以防止选择 AID 触发 Host Card Emulation 服务吗?

我有一个 Android 应用程序,该应用程序具有注册到 Android Beam 的服务和注册到主机卡仿真的服务。我想决定何时在代码中启用/禁用 HCE 服务。清单中的 HCE 服务如下所示 -

实际上,当智能手机接收到选择 AID 命令(带有服务 AID)时,会触发服务并执行服务的 onCreate() 函数,并在事务完成后调用函数 onDestroy()。

因此,当我从主要活动中执行 startService() 和 stopService() 时,它没有任何效果。

我可以控制是否调用服务吗?

0 投票
1 回答
690 浏览

nfc - NFC Beam 从手机到桌面

我需要将 .doc 文件从我的 Nexus 5 手机发送到 Windows 8 桌面(连接了 ACR122U-A9 NFC 阅读器)。我发现的类似项目使用 LLCP/SNEP 协议(​​例如可以在此链接中找到的 Android Beam:https ://code.google.com/p/java-android-beam-api/ )。由于有基于主机的卡模拟的新功能,我想知道我是否可以使用HCE而不是LLCP/SNEP来建立Android和ACR122U之间的通信?

0 投票
1 回答
641 浏览

android - 是否可以从 Android 用户区向 HCE 服务发送 APDU?

如果我的问题听起来很愚蠢,我提前道歉,我不是开发人员,答案可能很明显(但至少对我来说不是......)。

我对 Android Kit-Kat 中引入的相对较新的主机卡仿真的可能性感兴趣。

使用以前基于安全元件的 NFC 应用程序,可以通过 NFC 控制器或“接触”接口(芯片和电话之间的插座)与 SE 中托管的小程序交换 APDU。

后者支持 SE 和运行在 Android 用户空间中的应用程序之间的通信(可以充当远程服务器的代理)。应用程序与小程序通信的授权是基于必须事先在 SE 中“注入”的应用程序的某种散列授予的——据我所知,这种安全机制是全球平台规范的一部分。

由于我在 Google 文档中阅读了此部分,因此我对 HCE 的类似可能性存有疑问:

HCE 架构本身提供了一项核心安全性:因为您的服务受到 BIND_NFC_SERVICE 系统权限的保护,所以只有操作系统可以绑定到您的服务并与之通信。

这让我认为用户级应用程序不可能与 HCE 服务交换 APDU——它只能通过 NFC 控制器从“外部”发生。如果我错了,该怎么做?是否有任何安全机制来控制哪个用户级应用程序可以与 HCE 服务通信?

我问这些问题是因为我想知道是否有可能开发一个能够显示通过 HCE 模拟的卡的内容并在远程服务器(充当 NFC 读取器)和 HCE 服务之间发起交易的 Android 应用程序。

谢谢你的时间!

0 投票
2 回答
3147 浏览

nfc - 在 ACR122U 上模拟 NFC 标签时 RFID 和 NFC 的主要区别

我对 NFC 标准的概述有一些问题。

我所知道的是:

  • ISO/IEC 14443是感应卡的标准,使用 RFID 作为通信协议;
  • ISO/IEC 18092(NFCIP-1) 是 NFC 标准,基于ISO/IEC 14443;
  • NFC 论坛建立在标准之上ISO/IEC 18092,包括 NFC 论坛类型标签 ( ISO/IEC 18092 tags) 和 LLCP;
  • ACR122U是一种阅读器,除其他外,它可以阅读ISO/IEC18092ISO/IEC 14443
  • 模拟ACR122UNFC Forum Type 4 TagISO-DEP ( ISO/IEC 7816-4) 之上的ISO/IEC 14443-A;

我有两个问题:

RFID 或 NFC 标签

我不明白为什么仿真标签是 NFC 标签。如果模拟标签基于ISO/IEC 14443-A它是感应卡,并且据我了解感应卡的技术是 RFID。那么为什么这是 NFC 标签而不是 RFID 标签呢?技术上的区别是什么?

通信过程中的RFID和NFC部分在哪里

NFC 与 RFID (13.56 MHz) 兼容。我猜当标签被扫描时,ACR122U它将确定它是 RFID 还是 NFC 标签。这可能会通过识别一些标志和/或初始化过程来完成。如果是 NFC 标签,它将使用ISO/IEC 18092标准进行通信,如果是 RFID 标签,它将使用ISO/IEC 14443.

但是如果仿真标签是建立在上面的NFC标签,ISO/IEC 14443它就是NFC标签(ISO/IEC 18092),但需要根据ISO/IEC 14443标准进行控制。在初始化和通信过程中,什么是 RFID 部分(ISO/IEC 14443),什么是 NFC 部分(ISO/IEC 18092)?

我不知道我是否正确,但这让我感到困惑。

欢迎任何相关信息。

谢谢。