Ejemplo de lector de tarjetas inteligentes Blackberry
cryptography rsa (2)
Creo que esto es lo que estás buscando:
Estoy escribiendo una aplicación para BlackBerry que utiliza un lector de tarjetas inteligentes BlackBerry. No hay mucha documentación sobre el tema, así que realmente me gustaría que alguien me diera ejemplos iniciales.
Básicamente, hay una clave privada RSA en la tarjeta más un certificado (para clave pública emparejada). Me gustaría poder cifrar / descifrar datos y también firmarlos. El objetivo final sería establecer una conexión SSL autenticada mutuamente usando el certificado de cliente contenido en la tarjeta inteligente.
Aquí está el código que logré llegar hasta ahora:
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");
Este token
parece prometedor: tiene algunos métodos agradables, pero con argumentos "crípticos". ¿Qué hacer a continuación?
Debe implementar los métodos de SmartCardSession y también implementar los métodos RSACryptoToken. Con los métodos SmartCardSession podrá comunicarse con la tarjeta inteligente, y con los métodos RSACryptoToken, podrá realizar operaciones criptográficas. Tienes que leer también sobre el protocolo APDU.