Package es.gob.jmulticard.card.cwa14890
Interface Cwa14890Card
-
- All Known Implementing Classes:
CeresSc,Dnie,Dnie3,DnieNfc,IcaoMrtdWithBac,IcaoMrtdWithPace,Tif
public interface Cwa14890CardTarjetas acordes a la especificación CWA-14890.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanexternalAuthentication(byte[] extAuthenticationData)Envia el mensaje de autenticación externa.byte[]getChallenge()Solicita un desafío de 8 bytes a la tarjeta.byte[]getChrCCvIfd(Cwa14890PublicConstants consts)Recupera el CHR de la clave pública del certificado de terminal.java.security.interfaces.RSAPublicKeygetIccCertPublicKey()Recupera la clave pública del certificado de componente.intgetIfdKeyLength(Cwa14890PublicConstants consts)Obtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.java.security.interfaces.RSAPrivateKeygetIfdPrivateKey(Cwa14890PrivateConstants consts)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.byte[]getRefIccPrivateKey(Cwa14890PublicConstants consts)Recupera la referencia a la clave privada del certificado de componente.byte[]getSerialNumber()Recupera el número de serie de la tarjeta.voidsetKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey)Establece una clave pública y otra privada para la autenticación.voidverifyIcc()Verifica el certificado de componente de la tarjeta.voidverifyIfdCertificateChain(Cwa14890PublicConstants consts)Verifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.
-
-
-
Method Detail
-
verifyIcc
void verifyIcc() throws java.security.cert.CertificateException, java.io.IOExceptionVerifica el certificado de componente de la tarjeta.- Throws:
java.security.cert.CertificateException- Cuando ocurre algún problema en la validación del certificado.java.io.IOException- Cuando ocurre algún problema en la selección y lectura del certificado.java.lang.SecurityException- Si falla la validación del certificado.
-
getIccCertPublicKey
java.security.interfaces.RSAPublicKey getIccCertPublicKey() throws java.io.IOExceptionRecupera la clave pública del certificado de componente.- Returns:
- Clave pública del certificado de componente.
- Throws:
java.io.IOException- Cuando ocurre algún problema en la selección y lectura del certificado
-
verifyIfdCertificateChain
void verifyIfdCertificateChain(Cwa14890PublicConstants consts) throws ApduConnectionException
Verifica que los certificados declarados por el controlador (certificados de terminal) sean válidos para el uso de la tarjeta.- Parameters:
consts- Clase de claves.- Throws:
ApduConnectionException- Cuando ocurre algín error en la comunicación con la tarjeta.es.gob.jmulticard.apdu.connection.cwa14890.SecureChannelException- Cuando ocurre algún error en la verificación de los certificados.
-
getInternalAuthenticateMessage
byte[] getInternalAuthenticateMessage(byte[] randomIfd, byte[] chrCCvIfd) throws ApduConnectionExceptionObtiene el mensaje de autenticación interna de la tarjeta.- 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
boolean externalAuthentication(byte[] extAuthenticationData) throws ApduConnectionExceptionEnvia el mensaje de autenticación externa.- 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.
-
setKeysToAuthentication
void setKeysToAuthentication(byte[] refPublicKey, byte[] refPrivateKey) throws ApduConnectionExceptionEstablece una clave pública y otra privada para la autenticación. interna y externa de la tarjeta.- Parameters:
refPublicKey- Referencia a la clave pública.refPrivateKey- Referencia a la clave privada.- Throws:
es.gob.jmulticard.apdu.connection.cwa14890.SecureChannelException- Cuando ocurre un error durante el proceso de autenticación.ApduConnectionException- Cuando ocurre un error de comunicación con la tarjeta.
-
getChallenge
byte[] getChallenge() throws ApduConnectionExceptionSolicita un desafío de 8 bytes a la tarjeta.- Returns:
- Array de 8 bytes aleatorios.
- Throws:
ApduConnectionException- Cuando ocurre un error de comunicación con la tarjeta
-
getSerialNumber
byte[] getSerialNumber() throws ApduConnectionExceptionRecupera el número de serie de la tarjeta.- Returns:
- Número de serie.
- Throws:
ApduConnectionException- Cuando ocurre un error en la comunicación con la tarjeta.
-
getRefIccPrivateKey
byte[] getRefIccPrivateKey(Cwa14890PublicConstants consts)
Recupera la referencia a la clave privada del certificado de componente.- Parameters:
consts- Clase de claves.- Returns:
- Referencia a clave privada
-
getChrCCvIfd
byte[] getChrCCvIfd(Cwa14890PublicConstants consts)
Recupera el CHR de la clave pública del certificado de terminal.- Parameters:
consts- Clase de claves.- Returns:
- Referencia a clave pública
-
getIfdPrivateKey
java.security.interfaces.RSAPrivateKey getIfdPrivateKey(Cwa14890PrivateConstants consts)
Recupera la clave privada del certificado de componente del terminal.- Parameters:
consts- Clase de claves privadas.- Returns:
- Clave privada.
-
getIfdKeyLength
int getIfdKeyLength(Cwa14890PublicConstants consts)
Obtiene la longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.- Parameters:
consts- Clase de claves.- Returns:
- Longitud, en octetos, de las claves RSA del certificado de comnponente del terminal.
-
-