Package es.gob.jmulticard.card.dnie
Class Dnie
- All Implemented Interfaces:
Card
,CryptoCard
,Cwa14890Card
,Dni
DNI Electrónico.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String[]
private static final String
private DniePrivateKeyReference
Referencia a la clave privada de autenticación.private CallbackHandler
protected static final Location
Localización del CDF PKCS#15.static final String
Alias del certificado de autenticación del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).protected static final String
Alias del certificado de cifrado (siempre el mismo en las tarjetas derivadas del DNIe que soportan cifrado).static final String
Alias del certificado de CA intermedia (siempre el mismo en el DNIe).static final String
Alias del certificado de firma del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).protected static final String
Alias del certificado de firma (siempre el mismo en el DNIe y tarjetas derivadas).private static final byte[]
Identificador del fichero del certificado de componente del DNIe.protected X509Certificate
Certificado de autenticación.protected X509Certificate
Certificado de cifrado.protected X509Certificate
Certificado de componente (ICC).private Location
Localización del certificado de autenticación.private Location
Localización del certificado de cifrado.private Location
Localización del certificado de firma.private Location
Localización del certificado de firma con seudónimo.protected X509Certificate
Certificado de firma.protected X509Certificate
Certificado de firma con seudónimo.protected final CryptoHelper
Manejador de funciones criptográficas.private static final String
private DniePrivateKeyReference
Referencia a la clave privada de cifrado.private static final int
private static final byte
Octeto que identifica una verificación fallida del PIN.protected static final Location
Localización del EF IDESP.protected X509Certificate
Certificado de CA intermedia.protected static final Logger
Registro.private static final String
Nombre del Master File del DNIe.private PasswordCallback
protected static final Location
Localización del PrKDF PKCS#15.protected ApduConnection
Conexión inicial con la tarjeta, sin ningún canal seguro.private static final String
private DniePrivateKeyReference
Referencia a la clave privada de firma con seudónimo.private DniePrivateKeyReference
Referencia a la clave privada de firma.Fields inherited from class es.gob.jmulticard.card.AbstractSmartCard
DEBUG
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Dnie
(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch) Construye una clase que representa un DNIe.protected
Dnie
(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch, boolean loadCertsAndKeys) Construye una clase que representa un DNIe. -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
Realiza la operación de cambio de PIN.byte[]
cipherData
(byte[] data, PrivateKeyReference privateKeyReference) Realiza un cifrado RSA directo con una clave privada.static void
connect
(ApduConnection conn) Conecta con el lector del sistema que tenga un DNIe insertado.boolean
externalAuthentication
(byte[] extAuthenticationData) Envia el mensaje de autenticación externa.String[]
Obtiene los alias de los certificados de la tarjeta.Obtiene el nombre de la tarjeta.getCdf()
Obtiene el CDF PKCS#15 del DNIe.getCertificate
(String alias) Obtiene el certificado correspondiente al alias proporcionado.byte[]
getChrCCvIfd
(Cwa14890PublicConstants consts) Recupera el CHR de la clave pública del certificado de terminal.protected CryptoHelper
Obtiene la clase con funcionalidades de base de criptografía.protected Cwa14890PrivateConstants
Obtiene las constantes privadas CWA-14890 para el cifrado de canal.protected Cwa14890PublicConstants
Obtiene las constantes públicas CWA-14890 para el cifrado de canal.Recupera la clave pública del certificado de componente.getIdesp()
Obtiene el número de soporte (IDESP) del DNIe.int
Obtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.Recupera la clave privada del certificado de componente del terminal.byte[]
getInternalAuthenticateMessage
(byte[] randomIfd, byte[] chrCCvIfd) Obtiene el mensaje de autenticación interna de la tarjeta.protected PasswordCallback
Obtiene laPasswordCallback
predefinida.protected PasswordCallback
getInternalPasswordCallback
(boolean reset) Obtiene laPasswordCallback
predefinida.protected PasswordCallback
Obtiene laPasswordCallback
.protected String
getPinMessage
(int retriesLeft) Devuelve el texto del diálogo de inserción de PIN.int
Devuelve los intentos restantes de comprobación de PIN del DNIe.getPrivateKey
(String alias) Obtiene una referencia a la clave privada correspondiente al alias proporcionado.byte[]
Recupera la referencia a la clave privada del certificado de componente.byte[]
Recupera el número de serie de un DNIe.protected boolean
Indica si el canal CWA-14890 está o no abierto.private X509Certificate
loadCertificate
(Location location) protected void
Carga los certificados del DNIe.private void
Carga los certificados del DNIe si no lo estaban ya.protected void
Carga el certificado de la CA intermedia y las localizaciones de los certificados de firma y autenticación.protected void
Carga la información pública con la referencia a las claves de firma.protected boolean
Indica si la tarjeta requiere autorización del usuario para ejecutar una operación de firma.protected boolean
Indica si este DNIe necesita validar el PIN para tener acceso a los certificados.void
Establece y abre el canal seguro CWA-14890 si no lo estaba ya.void
openSecureChannelIfNotAlreadyOpened
(boolean doChv) Establece y abre el canal seguro CWA-14890 si no lo estaba ya.protected final void
Selecciona el fichero maestro (directorio raíz de la tarjeta).void
setCallbackHandler
(CallbackHandler handler) Asigna unCallbackHandler
a la tarjeta.void
setKeysToAuthentication
(byte[] refPublicKey, byte[] refPrivateKey) Establece una clave pública y otra privada para la autenticación.void
Asigna unPasswordCallback
a la tarjeta.byte[]
sign
(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) Realiza una firma electrónica.protected byte[]
signInternal
(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) Ejecuta la operación interna de firma del DNIe.protected byte[]
signOperation
(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) Realiza la operación de firma.toString()
void
Verifica el certificado de componente de la tarjeta.void
Verifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.void
Verifica el PIN de la tarjeta.Methods inherited from class es.gob.jmulticard.card.iso7816eight.AbstractIso7816EightCard
verifyCertificate
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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface es.gob.jmulticard.card.cwa14890.Cwa14890Card
getChallenge
-
Field Details
-
DEFAULT_KEY_SIZE
private static final int DEFAULT_KEY_SIZE- See Also:
-
LOGGER
Registro. -
ERROR_PIN_SW1
private static final byte ERROR_PIN_SW1Octeto que identifica una verificación fallida del PIN.- See Also:
-
callbackHandler
-
aliases
-
CERT_ICC_FILE_ID
private static final byte[] CERT_ICC_FILE_IDIdentificador del fichero del certificado de componente del DNIe. -
MASTER_FILE_NAME
Nombre del Master File del DNIe.- See Also:
-
CERT_ALIAS_AUTH
Alias del certificado de autenticación del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).- See Also:
-
CERT_ALIAS_SIGN
Alias del certificado de firma del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).- See Also:
-
CERT_ALIAS_SIGNALIAS
Alias del certificado de firma (siempre el mismo en el DNIe y tarjetas derivadas).- See Also:
-
CERT_ALIAS_CYPHER
Alias del certificado de cifrado (siempre el mismo en las tarjetas derivadas del DNIe que soportan cifrado).- See Also:
-
CERT_ALIAS_INTERMEDIATE_CA
Alias del certificado de CA intermedia (siempre el mismo en el DNIe).- See Also:
-
AUTH_KEY_LABEL
- See Also:
-
SIGN_KEY_LABEL
- See Also:
-
CYPH_KEY_LABEL
- See Also:
-
CDF_LOCATION
Localización del CDF PKCS#15. -
PRKDF_LOCATION
Localización del PrKDF PKCS#15. -
IDESP_LOCATION
Localización del EF IDESP. -
certAuth
Certificado de autenticación. -
certSign
Certificado de firma. -
certCyph
Certificado de cifrado. -
certSignAlias
Certificado de firma con seudónimo. -
certIcc
Certificado de componente (ICC). -
intermediateCaCert
Certificado de CA intermedia. -
certPathAuth
Localización del certificado de autenticación. -
certPathSign
Localización del certificado de firma. Es opcional, ya que no está presente en los DNI de menores de edad no emancipados. -
certPathCyph
Localización del certificado de cifrado. Es opcional, ya que solo está presente en las TIF, no en los DNIe normales. -
certPathSignAlias
Localización del certificado de firma con seudónimo. Es opcional, ya que solo está presente en las TIF, no en los DNIe normales. -
authKeyRef
Referencia a la clave privada de autenticación. -
signKeyRef
Referencia a la clave privada de firma. -
cyphKeyRef
Referencia a la clave privada de cifrado. Es opcional, ya que solo está presente en las TIF, no en los DNIe normales. -
signAliasKeyRef
Referencia a la clave privada de firma con seudónimo. Es opcional, ya que solo está presente en las TIF, no en los DNIe normales. -
rawConnection
Conexión inicial con la tarjeta, sin ningún canal seguro. -
cryptoHelper
Manejador de funciones criptográficas. -
passwordCallback
-
-
Constructor Details
-
Dnie
protected Dnie(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch) throws ApduConnectionException Construye una clase que representa un DNIe.- Parameters:
conn
- Conexión con la tarjeta.pwc
- PasswordCallback para obtener el PIN del DNIe.cryptoHlpr
- Funcionalidades criptográficas de utilidad que pueden variar entre máquinas virtuales.ch
- Gestor de callbacks para la solicitud de datos al usuario.- Throws:
ApduConnectionException
- Si la conexión con la tarjeta se proporciona cerrada y no es posible abrirla.
-
Dnie
protected Dnie(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch, boolean loadCertsAndKeys) throws ApduConnectionException Construye una clase que representa un DNIe.- Parameters:
conn
- Conexión con la tarjeta.pwc
- PasswordCallback para obtener el PIN del DNIe.cryptoHlpr
- Funcionalidades criptográficas de utilidad que pueden variar entre máquinas virtuales.ch
- Gestor de callbacks para la solicitud de datos al usuario.loadCertsAndKeys
- Si se indicatrue
, se cargan las referencias a las claves privadas y a los certificados, mientras que si se indicafalse
, no se cargan, permitiendo la instanciación de un DNIe sin capacidades de firma o autenticación con certificados.- Throws:
ApduConnectionException
- Si la conexión con la tarjeta se proporciona cerrada y no es posible abrirla.
-
-
Method Details
-
getCryptoHelper
Obtiene la clase con funcionalidades de base de criptografía.- Returns:
- Clase con funcionalidades de base de criptografía.
-
getPasswordCallback
Obtiene laPasswordCallback
.- Returns:
PasswordCallback
.
-
getCwa14890PublicConstants
Obtiene las constantes públicas CWA-14890 para el cifrado de canal.- Returns:
- Constantes públicas CWA-14890 para el cifrado de canal.
-
getCwa14890PrivateConstants
Obtiene las constantes privadas CWA-14890 para el cifrado de canal.- Returns:
- Constantes privadas CWA-14890 para el cifrado de canal.
-
toString
-
connect
Conecta con el lector del sistema que tenga un DNIe insertado.- Parameters:
conn
- Conexión hacia el DNIe.- Throws:
ApduConnectionException
- Si hay problemas de conexión con la tarjeta.
-
loadKeyReferences
protected void loadKeyReferences()Carga la información pública con la referencia a las claves de firma. -
getSerialNumber
Recupera el número de serie de un DNIe.- Specified by:
getSerialNumber
in interfaceCwa14890Card
- Returns:
- Un array de octetos que contiene el número de serie del DNIe.
- Throws:
ApduConnectionException
- Si la conexión con la tarjeta se proporciona cerrada y no es posible abrirla.
-
getCardName
Description copied from class:AbstractSmartCard
Obtiene el nombre de la tarjeta.- Specified by:
getCardName
in classAbstractSmartCard
- Returns:
- Nombre de la tarjeta
-
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
-
getCdf
Obtiene el CDF PKCS#15 del DNIe.- Returns:
- CDF PKCS#15 del DNIe.
- Throws:
ApduConnectionException
- Si no se puede conectar con el DNIe.
-
loadCertificatesPaths
Carga el certificado de la CA intermedia y las localizaciones de los certificados de firma y autenticación.- Throws:
ApduConnectionException
- Si hay problemas en la precarga.
-
getCertificate
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. - Throws:
CryptoCardException
- Si ocurre algún problema al recuperar el certificado.PinException
- Si el PIN proporcionado es incorrecto.
-
verifyIcc
public void verifyIcc()Description copied from interface:Cwa14890Card
Verifica el certificado de componente de la tarjeta.- Specified by:
verifyIcc
in interfaceCwa14890Card
-
getIccCertPublicKey
Description copied from interface:Cwa14890Card
Recupera la clave pública del certificado de componente.- Specified by:
getIccCertPublicKey
in interfaceCwa14890Card
- Returns:
- Clave pública del certificado de componente.
- Throws:
IOException
- Cuando ocurre algún problema en la selección y lectura del certificado
-
verifyIfdCertificateChain
public void verifyIfdCertificateChain(Cwa14890PublicConstants consts) throws ApduConnectionException Description copied from interface:Cwa14890Card
Verifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.- Specified by:
verifyIfdCertificateChain
in interfaceCwa14890Card
- Parameters:
consts
- Clase de claves.- Throws:
ApduConnectionException
-
getRefIccPrivateKey
Description copied from interface:Cwa14890Card
Recupera la referencia a la clave privada del certificado de componente.- Specified by:
getRefIccPrivateKey
in interfaceCwa14890Card
- Parameters:
consts
- Clase de claves.- Returns:
- Referencia a clave privada
-
getChrCCvIfd
Description copied from interface:Cwa14890Card
Recupera el CHR de la clave pública del certificado de terminal.- Specified by:
getChrCCvIfd
in interfaceCwa14890Card
- Parameters:
consts
- Clase de claves.- Returns:
- Referencia a clave pública
-
getIfdPrivateKey
Description copied from interface:Cwa14890Card
Recupera la clave privada del certificado de componente del terminal.- Specified by:
getIfdPrivateKey
in interfaceCwa14890Card
- Parameters:
consts
- Clase de claves privadas.- Returns:
- Clave privada.
-
setKeysToAuthentication
public void setKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey) throws ApduConnectionException Description copied from interface:Cwa14890Card
Establece una clave pública y otra privada para la autenticación. interna y externa de la tarjeta.- Specified by:
setKeysToAuthentication
in interfaceCwa14890Card
- Parameters:
refPublicKey
- Referencia a la clave pública.refPrivateKey
- Referencia a la clave privada.- Throws:
ApduConnectionException
-
getInternalAuthenticateMessage
public byte[] getInternalAuthenticateMessage(byte[] randomIfd, byte[] chrCCvIfd) throws ApduConnectionException Description copied from interface:Cwa14890Card
Obtiene el mensaje de autenticación interna de la tarjeta.- Specified by:
getInternalAuthenticateMessage
in interfaceCwa14890Card
- Parameters:
randomIfd
- Bytes aleatorios generados.chrCCvIfd
- CHR de la clave pública del certificado de terminal.- Returns:
- Mensaje cifrado con la clave privada de componente de la tarjeta.
- Throws:
ApduConnectionException
- Cuando ocurre un error de comunicación con la tarjeta.
-
externalAuthentication
Description copied from interface:Cwa14890Card
Envia el mensaje de autenticación externa.- Specified by:
externalAuthentication
in interfaceCwa14890Card
- Parameters:
extAuthenticationData
- Mensaje de autenticación externa.- Returns:
true
si la autenticación finalizó correctamente,false
en caso contrario.- Throws:
ApduConnectionException
- Cuando ocurre un error en la comunicación con la tarjeta.
-
getPrivateKey
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
-
sign
public byte[] sign(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) throws CryptoCardException, PinException Description copied from interface:CryptoCard
Realiza una firma electrónica.- Specified by:
sign
in interfaceCryptoCard
- Parameters:
data
- Datos a firmar.signAlgorithm
- Algoritmo de firma.privateKeyReference
- Referencia a la clave privada de firma.- Returns:
- Datos firmados (PKCS#1 v1.5).
- Throws:
CryptoCardException
- Si ocurre algún problema durante la firma.PinException
- Si el PIN proporcionado es incorrecto o no es posible obtenerlo.
-
signInternal
protected byte[] signInternal(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) throws CryptoCardException, PinException Ejecuta la operación interna de firma del DNIe.- Parameters:
data
- Datos a firmar.signAlgorithm
- Algoritmo de firma.privateKeyReference
- Referencia a la clave privada de firma.- Returns:
- Datos firmados.
- Throws:
CryptoCardException
- Si hay problemas durante el proceso.PinException
- Si no se ha podido realizar la firma por un problema con el PIN (no estar hecha la autenticación de PIN).
-
needAuthorizationToSign
protected boolean needAuthorizationToSign()Indica si la tarjeta requiere autorización del usuario para ejecutar una operación de firma.- Returns:
true
si la tarjeta requiere autorización del usuario para ejecutar una operación de firma,false
en caso contrario.
-
cipherData
public byte[] cipherData(byte[] data, PrivateKeyReference privateKeyReference) throws CryptoCardException, PinException, LostChannelException Realiza un cifrado RSA directo con una clave privada.- Parameters:
data
- Datos a cifrar.privateKeyReference
- Referencia a la clave privada RSA a usar.- Returns:
- Datos cifrados.
- Throws:
CryptoCardException
- Si hay errores en el proceso en la tarjeta o en la comunicación con ella.PinException
- Si el PIN introducido no es correcto.LostChannelException
- Si se pierde el canal de cifrado.
-
signOperation
protected byte[] signOperation(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) throws CryptoCardException, PinException Realiza la operación de firma.- Parameters:
data
- Datos que se desean firmar.signAlgorithm
- Algoritmo de firma (por ejemplo,SHA512withRSA
,SHA1withRSA
, etc.).privateKeyReference
- Referencia a la clave privada para la firma.- Returns:
- Firma de los datos.
- Throws:
CryptoCardException
- Cuando se produce un error durante la operación de firma.PinException
- Si el PIN proporcionado en la PasswordCallback es incorrecto y no estaba habilitado el reintento automático.AuthenticationModeLockedException
- Cuando el DNIe está bloqueado.
-
openSecureChannelIfNotAlreadyOpened
Establece y abre el canal seguro CWA-14890 si no lo estaba ya.- Throws:
CryptoCardException
- Si hay problemas en el proceso.PinException
- Si el PIN usado para la apertura de canal no es válido o no se ha proporcionado un PIN para validar.
-
openSecureChannelIfNotAlreadyOpened
public void openSecureChannelIfNotAlreadyOpened(boolean doChv) throws CryptoCardException, PinException Establece y abre el canal seguro CWA-14890 si no lo estaba ya.- Parameters:
doChv
-true
si la apertura de canal seguro debe incluir la verificación de PIN,false
si debe abrirse canal seguro sin verificar PIN.- Throws:
CryptoCardException
- Si hay problemas en el proceso.PinException
- Si el PIN usado para la apertura de canal no es válido o no se ha proporcionado un PIN para validar (en el caso de que se opte por verificar el PIN).
-
getPinRetriesLeft
Devuelve los intentos restantes de comprobación de PIN del DNIe.- Returns:
- Intentos restantes de comprobación de PIN del DNIe.
- Throws:
PinException
- Si hay cualquier problema durante el proceso.
-
getInternalPasswordCallback
protected PasswordCallback getInternalPasswordCallback() throws PinException, PasswordCallbackNotFoundExceptionObtiene laPasswordCallback
predefinida.- Returns:
PasswordCallback
predefinida.- Throws:
PinException
- Si no se puede obtener el PIN delCallbackHandler
.PasswordCallbackNotFoundException
- Si no hay unaPasswordCallback
definida.
-
getInternalPasswordCallback
protected PasswordCallback getInternalPasswordCallback(boolean reset) throws PinException, PasswordCallbackNotFoundException Obtiene laPasswordCallback
predefinida.- Parameters:
reset
- Si hay que eliinar cualquier PIN previemante introducido en laPasswordCallback
.- Returns:
PasswordCallback
predefinida.- Throws:
PinException
- Si no se puede obtener el PIN delCallbackHandler
.PasswordCallbackNotFoundException
- Si no hay unaPasswordCallback
definida.
-
getPinMessage
Devuelve el texto del diálogo de inserción de PIN.- Parameters:
retriesLeft
- Intentos restantes antes de bloquear la tarjeta.- Returns:
- Mensaje que mostrar en el cuerpo del diálogo de inserción de PIN.
-
loadCertificate
private X509Certificate loadCertificate(Location location) throws IOException, Iso7816FourCardException, CertificateException -
loadCertificates
Carga los certificados del DNIe. Necesita que estén previamente cargadas las rutas hacia los certificados.- Throws:
CryptoCardException
- En cualquier error durante la carga.
-
selectMasterFile
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.Iso7816FourCardException
- Si no se puede seleccionar el fichero maestro por cualquier otra causa.
-
isSecurityChannelOpen
protected boolean isSecurityChannelOpen()Indica si el canal CWA-14890 está o no abierto.- Returns:
true
si el canal CWA-14890 está abierto,false
en caso contrario.
-
verifyPin
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:
psc
- PIN de la tarjeta.- Throws:
ApduConnectionException
- Cuando ocurre un error en la comunicación con la tarjeta.PinException
- Si el PIN proporcionado en la PasswordCallback es incorrecto y no estaba habilitado el reintento automático
-
getIfdKeyLength
Description copied from interface:Cwa14890Card
Obtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.- Specified by:
getIfdKeyLength
in interfaceCwa14890Card
- Parameters:
consts
- Clase de claves.- Returns:
- Longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.
-
changePIN
Realiza la operación de cambio de PIN. Necesita tener un canal administrativo abierto.- Parameters:
oldPin
- PIN actual.newPin
- PIN nuevo.- Returns:
- APDU de respuesta de la operación.
- Throws:
CryptoCardException
- Cuando se produce un error en el cambio de PIN.PinException
- Si el PIN actual es incorrecto.AuthenticationModeLockedException
- Cuando el DNIe está bloqueado.
-
setCallbackHandler
Asigna unCallbackHandler
a la tarjeta.- Parameters:
handler
-CallbackHandler
a asignar.
-
setPasswordCallback
Asigna unPasswordCallback
a la tarjeta.- Parameters:
pwc
-PasswordCallback
a asignar.
-
getIdesp
Obtiene el número de soporte (IDESP) del DNIe.- Returns:
- Obtiene el número de soporte (IDESP) del DNIe.
- Throws:
Iso7816FourCardException
- Si hay problemas enviando la APDU.FileNotFoundException
- Si no se encuentra el fichero que contiene el IDESP.IOException
- Si no se puede conectar con la tarjeta.
-
needsPinForLoadingCerts
protected boolean needsPinForLoadingCerts()Indica si este DNIe necesita validar el PIN para tener acceso a los certificados.- Returns:
true
si este DNIe necesita validar el PIN para tener acceso a los certificadosfalse
en caso contrario.
-
loadCertificatesIfNotAlreadyLoaded
private void loadCertificatesIfNotAlreadyLoaded() throws ApduConnectionException, CryptoCardException, PinExceptionCarga los certificados del DNIe si no lo estaban ya.- Throws:
PinException
- Si se necesita el PIN para cargar certificados y no se ha podido comprobar el PIN.ApduConnectionException
CryptoCardException
-