gpt4 book ai didi

java - 黑莓上的 JSR 177 支持

转载 作者:搜寻专家 更新时间:2023-11-01 03:45:31 25 4
gpt4 key购买 nike

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

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

最佳答案

JSR 177 最常用于与安全元素和 UICC 通信。 JSR 177 无法在 BlackBerry 模拟器上运行,因为它不支持模拟所需的硬件。如果要添加 NFC 模拟,则需要编辑模拟器并按照提供的说明进行操作 here .我还没有完成这些说明,所以我不知道是否可以模拟 JSR 177 与 SIM 的连接。从链接中提供的说明来看,“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 - 黑莓上的 JSR 177 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1707726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com