You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android模拟器NFC护照扫描模拟测试技术咨询

Android模拟器NFC护照扫描模拟解决方案

一、扫描护照NFC标签数据及存储规范

  • 扫描逻辑:护照遵循ICAO 9303标准,NFC芯片存储加密个人数据块(如EF.DG1基本身份信息、EF.DG2人脸数据等)。扫描前需先读取护照页的MRZ机读码,通过MRZ内信息生成加密密钥(Kenc、Kmac),再通过NFC模块与护照芯片建立加密会话,读取对应数据块。
  • 存储格式:建议保存原始二进制数据块(按ICAO定义的文件结构),或转换为ASN.1 DER编码格式文件,便于后续模拟调用。
  • 加密要求:必须加密存储。敏感个人数据需用AES对称加密算法加密,密钥存入Android系统的Keystore安全容器,避免明文泄露。

二、实现NFC扫描模拟

  • 数据准备:用真实手机完成护照扫描后,导出加密后的完整数据块(保留加密状态,模拟真实场景的加密传输逻辑)。
  • 模拟器操作步骤:
    1. 打开Android Studio模拟器的「Extended Controls」(右侧边栏三点图标),进入「NFC」选项卡;
    2. 点击「Load tag data」,选择之前保存的护照NFC数据文件;
    3. 启动模拟器内的目标应用,应用会自动触发NFC扫描事件,识别到模拟的护照标签。
  • 命令行方式:也可通过adb命令直接发送数据,执行adb emu nfc send /path/to/your/nfc-data-file,模拟器会立即触发NFC检测。

三、模拟器应用代理配置

  • 全局代理:启动模拟器时添加参数-http-proxy http://代理地址:端口,或在模拟器「设置」→「网络和互联网」→「移动网络」→「接入点名称」中,修改当前APN的代理服务器与端口。
  • 应用单独代理:若仅需目标应用走代理,可在应用网络请求逻辑中配置。以OkHttp为例,添加如下代码:
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("代理地址", 端口));
OkHttpClient client = new OkHttpClient.Builder()
    .proxy(proxy)
    .build();

内容的提问来源于stack exchange,提问作者Игорь Крикливый

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 19:28:16