Class IcaoMrtdWithPace
java.lang.Object
es.gob.jmulticard.card.AbstractSmartCard
es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
es.gob.jmulticard.card.iso7816eight.AbstractIso7816EightCard
es.gob.jmulticard.card.dnie.Dnie
es.gob.jmulticard.card.dnie.Dnie3
es.gob.jmulticard.card.dnie.DnieNfc
es.gob.jmulticard.connection.pace.IcaoMrtdWithPace
- All Implemented Interfaces:
Card
,CryptoCard
,Cwa14890Card
,Dni
,MrtdLds1
Pasaporte accedido de forma inalámbrica mediante PACE.
-
Field Summary
Fields inherited from class es.gob.jmulticard.card.dnie.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, rawConnection
Fields inherited from class es.gob.jmulticard.card.AbstractSmartCard
DEBUG
Fields inherited from interface es.gob.jmulticard.card.icao.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
ConstructorsConstructorDescriptionIcaoMrtdWithPace
(ApduConnection conn, CryptoHelper cryptoHlpr, CallbackHandler ch) Construye una clase que representa un MRTD accedido de forma inalámbrica mediante PACE. -
Method Summary
Modifier and TypeMethodDescriptionObtiene el nombre de la tarjeta.byte[]
Obtiene el CardSecurity.byte[]
getDg10()
Obtiene el DG10 (elemento sustancia).byte[]
getDg15()
Obtiene el DG15 (información de clave pública de autenticación activa).byte[]
getDg16()
Obtiene el DG16 (personas que han de notificarse).byte[]
getDg3()
Obtiene el DG3 (elementos de identificación adicionales - Dedos).byte[]
getDg4()
Obtiene el DG4 (elementos de identificación adicionales - Iris).byte[]
getDg5()
Obtiene el DG5 (retrato exhibido).byte[]
getDg6()
Obtiene el DG6 (reservado para uso futuro).byte[]
getDg8()
Obtiene el DG8 (elemento datos).byte[]
getDg9()
Obtiene el DG9 (elemento estructura).void
Si 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.void
openSecureChannelIfNotAlreadyOpened
(boolean doChv) Establece y abre el canal seguro CWA-14890 si no lo estaba ya.byte[]
sign
(byte[] data, String signAlgorithm, PrivateKeyReference privateKeyRef) Realiza una firma electrónica.toString()
Methods inherited from class es.gob.jmulticard.card.dnie.Dnie3
checkSecurityObjects, getAtrInfo, getCardAccess, getCom, getDg1, getDg11, getDg12, getDg13, getDg14, getDg2, getDg7, getSod, needsPinForLoadingCerts, openUserChannel, signInternal
Methods inherited from class es.gob.jmulticard.card.dnie.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, verifyIcc, verifyIfdCertificateChain, verifyPin
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
-
Constructor Details
-
IcaoMrtdWithPace
public IcaoMrtdWithPace(ApduConnection conn, CryptoHelper cryptoHlpr, CallbackHandler ch) throws IcaoException, ApduConnectionException Construye una clase que representa un MRTD accedido de forma inalámbrica mediante PACE.- Parameters:
conn
- Conexión con el lector NFC.cryptoHlpr
- Clase de utilidad de funciones criptográficas.ch
-CallbackHandler
que debe proporcionar, mediante unes.gob.jmulticard.callback.CustomTextInputCallback
o unjavax.security.auth.callback.TextInputCallback
, el CAN o la MRZ del MRTD.- Throws:
IcaoException
- Si no se puede establecer el canal PACE.ApduConnectionException
- Si no se puede establecer la conexión NFC.
-
-
Method Details
-
getCardName
Description copied from class:AbstractSmartCard
Obtiene el nombre de la tarjeta.- Overrides:
getCardName
in classDnieNfc
- Returns:
- Nombre de la tarjeta
-
openSecureChannelIfNotAlreadyOpened
public void openSecureChannelIfNotAlreadyOpened()Description copied from class:Dnie3
Si 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:
openSecureChannelIfNotAlreadyOpened
in classDnieNfc
-
openSecureChannelIfNotAlreadyOpened
public void openSecureChannelIfNotAlreadyOpened(boolean doChv) Description copied from class:Dnie
Establece y abre el canal seguro CWA-14890 si no lo estaba ya.- Overrides:
openSecureChannelIfNotAlreadyOpened
in classDnie3
- 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.
-
sign
Description copied from interface:CryptoCard
Realiza una firma electrónica.- Specified by:
sign
in interfaceCryptoCard
- Overrides:
sign
in classDnieNfc
- Parameters:
data
- Datos a firmar.signAlgorithm
- Algoritmo de firma.privateKeyRef
- Referencia a la clave privada de firma.- Returns:
- Datos firmados (PKCS#1 v1.5).
-
toString
-
getCardSecurity
Description copied from interface:MrtdLds1
Obtiene el CardSecurity.- Specified by:
getCardSecurity
in interfaceMrtdLds1
- Overrides:
getCardSecurity
in classDnie3
- Returns:
- CardSecurity.
- Throws:
IOException
- Si no se puede leer el fichero.
-
getDg3
Description copied from interface:MrtdLds1
Obtiene el DG3 (elementos de identificación adicionales - Dedos). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de administración esté previamente establecido.- Specified by:
getDg3
in interfaceMrtdLds1
- Overrides:
getDg3
in classDnie3
- Returns:
- DG3 (elementos de identificación adicionales - Dedos).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg4
Description copied from interface:MrtdLds1
Obtiene el DG4 (elementos de identificación adicionales - Iris). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de administración esté previamente establecido.- Specified by:
getDg4
in interfaceMrtdLds1
- Overrides:
getDg4
in classDnie3
- Returns:
- DG4 (elementos de identificación adicionales - Iris).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg5
Description copied from interface:MrtdLds1
Obtiene el DG5 (retrato exhibido). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg5
in interfaceMrtdLds1
- Overrides:
getDg5
in classDnie3
- Returns:
- DG5 (retrato exhibido).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg6
Description copied from interface:MrtdLds1
Obtiene el DG6 (reservado para uso futuro). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg6
in interfaceMrtdLds1
- Overrides:
getDg6
in classDnie3
- Returns:
- DG6 (reservado para uso futuro).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg8
Description copied from interface:MrtdLds1
Obtiene el DG8 (elemento datos). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg8
in interfaceMrtdLds1
- Overrides:
getDg8
in classDnie3
- Returns:
- DG7 (elemento datos).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg9
Description copied from interface:MrtdLds1
Obtiene el DG9 (elemento estructura). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg9
in interfaceMrtdLds1
- Overrides:
getDg9
in classDnie3
- Returns:
- DG9 (elemento estructura).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg10
Description copied from interface:MrtdLds1
Obtiene el DG10 (elemento sustancia). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg10
in interfaceMrtdLds1
- Overrides:
getDg10
in classDnie3
- Returns:
- DG10 (elemento sustancia).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg15
Description copied from interface:MrtdLds1
Obtiene el DG15 (información de clave pública de autenticación activa). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg15
in interfaceMrtdLds1
- Overrides:
getDg15
in classDnie3
- Returns:
- DG15 (información de clave pública de autenticación activa).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-
getDg16
Description copied from interface:MrtdLds1
Obtiene el DG16 (personas que han de notificarse). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.- Specified by:
getDg16
in interfaceMrtdLds1
- Overrides:
getDg16
in classDnie3
- Returns:
- DG16 (personas que han de notificarse).
- Throws:
IOException
- Si hay problemas leyendo el fichero.
-