Class Dnie
- All Implemented Interfaces:
Card, CryptoCard, Cwa14890Card, Dni
DNI Electrónico.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String[]private static final Stringprivate DniePrivateKeyReferenceReferencia a la clave privada de autenticación.private CallbackHandlerprotected static final LocationLocalización del CDF PKCS#15.static final StringAlias del certificado de autenticación del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).protected static final StringAlias del certificado de cifrado (siempre el mismo en las tarjetas derivadas del DNIe que soportan cifrado).static final StringAlias del certificado de CA intermedia (siempre el mismo en el DNIe).static final StringAlias del certificado de firma del DNIe (siempre el mismo en el DNIe y tarjetas derivadas).protected static final StringAlias 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 X509CertificateCertificado de autenticación.protected X509CertificateCertificado de cifrado.protected X509CertificateCertificado de componente (ICC).private LocationLocalización del certificado de autenticación.private LocationLocalización del certificado de cifrado.private LocationLocalización del certificado de firma.private LocationLocalización del certificado de firma con seudónimo.protected X509CertificateCertificado de firma.protected X509CertificateCertificado de firma con seudónimo.protected final CryptoHelperManejador de funciones criptográficas.private static final Stringprivate DniePrivateKeyReferenceReferencia a la clave privada de cifrado.private static final intprivate static final byteOcteto que identifica una verificación fallida del PIN.protected static final LocationLocalización del EF IDESP.protected X509CertificateCertificado de CA intermedia.protected static final LoggerRegistro.private static final StringNombre del Master File del DNIe.private PasswordCallbackprotected static final LocationLocalización del PrKDF PKCS#15.protected ApduConnectionConexión inicial con la tarjeta, sin ningún canal seguro.private static final Stringprivate DniePrivateKeyReferenceReferencia a la clave privada de firma con seudónimo.private DniePrivateKeyReferenceReferencia a la clave privada de firma.Fields inherited from class AbstractSmartCard
DEBUG -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedDnie(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch) Construye una clase que representa un DNIe.protectedDnie(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 voidconnect(ApduConnection conn) Conecta con el lector del sistema que tenga un DNIe insertado.booleanexternalAuthentication(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 CryptoHelperObtiene la clase con funcionalidades de base de criptografía.protected Cwa14890PrivateConstantsObtiene las constantes privadas CWA-14890 para el cifrado de canal.protected Cwa14890PublicConstantsObtiene 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.intObtiene 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 PasswordCallbackObtiene laPasswordCallbackpredefinida.protected PasswordCallbackgetInternalPasswordCallback(boolean reset) Obtiene laPasswordCallbackpredefinida.protected PasswordCallbackObtiene laPasswordCallback.protected StringgetPinMessage(int retriesLeft) Devuelve el texto del diálogo de inserción de PIN.intDevuelve 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 booleanIndica si el canal CWA-14890 está o no abierto.private X509CertificateloadCertificate(Location location) protected voidCarga los certificados del DNIe.private voidCarga los certificados del DNIe si no lo estaban ya.protected voidCarga el certificado de la CA intermedia y las localizaciones de los certificados de firma y autenticación.protected voidCarga la información pública con la referencia a las claves de firma.protected booleanIndica si la tarjeta requiere autorización del usuario para ejecutar una operación de firma.protected booleanIndica si este DNIe necesita validar el PIN para tener acceso a los certificados.voidEstablece y abre el canal seguro CWA-14890 si no lo estaba ya.voidopenSecureChannelIfNotAlreadyOpened(boolean doChv) Establece y abre el canal seguro CWA-14890 si no lo estaba ya.protected final voidSelecciona el fichero maestro (directorio raíz de la tarjeta).voidsetCallbackHandler(CallbackHandler handler) Asigna unCallbackHandlera la tarjeta.voidsetKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey) Establece una clave pública y otra privada para la autenticación.voidAsigna unPasswordCallbacka 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()voidVerifica el certificado de componente de la tarjeta.voidVerifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.voidVerifica el PIN de la tarjeta.Methods inherited from class AbstractIso7816EightCard
verifyCertificateMethods inherited from class AbstractIso7816FourCard
getChallenge, readAllRecords, readBinaryComplete, selectFileById, selectFileByIdAndRead, selectFileByLocation, selectFileByLocationAndRead, selectFileByName, selectFileByName, setPublicKeyToVerificationMethods inherited from class AbstractSmartCard
getCla, getConnection, sendArbitraryApdu, setConnectionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface 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
-
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:
getSerialNumberin 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:AbstractSmartCardObtiene el nombre de la tarjeta.- Specified by:
getCardNamein classAbstractSmartCard- Returns:
- Nombre de la tarjeta
-
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
-
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: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. - 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:Cwa14890CardVerifica el certificado de componente de la tarjeta.- Specified by:
verifyIccin interfaceCwa14890Card
-
getIccCertPublicKey
Description copied from interface:Cwa14890CardRecupera la clave pública del certificado de componente.- Specified by:
getIccCertPublicKeyin 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:Cwa14890CardVerifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.- Specified by:
verifyIfdCertificateChainin interfaceCwa14890Card- Parameters:
consts- Clase de claves.- Throws:
ApduConnectionException
-
getRefIccPrivateKey
Description copied from interface:Cwa14890CardRecupera la referencia a la clave privada del certificado de componente.- Specified by:
getRefIccPrivateKeyin interfaceCwa14890Card- Parameters:
consts- Clase de claves.- Returns:
- Referencia a clave privada
-
getChrCCvIfd
Description copied from interface:Cwa14890CardRecupera el CHR de la clave pública del certificado de terminal.- Specified by:
getChrCCvIfdin interfaceCwa14890Card- Parameters:
consts- Clase de claves.- Returns:
- Referencia a clave pública
-
getIfdPrivateKey
Description copied from interface:Cwa14890CardRecupera la clave privada del certificado de componente del terminal.- Specified by:
getIfdPrivateKeyin interfaceCwa14890Card- Parameters:
consts- Clase de claves privadas.- Returns:
- Clave privada.
-
setKeysToAuthentication
public void setKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey) throws ApduConnectionException Description copied from interface:Cwa14890CardEstablece una clave pública y otra privada para la autenticación. interna y externa de la tarjeta.- Specified by:
setKeysToAuthenticationin 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:Cwa14890CardObtiene el mensaje de autenticación interna de la tarjeta.- Specified by:
getInternalAuthenticateMessagein 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:Cwa14890CardEnvia el mensaje de autenticación externa.- Specified by:
externalAuthenticationin interfaceCwa14890Card- Parameters:
extAuthenticationData- Mensaje de autenticación externa.- Returns:
truesi la autenticación finalizó correctamente,falseen caso contrario.- Throws:
ApduConnectionException- Cuando ocurre un error en la comunicación con la tarjeta.
-
getPrivateKey
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
-
sign
public byte[] sign(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) throws CryptoCardException, PinException Description copied from interface:CryptoCardRealiza una firma electrónica.- Specified by:
signin 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:
truesi la tarjeta requiere autorización del usuario para ejecutar una operación de firma,falseen 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-truesi la apertura de canal seguro debe incluir la verificación de PIN,falsesi 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 laPasswordCallbackpredefinida.- Returns:
PasswordCallbackpredefinida.- Throws:
PinException- Si no se puede obtener el PIN delCallbackHandler.PasswordCallbackNotFoundException- Si no hay unaPasswordCallbackdefinida.
-
getInternalPasswordCallback
protected PasswordCallback getInternalPasswordCallback(boolean reset) throws PinException, PasswordCallbackNotFoundException Obtiene laPasswordCallbackpredefinida.- Parameters:
reset- Si hay que eliinar cualquier PIN previemante introducido en laPasswordCallback.- Returns:
PasswordCallbackpredefinida.- Throws:
PinException- Si no se puede obtener el PIN delCallbackHandler.PasswordCallbackNotFoundException- Si no hay unaPasswordCallbackdefinida.
-
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: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.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:
truesi el canal CWA-14890 está abierto,falseen caso contrario.
-
verifyPin
Description 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:
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:Cwa14890CardObtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.- Specified by:
getIfdKeyLengthin 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 unCallbackHandlera la tarjeta.- Parameters:
handler-CallbackHandlera asignar.
-
setPasswordCallback
Asigna unPasswordCallbacka la tarjeta.- Parameters:
pwc-PasswordCallbacka 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:
truesi este DNIe necesita validar el PIN para tener acceso a los certificadosfalseen 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.ApduConnectionExceptionCryptoCardException
-