【问题标题】:Making sense of the Smartcard GetAnswerToResetAsync method理解智能卡 GetAnswerToResetAsync 方法
【发布时间】:2014-12-18 11:21:27
【问题描述】:

我正在尝试使用 Windows Phone 8.1 中的新 Windows.Devices.SmartCards 命名空间从智能卡中提取 ATR(我正在使用 Silverlight)。

我正在调用 GetAnswerToResetAsync 方法,它以 COM 对象响应,该对象转换为 14 字节数组(在我的例子中)。我们使用 Android 的开发人员使用称为 GetHistoricalBytes 的东西,这会产生 20 个数字的 ATR。

有没有其他人有过这种方法的经验,有没有人知道我们应该从中得到什么信息。我还预计有效载荷会更大,所以我寻求的信息可能不在此调用中。我查看了 GetIdAsync,但响应卡不支持此功能。

【问题讨论】:

    标签: windows-phone-8.1 nfc smartcard contactless-smartcard


    【解决方案1】:

    Android + getHistoricalBytes() 建议您使用的是非接触式智能卡(ISO/IEC 14443 Type A)。在非接触式接口上,智能卡没有 ATR(因为没有像接触式接口那样的重置过程)。取而代之的是,当读卡器以防冲突顺序选择卡片时,卡片有一个 ATS(选择答案)。 ATS 和 ATR 结构相似,但传达的信息不同。

    您在 Windows 上获得的 ATR 取决于您访问卡的方式:

    • 如果您通过接触界面访问卡片,您将获得卡片的真实ATR。根据卡的不同,您可以通过读取基本文件 EF.ATR 来通过非接触式界面查询相同的信息。

    • 如果您通过非接触式接口访问卡,您可能会获得由 PC/SC 层生成的模拟 ATR。对于 ISO/IEC 14443-4 A 类非接触式智能卡,模拟的 ATR 应包含从字节 4 开始的 ATS 的历史字节。(您可以在 PC/SC 规范的第 3 部分中找到映射描述)

    【讨论】:

    • 是的,它是非接触式的。感谢您提供信息,我希望尽快返回此内容,并在完成后报告任何信息。
    猜你喜欢
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多