编程语言
首页 > 编程语言> > java – JSR 177对Blackberry的支持

java – JSR 177对Blackberry的支持

作者:互联网

我一直试图通过APDU交换与SIM应用程序进行交互.为了交换APDU,我不得不通过Connector.open()API创建一个APDUConnection,但是这个特殊的API会抛出一个IO异常,说明“这个平台上不支持JSR 177”,我不知道是否会发生这种情况,因为我测试了这个模拟器或Blackberry设备是否也不支持它.

我想知道,有没有人成功与Blackberry上的SIM应用程序进行交互?如果是的话,有什么办法呢?如果我可以实现JSR 177,是否可以为Blackberry SDK添加扩展?如何扩展SDK以包含此类扩展?我非常感谢你们的任何投入.提前致谢.

解决方法:

JSR 177主要用于与Secure Elements和UICC进行通信. JSR 177无法在BlackBerry模拟器上运行,因为它不支持模拟所需的硬件.如果要添加NFC模拟,则需要编辑模拟器并按照here提供的说明进行操作.我还没有完成这些说明,因此我不知道是否可以模拟与SIM的JSR 177连接.根据链接中提供的说明,“BlackBerry Smartphone Simulator仅模拟不安全的被动通信.”

我建议你阅读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将是从智能卡环境中的应用程序发送的数据的字节阵列.

标签:java,blackberry,mobile-phones,sim-card,apdu
来源: https://codeday.me/bug/20190710/1423475.html