Class StCard
- java.lang.Object
-
- es.gob.jmulticard.card.AbstractSmartCard
-
- es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
-
- es.gob.jmulticard.card.bit4id.stcm.StCard
-
- All Implemented Interfaces:
Card
,CryptoCard
public final class StCard extends AbstractIso7816FourCard implements CryptoCard
-
-
Field Summary
Fields Modifier and Type Field Description private static byte
CLA
private static byte
ERROR_PIN_SW1
Octeto que identifica una verificación fallida del PIN-
Fields inherited from class es.gob.jmulticard.card.AbstractSmartCard
DEBUG
-
-
Constructor Summary
Constructors Constructor Description StCard(ApduConnection conn)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static void
connect(ApduConnection conn)
Conecta con el lector del sistema que tenga una CardOS insertada.java.lang.String[]
getAliases()
Obtiene los alias de los certificados de la tarjeta.java.lang.String
getCardName()
Obtiene el nombre de la tarjeta.java.security.cert.X509Certificate
getCertificate(java.lang.String alias)
Obtiene el certificado correspondiente al alias proporcionado.PrivateKeyReference
getPrivateKey(java.lang.String alias)
Obtiene una referencia a la clave privada correspondiente al alias proporcionado.protected void
selectMasterFile()
Selecciona el fichero maestro (directorio raíz de la tarjeta).byte[]
sign(byte[] data, java.lang.String algorithm, PrivateKeyReference keyRef)
Realiza una firma electrónica.void
verifyPin(javax.security.auth.callback.PasswordCallback pinPc)
Verifica el PIN de la tarjeta.-
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
-
-
-
-
Field Detail
-
CLA
private static final byte CLA
- See Also:
- Constant Field Values
-
ERROR_PIN_SW1
private static final byte ERROR_PIN_SW1
Octeto que identifica una verificación fallida del PIN- See Also:
- Constant Field Values
-
-
Constructor Detail
-
StCard
public StCard(ApduConnection conn) throws Iso7816FourCardException, java.io.IOException
- Parameters:
conn
- Conexión hacia la tarjeta.- Throws:
java.io.IOException
- Si hay errores en el diálogo ISO 7816-4.Iso7816FourCardException
- Cuando hay errores de entrada / salida.
-
-
Method Detail
-
connect
private static void connect(ApduConnection conn) throws java.io.IOException
Conecta con el lector del sistema que tenga una CardOS insertada.- Parameters:
conn
- Conexión hacia la tarjeta.- Throws:
java.io.IOException
- Cuando hay errores de entrada / salida.
-
getAliases
public java.lang.String[] getAliases()
Description copied from interface:CryptoCard
Obtiene los alias de los certificados de la tarjeta.- Specified by:
getAliases
in interfaceCryptoCard
- Returns:
- Array con los alias de los certificados de la tarjeta
-
getCertificate
public java.security.cert.X509Certificate getCertificate(java.lang.String alias)
Description copied from interface:CryptoCard
Obtiene el certificado correspondiente al alias proporcionado.- Specified by:
getCertificate
in interfaceCryptoCard
- Parameters:
alias
- Alias del certificado.- Returns:
- Certificado correspondiente al alias proporcionado o
null
si no existe ningún certificado con ese alias.
-
getPrivateKey
public PrivateKeyReference getPrivateKey(java.lang.String alias)
Description copied from interface:CryptoCard
Obtiene una referencia a la clave privada correspondiente al alias proporcionado.- Specified by:
getPrivateKey
in interfaceCryptoCard
- Parameters:
alias
- Alias del certificado- Returns:
- Referencia a la clave privada correspondiente al alias proporcionado o
null
si no existe ninguna clave privada con ese alias
-
sign
public byte[] sign(byte[] data, java.lang.String algorithm, PrivateKeyReference keyRef)
Description copied from interface:CryptoCard
Realiza una firma electrónica.- Specified by:
sign
in interfaceCryptoCard
- Parameters:
data
- Datos a firmar.algorithm
- Algoritmo de firma.keyRef
- Referencia a la clave privada de firma.- Returns:
- Datos firmados (PKCS#1 v1.5).
-
selectMasterFile
protected void selectMasterFile()
Description copied from class:AbstractIso7816FourCard
Selecciona el fichero maestro (directorio raíz de la tarjeta).- Specified by:
selectMasterFile
in classAbstractIso7816FourCard
-
verifyPin
public void verifyPin(javax.security.auth.callback.PasswordCallback pinPc) throws ApduConnectionException, PinException
Description copied from class:AbstractIso7816FourCard
Verifica 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 deRuntimeException
o unaApduConnectionException
.- Specified by:
verifyPin
in classAbstractIso7816FourCard
- Parameters:
pinPc
- 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
-
getCardName
public java.lang.String getCardName()
Description copied from class:AbstractSmartCard
Obtiene el nombre de la tarjeta.- Specified by:
getCardName
in classAbstractSmartCard
- Returns:
- Nombre de la tarjeta
-
-