Search in sources :

Example 1 with Cwa14890OneV1Connection

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);
        }
    }
}
Also used : Cwa14890OneV1Connection(es.gob.jmulticard.apdu.connection.cwa14890.Cwa14890OneV1Connection) Cwa14890Connection(es.gob.jmulticard.apdu.connection.cwa14890.Cwa14890Connection) ApduConnection(es.gob.jmulticard.apdu.connection.ApduConnection) CryptoCardException(es.gob.jmulticard.card.CryptoCardException) ApduConnectionException(es.gob.jmulticard.apdu.connection.ApduConnectionException)

Aggregations

ApduConnection (es.gob.jmulticard.apdu.connection.ApduConnection)1 ApduConnectionException (es.gob.jmulticard.apdu.connection.ApduConnectionException)1 Cwa14890Connection (es.gob.jmulticard.apdu.connection.cwa14890.Cwa14890Connection)1 Cwa14890OneV1Connection (es.gob.jmulticard.apdu.connection.cwa14890.Cwa14890OneV1Connection)1 CryptoCardException (es.gob.jmulticard.card.CryptoCardException)1