use of es.gob.jmulticard.apdu.connection.cwa14890.Cwa14890OneV1Connection in project jmulticard by ctt-gob-es.
the class Dnie method openSecureChannelIfNotAlreadyOpened.
/**
* Establece y abre el canal seguro CWA-14890 si no lo estaba ya hecho.
* @throws CryptoCardException Si hay problemas en el proceso.
* @throws PinException Si el PIN usado para la apertura de canal no es válido o no se ha proporcionado
* un PIN para validar.
*/
protected void openSecureChannelIfNotAlreadyOpened() throws CryptoCardException, PinException {
// Abrimos el canal seguro si no lo esta ya
if (!isSecurityChannelOpen()) {
// Aunque el canal seguro estuviese cerrado, podria si estar enganchado
if (!(getConnection() instanceof Cwa14890Connection)) {
final ApduConnection secureConnection;
secureConnection = new Cwa14890OneV1Connection(this, getConnection(), this.cryptoHelper, getCwa14890PublicConstants(), getCwa14890PrivateConstants());
try {
setConnection(secureConnection);
} catch (final ApduConnectionException e) {
// $NON-NLS-1$
throw new CryptoCardException("Error en el establecimiento del canal seguro: " + e, e);
}
}
try {
verifyPin(getInternalPasswordCallback());
} catch (final ApduConnectionException e) {
// $NON-NLS-1$
throw new CryptoCardException("Error en la apertura del canal seguro: " + e, e);
}
}
}
Aggregations