51

BlackBerry スマートカード リーダーを利用する BlackBerry 用のアプリを作成しています。この件に関するドキュメントはあまりないので、誰かが最初の例を教えてくれると本当にうれしいです.

基本的に、カードには 1 つの RSA 秘密鍵と証明書 (対になった公開鍵用) があります。データを暗号化/復号化し、署名もできるようにしたいと考えています。最終的な目標は、スマートカードに含まれるクライアント証明書を使用して、相互認証された SSL 接続を確立することです。

これが私がこれまでに思いついたコードです:

SmartCardReader btReader = null;
SmartCardReader[] readers = SmartCardReaderFactory.getInstalledReaders();
for (int i = 0; i < readers.length; i++) {
    SmartCardReader reader = readers[i];
    if (reader.getType().equalsIgnoreCase("bluetooth")) {
        btReader = reader;
        break;
    }
}

SmartCardReaderSession readerSession = reader.openSession();
CryptoSmartCard card = (CryptoSmartCard) readerSession.getSmartCard();
RSACryptoToken token = (RSACryptoToken) card.getCryptoToken("RSA");

これtokenは有望に見えます - いくつかの素晴らしいメソッドがありますが、「不可解な」引数があります。次はどうする?

4

2 に答える 2

1

これがあなたが探しているものだと思います:

http://code.google.com/p/seek-for-android/wiki/BTPCSC

于 2011-12-12T21:49:55.180 に答える
0

SmartCardSession メソッドを実装する必要があり、RSACryptoToken メソッドも実装する必要があります。SmartCardSession メソッドを使用するとスマート カードと通信でき、RSACryptoToken メソッドを使用すると暗号化操作を実行できます。APDU プロトコルについても読む必要があります。

于 2012-02-16T10:49:09.450 に答える