4

私はAPDU交換を介してSIMアプリケーションと対話しようとしています。APDUを交換するために、Connector.open()APIを介してAPDUConnectionを作成する必要がありましたが、この特定のAPIは、「JSR 177はこのプラットフォームではサポートされていません」というIO例外をスローします。これをテストしているため、これが発生するかどうかはわかりません。シミュレーター、またはBlackberryデバイスでもサポートされていないかどうか。

知りたいのですが、BlackberryのSIMアプリとのやり取りに成功した人はいますか?はいの場合、それを行う方法は何ですか?JSR 177を実装できる場合に備えて、Blackberry SDKに拡張機能を追加することはできますか?SDKを拡張してそのような拡張機能を含めるにはどうすればよいですか?皆さんからのご意見に心から感謝いたします。前もって感謝します。

4

1 に答える 1

1

JSR 177 は、ほとんどの場合、セキュア エレメントおよび UICC との通信に使用されます。JSR 177 は、必要なハードウェアのシミュレーションをサポートしていないため、BlackBerry シミュレーターでは機能しません。NFC シミュレーションを追加する場合は、シミュレーターを編集し、ここに記載されている手順に従う必要があります。これらの手順を完了していないため、SIM への JSR 177 接続をシミュレートできるかどうかわかりません。リンク内にある説明によると、「BlackBerry Smartphone Simulator は、安全でないパッシブ通信のみをシミュレートします。」

BlackBerry NFC Primerを読み、スマート カード アプリケーションとのやり取りについてある程度の知識があることをお勧めします。

BlackBerry デバイスで JSR 177 を使用することは可能ですが、そのためには、API にアクセスできるように NCFR または RESE 署名でアプリケーションに署名する必要があります。この署名は、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 は、スマート カード環境内のアプリケーションから送信されたデータのバイト配列になります。

于 2012-02-11T01:42:31.813 に答える