Class DnieNfc
- All Implemented Interfaces:
Card, CryptoCard, Cwa14890Card, Dni, MrtdLds1
- Direct Known Subclasses:
IcaoMrtdWithPace
DNIe 3 accedido mediante PACE por NFC.
- Author:
- Sergio Martínez Rico, Tomás García-Merás, Ignacio Marín.
-
Field Summary
Fields inherited from class Dnie
CDF_LOCATION, CERT_ALIAS_AUTH, CERT_ALIAS_CYPHER, CERT_ALIAS_INTERMEDIATE_CA, CERT_ALIAS_SIGN, CERT_ALIAS_SIGNALIAS, certAuth, certCyph, certIcc, certSign, certSignAlias, cryptoHelper, IDESP_LOCATION, intermediateCaCert, LOGGER, PRKDF_LOCATION, rawConnectionFields inherited from class AbstractSmartCard
DEBUGFields inherited from interface MrtdLds1
FILE_ATR_INFO_LOCATION, FILE_CARD_ACCESS_LOCATION, FILE_CARD_SECURITY_LOCATION, FILE_COM_LOCATION, FILE_DG01_LOCATION, FILE_DG02_LOCATION, FILE_DG03_LOCATION, FILE_DG04_LOCATION, FILE_DG05_LOCATION, FILE_DG06_LOCATION, FILE_DG07_LOCATION, FILE_DG08_LOCATION, FILE_DG09_LOCATION, FILE_DG10_LOCATION, FILE_DG11_LOCATION, FILE_DG12_LOCATION, FILE_DG13_LOCATION, FILE_DG14_LOCATION, FILE_DG15_LOCATION, FILE_DG16_LOCATION, FILE_SOD_LOCATION -
Constructor Summary
ConstructorsModifierConstructorDescriptionDnieNfc(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch) Crea un DNIe 3 o 4 accedido mediante PACE por NFC.protectedDnieNfc(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch, boolean loadCertsAndKeys) Construte un DNIe 3 accedido mediante PACE por NFC. -
Method Summary
Modifier and TypeMethodDescriptionObtiene el nombre de la tarjeta.voidSi no se había hecho anteriormente, establece y abre el canal seguro de PIN CWA-14890, solicita y comprueba el PIN e inmediatamente después y, si la verificación es correcta, establece el canal de usuario CWA-14890.byte[]sign(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyReference) Realiza una firma electrónica.Methods inherited from class Dnie3
checkSecurityObjects, getAtrInfo, getCardAccess, getCardSecurity, getCom, getDg1, getDg10, getDg11, getDg12, getDg13, getDg14, getDg15, getDg16, getDg2, getDg3, getDg4, getDg5, getDg6, getDg7, getDg8, getDg9, getSod, needsPinForLoadingCerts, openSecureChannelIfNotAlreadyOpened, openUserChannel, signInternalMethods inherited from class Dnie
changePIN, cipherData, connect, externalAuthentication, getAliases, getCdf, getCertificate, getChrCCvIfd, getCryptoHelper, getCwa14890PrivateConstants, getCwa14890PublicConstants, getIccCertPublicKey, getIdesp, getIfdKeyLength, getIfdPrivateKey, getInternalAuthenticateMessage, getInternalPasswordCallback, getInternalPasswordCallback, getPasswordCallback, getPinMessage, getPinRetriesLeft, getPrivateKey, getRefIccPrivateKey, getSerialNumber, isSecurityChannelOpen, loadCertificates, loadCertificatesPaths, loadKeyReferences, needAuthorizationToSign, selectMasterFile, setCallbackHandler, setKeysToAuthentication, setPasswordCallback, signOperation, toString, verifyIcc, verifyIfdCertificateChain, verifyPinMethods 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
-
Constructor Details
-
DnieNfc
public DnieNfc(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch) throws IcaoException, ApduConnectionException Crea un DNIe 3 o 4 accedido mediante PACE por NFC.- Parameters:
conn- Conexión (debe ser NFC).pwc- PasswordCallback.cryptoHlpr- Utilidad de funciones criptográficas.ch- CallbackHandler.- Throws:
IcaoException- Si hay erorres relacionados con ICAO 9303.ApduConnectionException- Si hay errores en la transmisión de APDU.
-
DnieNfc
protected DnieNfc(ApduConnection conn, PasswordCallback pwc, CryptoHelper cryptoHlpr, CallbackHandler ch, boolean loadCertsAndKeys) throws IcaoException, ApduConnectionException Construte un DNIe 3 accedido mediante PACE por NFC.- Parameters:
conn- Conexión NFC.pwc-PasswordCallbackpara obtener el PIN.cryptoHlpr- Clase de utiildades criptográficas.ch-CallbackHandlerpara obtener el PIN y el CAN o la MRZ.loadCertsAndKeys-truesi se ha de hacer una carga de claves y certificados en el momento de la construcción.- Throws:
IcaoException- Si no se puede establecer en canal PACE.ApduConnectionException- Si hay problemas en el envío de las APDU.
-
-
Method Details
-
getCardName
Description copied from class:AbstractSmartCardObtiene el nombre de la tarjeta.- Overrides:
getCardNamein classDnie3- Returns:
- Nombre de la tarjeta
-
openSecureChannelIfNotAlreadyOpened
Description copied from class:Dnie3Si no se había hecho anteriormente, establece y abre el canal seguro de PIN CWA-14890, solicita y comprueba el PIN e inmediatamente después y, si la verificación es correcta, establece el canal de usuario CWA-14890. Si falla algún punto del proceso, vuelve al modo inicial de conexión (sin canal seguro).- Overrides:
openSecureChannelIfNotAlreadyOpenedin classDnie3- Throws:
CryptoCardException- Si hay problemas en el proceso.PinException- Si el PIN usado para la apertura de canal no es válido.
-
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- Overrides:
signin classDnie- 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.
-