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
public final class IcaoMrtdWithPace extends DnieNfc
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
Constructors Constructor Description IcaoMrtdWithPace(ApduConnection conn, CryptoHelper cryptoHlpr, javax.security.auth.callback.CallbackHandler ch)Construye una clase que representa un MRTD accedido de forma inalámbrica mediante PACE.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringgetCardName()Obtiene el nombre de la tarjeta.byte[]getCardSecurity()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).voidopenSecureChannelIfNotAlreadyOpened()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.voidopenSecureChannelIfNotAlreadyOpened(boolean doChv)Establece y abre el canal seguro CWA-14890 si no lo estaba ya.byte[]sign(byte[] data, java.lang.String signAlgorithm, PrivateKeyReference privateKeyRef)Realiza una firma electrónica.java.lang.StringtoString()-
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 Detail
-
IcaoMrtdWithPace
public IcaoMrtdWithPace(ApduConnection conn, CryptoHelper cryptoHlpr, javax.security.auth.callback.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-CallbackHandlerque debe proporcionar, mediante unes.gob.jmulticard.callback.CustomTextInputCallbacko 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 Detail
-
getCardName
public java.lang.String getCardName()
Description copied from class:AbstractSmartCardObtiene el nombre de la tarjeta.- Overrides:
getCardNamein classDnieNfc- Returns:
- Nombre de la tarjeta
-
openSecureChannelIfNotAlreadyOpened
public void 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 classDnieNfc
-
openSecureChannelIfNotAlreadyOpened
public void openSecureChannelIfNotAlreadyOpened(boolean doChv)
Description copied from class:DnieEstablece y abre el canal seguro CWA-14890 si no lo estaba ya.- Overrides:
openSecureChannelIfNotAlreadyOpenedin classDnie3- Parameters:
doChv-truesi la apertura de canal seguro debe incluir la verificación de PIN,falsesi debe abrirse canal seguro sin verificar PIN.
-
sign
public byte[] sign(byte[] data, java.lang.String signAlgorithm, PrivateKeyReference privateKeyRef)Description copied from interface:CryptoCardRealiza una firma electrónica.- Specified by:
signin interfaceCryptoCard- Overrides:
signin 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).
-
getCardSecurity
public byte[] getCardSecurity() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el CardSecurity.- Specified by:
getCardSecurityin interfaceMrtdLds1- Overrides:
getCardSecurityin classDnie3- Returns:
- CardSecurity.
- Throws:
java.io.IOException- Si no se puede leer el fichero.
-
getDg3
public byte[] getDg3() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene 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.
-
getDg4
public byte[] getDg4() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene 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.
-
getDg5
public byte[] getDg5() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG5 (retrato exhibido). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
getDg6
public byte[] getDg6() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG6 (reservado para uso futuro). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
getDg8
public byte[] getDg8() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG8 (elemento datos). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
getDg9
public byte[] getDg9() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG9 (elemento estructura). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
getDg10
public byte[] getDg10() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG10 (elemento sustancia). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
getDg15
public byte[] getDg15() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene 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.
-
getDg16
public byte[] getDg16() throws java.io.IOExceptionDescription copied from interface:MrtdLds1Obtiene el DG16 (personas que han de notificarse). Devuelve el objeto binario sin tratar. Puede necesitar que el canal de usuario esté previamente establecido.
-
-