Class TuiR5
- java.lang.Object
-
- es.gob.jmulticard.card.AbstractSmartCard
-
- es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
-
- es.gob.jmulticard.card.gemalto.tuir5.TuiR5
-
- All Implemented Interfaces:
Card,CryptoCard
public final class TuiR5 extends AbstractIso7816FourCard implements CryptoCard
Tarjeta Gemalto TUI R5 MPCOS.
-
-
Field Summary
Fields Modifier and Type Field Description private static byte[][]APPLETS_AIDSprivate static AtrATRprivate static byte[]ATR_MASKprivate static LocationCDF_LOCATIONprivate static java.util.Map<java.lang.String,java.security.cert.X509Certificate>CERTIFICATES_BY_ALIASprivate static byteCLAprivate CryptoHelpercryptoHelperManejador de funciones criptográficas.private static java.util.logging.LoggerLOGGERprivate javax.security.auth.callback.PasswordCallbackpasswordCallback-
Fields inherited from class es.gob.jmulticard.card.AbstractSmartCard
DEBUG
-
-
Constructor Summary
Constructors Constructor Description TuiR5(ApduConnection conn, javax.security.auth.callback.PasswordCallback pwc, CryptoHelper cryptoHlpr)Construye un objeto que representa una tarjeta Gemalto TUI R5 MPCOS.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidconnect(ApduConnection conn)Conecta con el lector del sistema que tenga una TUI insertada.java.lang.String[]getAliases()Obtiene los alias de los certificados de la tarjeta.java.lang.StringgetCardName()Obtiene el nombre de la tarjeta.java.security.cert.X509CertificategetCertificate(java.lang.String alias)Obtiene el certificado correspondiente al alias proporcionado.PrivateKeyReferencegetPrivateKey(java.lang.String alias)Obtiene una referencia a la clave privada correspondiente al alias proporcionado.private voidpreloadCertificates()protected voidselectMasterFile()Selecciona el fichero maestro (directorio raíz de la tarjeta).private voidselectPkcs15Applet()byte[]sign(byte[] data, java.lang.String algorithm, PrivateKeyReference keyRef)Realiza una firma electrónica.java.lang.StringtoString()voidverifyPin(javax.security.auth.callback.PasswordCallback pinPc)Verifica el PIN de la tarjeta.-
Methods inherited from class es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
getChallenge, readAllRecords, readBinaryComplete, selectFileById, selectFileByIdAndRead, selectFileByLocation, selectFileByLocationAndRead, selectFileByName, selectFileByName, setPublicKeyToVerification
-
Methods inherited from class es.gob.jmulticard.card.AbstractSmartCard
getCla, getConnection, sendArbitraryApdu, setConnection
-
-
-
-
Field Detail
-
ATR_MASK
private static final byte[] ATR_MASK
-
ATR
private static final Atr ATR
-
APPLETS_AIDS
private static final byte[][] APPLETS_AIDS
-
CDF_LOCATION
private static final Location CDF_LOCATION
-
CLA
private static final byte CLA
- See Also:
- Constant Field Values
-
LOGGER
private static final java.util.logging.Logger LOGGER
-
passwordCallback
private final transient javax.security.auth.callback.PasswordCallback passwordCallback
-
CERTIFICATES_BY_ALIAS
private static final java.util.Map<java.lang.String,java.security.cert.X509Certificate> CERTIFICATES_BY_ALIAS
-
cryptoHelper
private final CryptoHelper cryptoHelper
Manejador de funciones criptográficas.
-
-
Constructor Detail
-
TuiR5
public TuiR5(ApduConnection conn, javax.security.auth.callback.PasswordCallback pwc, CryptoHelper cryptoHlpr) throws Iso7816FourCardException, java.io.IOException
Construye un objeto que representa una tarjeta Gemalto TUI R5 MPCOS.- Parameters:
conn- Conexión con la tarjeta.pwc- PasswordCallback para obtener el PIN de la TUI.cryptoHlpr- Manejador de funciones criptográficas.- Throws:
Iso7816FourCardException- Cuando hay errores relativos a la ISO-7816-4.java.io.IOException- Si hay errores de entrada / salida.
-
-
Method Detail
-
connect
private void connect(ApduConnection conn) throws java.io.IOException
Conecta con el lector del sistema que tenga una TUI insertada.- Parameters:
conn- Conexión hacia la TUI- Throws:
java.io.IOException- Cuando hay errores de entrada / salida.
-
preloadCertificates
private void preloadCertificates() throws java.io.IOException, Iso7816FourCardException- Throws:
java.io.IOExceptionIso7816FourCardException
-
selectPkcs15Applet
private void selectPkcs15Applet() throws ApduConnectionException, InvalidCardException, Iso7816FourCardException
-
getAliases
public java.lang.String[] getAliases()
Description copied from interface:CryptoCardObtiene los alias de los certificados de la tarjeta.- Specified by:
getAliasesin interfaceCryptoCard- Returns:
- Array con los alias de los certificados de la tarjeta
-
getCertificate
public java.security.cert.X509Certificate getCertificate(java.lang.String alias)
Description copied from interface:CryptoCardObtiene el certificado correspondiente al alias proporcionado.- Specified by:
getCertificatein interfaceCryptoCard- Parameters:
alias- Alias del certificado.- Returns:
- Certificado correspondiente al alias proporcionado o
nullsi no existe ningún certificado con ese alias.
-
getPrivateKey
public PrivateKeyReference getPrivateKey(java.lang.String alias) throws CryptoCardException
Description copied from interface:CryptoCardObtiene una referencia a la clave privada correspondiente al alias proporcionado.- Specified by:
getPrivateKeyin interfaceCryptoCard- Parameters:
alias- Alias del certificado- Returns:
- Referencia a la clave privada correspondiente al alias proporcionado o
nullsi no existe ninguna clave privada con ese alias - Throws:
CryptoCardException- Si ocurre algún problema al recuperar la clave privada.
-
sign
public byte[] sign(byte[] data, java.lang.String algorithm, PrivateKeyReference keyRef) throws CryptoCardExceptionDescription copied from interface:CryptoCardRealiza una firma electrónica.- Specified by:
signin interfaceCryptoCard- Parameters:
data- Datos a firmar.algorithm- Algoritmo de firma.keyRef- Referencia a la clave privada de firma.- Returns:
- Datos firmados (PKCS#1 v1.5).
- Throws:
CryptoCardException- Si ocurre algún problema durante la firma.
-
selectMasterFile
protected void selectMasterFile() throws ApduConnectionExceptionDescription copied from class:AbstractIso7816FourCardSelecciona el fichero maestro (directorio raíz de la tarjeta).- Specified by:
selectMasterFilein classAbstractIso7816FourCard- Throws:
ApduConnectionException- Si hay problemas en el envío de la APDU.
-
getCardName
public java.lang.String getCardName()
Description copied from class:AbstractSmartCardObtiene el nombre de la tarjeta.- Specified by:
getCardNamein classAbstractSmartCard- Returns:
- Nombre de la tarjeta
-
verifyPin
public void verifyPin(javax.security.auth.callback.PasswordCallback pinPc) throws ApduConnectionException, BadPinExceptionDescription copied from class:AbstractIso7816FourCardVerifica el PIN de la tarjeta. El método reintenta hasta que se introduce el PIN correctamente, se bloquea la tarjeta por exceso de intentos de introducción de PIN o se recibe una excepción (derivada deRuntimeExceptiono unaApduConnectionException.- Specified by:
verifyPinin classAbstractIso7816FourCard- Parameters:
pinPc- PIN de la tarjeta.- Throws:
ApduConnectionException- Cuando ocurre un error en la comunicación con la tarjeta.BadPinException
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-