use of es.gob.jmulticard.apdu.connection.ApduConnection in project jmulticard by ctt-gob-es.
the class JMultiCardProviderFactory method getProvider.
/**
* Obtiene el proveedor (con la conexión por defecto) correspondiente
* a la primera tarjeta encontrada en el sistema.
* @return Proveedor (con la conexión por defecto) correspondiente
* a la primera tarjeta encontrada insertada o <code>null</code> si
* no hay ninguna insertada, no ha lector de tarjetas o no se
* encuentra ninguna tarjeta soportada.
*/
public static Provider getProvider() {
final ApduConnection conn = new SmartcardIoConnection();
final long[] terminals;
try {
terminals = conn.getTerminals(false);
} catch (final ApduConnectionException e1) {
LOGGER.warning(// $NON-NLS-1$
"No se ha podido obtener la lista de lectores de tarjetas del sistema: " + e1);
return null;
}
byte[] atr = null;
for (final long terminal : terminals) {
conn.setTerminal((int) terminal);
try {
atr = conn.reset();
} catch (final Exception e) {
continue;
}
}
return getProvider(atr);
}
use of es.gob.jmulticard.apdu.connection.ApduConnection in project jmulticard by ctt-gob-es.
the class SmartCafeKeyStoreImpl method engineLoad.
/**
* {@inheritDoc}
*/
@Override
public void engineLoad(final InputStream stream, final char[] password) throws IOException {
// Ponemos la conexion por defecto
final ApduConnection conn = new es.gob.jmulticard.jse.smartcardio.SmartcardIoConnection();
// Aqui se realiza el acceso e inicializacion de la tarjeta
this.cryptoCard = new SmartCafePkcs15Applet(conn, new JseCryptoHelper());
if (password != null) {
this.cryptoCard.setPasswordCallback(new CachePasswordCallback(password));
}
this.aliases = Arrays.asList(this.cryptoCard.getAliases());
}
Aggregations