2010-03-31 22 views
52

Sto scrivendo un'app per BlackBerry che utilizza un lettore di smart card BlackBerry. Non c'è molta documentazione sull'argomento, quindi mi piacerebbe davvero che qualcuno potesse darmi degli esempi iniziali.Esempio lettore smartcard Blackberry

In pratica, sulla scheda è presente una chiave privata RSA più un certificato (per la chiave pubblica accoppiata). Mi piacerebbe essere in grado di crittografare/decrittografare i dati e anche firmarlo. L'obiettivo finale sarebbe quello di stabilire una connessione SSL autenticata reciprocamente utilizzando il certificato client contenuto nella smartcard.

Ecco il codice sono riuscito a venire con finora:

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"); 

Questo token sembra essere molto promettente - ha alcuni metodi belle, ma con argomenti "criptiche". Cosa fare dopo?

+2

Hai visto questa guida? : [Guida allo sviluppo dei driver delle smart card crittografiche] (http://docs.blackberry.com/en/developers/deliverables/1127/BlackBerry%20JDE%20Cryptographic%20Smart%20Card%20Driver%20Development%20Guide.pdf) –

+2

Potresti spiegare più chiaramente cosa vuoi che quel codice faccia, e come sta fallendo? –

+2

C'è stato qualche sviluppo su questo? Sento che probabilmente l'hai capito dopo più di un anno e mezzo. Potrei sbagliarmi, ma se lo hai fatto, pubblica la tua risposta e rimuovi questa lista senza risposta. – Jon

risposta

0

è necessario implementare metodi SmartCardSession, anche implementare metodi RSACryptoToken. Con i metodi SmartCardSession sarete in grado di comunicare con la smart card e, con i metodi RSACryptoToken, sarete in grado di eseguire operazioni di crittografia. Devi leggere anche sul protocollo APDU.