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

Android Pay读取智能卡:SELECT指定ADF失败,如何获取PDOL?

智能卡ADF未找到时获取PDOL的方案

背景操作回顾

  • 发送SELECT PPSE命令:
    00 A4 04 00 0E 32 50 41 59 2E 53 59 53 2E 44 44 46 30 31 00
    
    成功获取2PAY.SYS.DDF01响应,但发送目标ADF的SELECT命令:
    00 A4 04 00 07 A0 00 00 06 58 10 10
    
    收到响应SW1SW2 = 6A82: File not found,且PPSE响应的9F2A标签显示需遵循Kernel 1规范。

解决步骤

  • 解析PPSE响应的目录条目
    仔细分析SELECT PPSE返回的完整响应数据,重点提取其中的目录条目。每个条目对应卡片上的一个可用应用,包含AID、优先级等信息。目标ADF未被找到,说明该AID不存在于卡片的应用列表中,需从目录条目里提取实际存在的AID,再对这些AID发起SELECT操作。

  • 针对Kernel 1规范的PDOL获取
    Kernel 1(Visa相关规范)的卡片有特殊处理逻辑:

    1. 若PPSE响应中包含9F38标签(PDOL),直接提取该标签的取值即可得到PDOL。
    2. 若PPSE响应无PDOL,尝试对2PAY.SYS.DDF01发送**GET PROCESSING OPTIONS (GPO)**命令:
      80 A8 00 00 00
      
      卡片可能返回包含PDOL的响应,或直接返回后续处理所需的参数。
  • 读取PPSE的完整目录
    若上述方法未奏效,通过READ RECORD命令遍历PPSE的所有记录:

    • 读取第一条记录:00 B2 01 0C 00
    • 读取第二条记录:00 B2 02 0C 00
    • 以此类推,直到返回6A83: Record not found,确保没有遗漏任何可用的应用条目。

内容的提问来源于stack exchange,提问作者Дмитрий Звягин

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:35:24