2010-03-31 2 views
52

Я пишу приложение для BlackBerry, которое использует считыватель смарт-карт 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

Вы видели это руководство? : [Руководство по разработке драйверов криптографических смарт-карт] (http://docs.blackberry.com/en/developers/deliverables/1127/BlackBerry%20JDE%20Cryptographic%20Smart%20Card%20Driver%20Development%20Guide.pdf) – 2011-09-30 07:33:09

+2

Не могли бы вы объяснить более четко, что вам нужно делать, и как это происходит? –

+2

Есть ли какие-либо разработки на этом? Я чувствую, что вы, вероятно, поняли это после более чем полутора лет. Я мог ошибаться, но если вы это сделали, опубликуйте свой ответ и отнесите его из списка без ответа. – Jon

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^