Пример устройства чтения смарт-карт Blackberry - PullRequest
52 голосов
/ 31 марта 2010

Я пишу приложение для BlackBerry, которое использует устройство чтения смарт-карт BlackBerry. По этому вопросу не так много документации, поэтому мне бы очень хотелось, чтобы кто-нибудь дал мне стартовые примеры.

По сути, на карте имеется один закрытый ключ 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 выглядит многообещающе - имеет несколько хороших методов, но с "загадочными" аргументами. Что делать дальше?

Ответы [ 2 ]

1 голос
/ 13 декабря 2011

Я думаю, это то, что вы ищете:

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

0 голосов
/ 16 февраля 2012

Вы должны реализовать методы SmartCardSession, а также методы RSACryptoToken. С помощью методов SmartCardSession вы сможете связываться со смарт-картой, а с помощью методов RSACryptoToken вы сможете выполнять операции шифрования. Вы должны также прочитать о протоколе APDU.

...