【问题标题】:JSR 177 Support on Blackberry黑莓上的 JSR 177 支持
【发布时间】:2009-11-10 12:50:42
【问题描述】:

我一直在尝试通过 APDU 交换与 SIM 应用程序进行交互。为了交换 APDU,我必须通过 Connector.open() API 创建一个 APDUConnection,但是这个特定的 API 会引发一个 IO 异常,指出“此平台不支持 JSR 177”,我不知道这是否会发生,因为我对此进行了测试模拟器或黑莓设备是否也不支持。

我想知道,有没有人成功地与黑莓上的 SIM 应用程序进行交互?如果是,有什么方法可以做到?如果我可以实现 JSR 177,是否可以向 Blackberry SDK 添加扩展?如何扩展 SDK 以包含此类扩展?我真的很感谢你们的任何意见。提前致谢。

【问题讨论】:

    标签: java blackberry mobile-phones sim-card apdu


    【解决方案1】:

    JSR 177 最常用于与安全元件和 UICC 进行通信。 JSR 177 不能在 BlackBerry 模拟器上运行,因为它不支持模拟所需的硬件。如果要添加 NFC 模拟,则需要编辑模拟器并按照here 提供的说明进行操作。我还没有完成这些说明,所以我不知道是否可以模拟 JSR 177 与 SIM 的连接。根据链接中提供的说明,“黑莓智能手机模拟器只模拟不安全的被动通信”。

    我建议您阅读BlackBerry NFC Primer 并了解一些交互智能卡应用程序的知识。

    可以在 BlackBerry 设备上使用 JSR 177,但要这样做,您必须使用 NCFR 或 RESE 签名对应用程序进行签名才能访问 API。此签名只能由 BlackBerry 的应用程序获得。根据您在应用程序中使用的 API,您可能需要两个或一个签名,但是如果您想与 SIM 通信,我相信您只需要 NFCR 签名。

    以下是如何创建 JSR 177 连接的简短(未经测试)示例:

    //The BNF URI is explained within JSR 177, it will connect to the AID specified in the
    //target. In this example the AID is the first thing that came to my head and should be an
    //application install on the UICC.
        final String BNF_URI = "apdu:0;target=A0.00.00.00.01.02.03.04";
    
        ...
    
        //Cmd APDU defines the APDU to be sent to the application on the UICC
        byte[] cmdApdu = new byte[]{ 0x00, 0x4A, 0x00, 0x01, 0x00};
        ApduConnection conn = (ApduConnection)Connector.open();
        byte[] rApdu = conn.exchangeAPDU(cmdApdu);
        ...
    

    在示例中,接收到的 R-APDU 将是从智能卡环境中的应用程序发送的数据字节数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      相关资源
      最近更新 更多