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_AIDS
private static Atr
ATR
private static byte[]
ATR_MASK
private static Location
CDF_LOCATION
private static java.util.Map<java.lang.String,java.security.cert.X509Certificate>
CERTIFICATES_BY_ALIAS
private static byte
CLA
private CryptoHelper
cryptoHelper
Manejador de funciones criptográficas.private static java.util.logging.Logger
LOGGER
private javax.security.auth.callback.PasswordCallback
passwordCallback
-
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 void
connect(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.String
getCardName()
Obtiene el nombre de la tarjeta.java.security.cert.X509Certificate
getCertificate(java.lang.String alias)
Obtiene el certificado correspondiente al alias proporcionado.PrivateKeyReference
getPrivateKey(java.lang.String alias)
Obtiene una referencia a la clave privada correspondiente al alias proporcionado.private void
preloadCertificates()
protected void
selectMasterFile()
Selecciona el fichero maestro (directorio raíz de la tarjeta).private void
selectPkcs15Applet()
byte[]
sign(byte[] data, java.lang.String algorithm, PrivateKeyReference keyRef)
Realiza una firma electrónica.java.lang.String
toString()
void
verifyPin(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.IOException
Iso7816FourCardException
-
selectPkcs15Applet
private void selectPkcs15Applet() throws ApduConnectionException, InvalidCardException, Iso7816FourCardException
-
getAliases
public java.lang.String[] getAliases()
Description copied from interface:CryptoCard
Obtiene los alias de los certificados de la tarjeta.- Specified by:
getAliases
in 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:CryptoCard
Obtiene el certificado correspondiente al alias proporcionado.- Specified by:
getCertificate
in interfaceCryptoCard
- Parameters:
alias
- Alias del certificado.- Returns:
- Certificado correspondiente al alias proporcionado o
null
si no existe ningún certificado con ese alias.
-
getPrivateKey
public PrivateKeyReference getPrivateKey(java.lang.String alias) throws CryptoCardException
Description copied from interface:CryptoCard
Obtiene una referencia a la clave privada correspondiente al alias proporcionado.- Specified by:
getPrivateKey
in interfaceCryptoCard
- Parameters:
alias
- Alias del certificado- Returns:
- Referencia a la clave privada correspondiente al alias proporcionado o
null
si 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 CryptoCardException
Description copied from interface:CryptoCard
Realiza una firma electrónica.- Specified by:
sign
in 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 ApduConnectionException
Description copied from class:AbstractIso7816FourCard
Selecciona el fichero maestro (directorio raíz de la tarjeta).- Specified by:
selectMasterFile
in classAbstractIso7816FourCard
- Throws:
ApduConnectionException
- Si hay problemas en el envío de la APDU.
-
getCardName
public java.lang.String getCardName()
Description copied from class:AbstractSmartCard
Obtiene el nombre de la tarjeta.- Specified by:
getCardName
in classAbstractSmartCard
- Returns:
- Nombre de la tarjeta
-
verifyPin
public void verifyPin(javax.security.auth.callback.PasswordCallback pinPc) throws ApduConnectionException, BadPinException
Description copied from class:AbstractIso7816FourCard
Verifica 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 deRuntimeException
o unaApduConnectionException
.- Specified by:
verifyPin
in 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:
toString
in classjava.lang.Object
-
-