Class SmartCafePkcs15Applet
java.lang.Object
es.gob.jmulticard.card.AbstractSmartCard
es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
es.gob.jmulticard.card.gide.smartcafe.SmartCafePkcs15Applet
- All Implemented Interfaces:
Card, CryptoCard
Tarjeta G&D SmartCafe con Applet PKCS#15.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final AtrATR de tarjeta G&D SmartCafe 3.2.private static final byte[]private static final byte[]private static final byte[]ATR de tarjeta G&D SmartCafe 3.2 con T=CL (vía inalámbrica).private static final AtrATR de tarjeta MicroSD G&D Mobile Security Card.private static final Atrprivate booleanprivate CallbackHandlerprivate static final Map<String, X509Certificate> private static final byteprivate final CryptoHelperManejador de funciones criptográficas.private static final byteOcteto que identifica una verificación fallida del PIN.private static final Loggerprivate static final byte[]private static final byte[]private PasswordCallbackprivate static final byte[]Fields inherited from class AbstractSmartCard
DEBUG -
Constructor Summary
ConstructorsConstructorDescriptionSmartCafePkcs15Applet(ApduConnection conn, CryptoHelper cryptoHlpr) Construye un objeto que representa una tarjeta G&D SmartCafe con el Applet PKCS#15 de AET.SmartCafePkcs15Applet(ApduConnection conn, CryptoHelper cryptoHlpr, boolean failIfNoCerts) Construye un objeto que representa una tarjeta G&D SmartCafe con el Applet PKCS#15 de AET. -
Method Summary
Modifier and TypeMethodDescriptionprivate static voidcheckAtr(byte[] atrBytes) static voidconnect(ApduConnection conn) Conecta con el lector del sistema que tenga una tarjeta insertada.String[]Obtiene los alias de los certificados de la tarjeta.Obtiene el nombre de la tarjeta.getCertificate(String alias) Obtiene el certificado correspondiente al alias proporcionado.private PasswordCallbackprivate static intprivate intgetPrivateKey(String alias) Obtiene una referencia a la clave privada correspondiente al alias proporcionado.private voidintselectFileById(byte[] id) Selecciona un fichero (DF o EF).protected voidSelecciona el fichero maestro (directorio raíz de la tarjeta).voidEstablece elCallbackHandler.voidEstablece elPasswordCallbackpara el PIN de la tarjeta.byte[]sign(byte[] data, String algorithm, PrivateKeyReference keyRef) Realiza una firma electrónica.private static voidstoreKeyOrdinal(int ordinal, BigInteger publicKeyModulus) toString()voidVerifica el PIN de la tarjeta.Methods inherited from class AbstractIso7816FourCard
getChallenge, readAllRecords, readBinaryComplete, selectFileByIdAndRead, selectFileByLocation, selectFileByLocationAndRead, selectFileByName, selectFileByName, setPublicKeyToVerificationMethods inherited from class AbstractSmartCard
getCla, getConnection, sendArbitraryApdu, setConnection
-
Field Details
-
ATR_MASK
private static final byte[] ATR_MASK -
ATR
ATR de tarjeta G&D SmartCafe 3.2. -
ATR_MASK_MSC
private static final byte[] ATR_MASK_MSC -
ATR_MSC
ATR de tarjeta MicroSD G&D Mobile Security Card. -
ATR_MASK_TCL
private static final byte[] ATR_MASK_TCLATR de tarjeta G&D SmartCafe 3.2 con T=CL (vía inalámbrica). -
ATR_TCL
-
PKCS15_NAME
private static final byte[] PKCS15_NAME -
ODF_PATH
private static final byte[] ODF_PATH -
MF_PATH
private static final byte[] MF_PATH -
CLA
private static final byte CLA- See Also:
-
LOGGER
-
CERTS_BY_ALIAS
-
KEYNO_BY_ALIAS
-
ERROR_PIN_SW1
private static final byte ERROR_PIN_SW1Octeto que identifica una verificación fallida del PIN.- See Also:
-
passwordCallback
-
callbackHandler
-
authenticated
private transient boolean authenticated -
cryptoHelper
Manejador de funciones criptográficas.
-
-
Constructor Details
-
SmartCafePkcs15Applet
Construye un objeto que representa una tarjeta G&D SmartCafe con el Applet PKCS#15 de AET.- Parameters:
conn- Conexión con la tarjeta.cryptoHlpr- Funcionalidades criptográficas de utilidad que pueden variar entre máquinas virtuales.- Throws:
IOException- Si hay errores de entrada / salida.
-
SmartCafePkcs15Applet
public SmartCafePkcs15Applet(ApduConnection conn, CryptoHelper cryptoHlpr, boolean failIfNoCerts) throws IOException Construye un objeto que representa una tarjeta G&D SmartCafe con el Applet PKCS#15 de AET.- Parameters:
conn- Conexión con la tarjeta.cryptoHlpr- Funcionalidades criptográficas de utilidad que pueden variar entre máquinas virtuales.failIfNoCerts- Si se establece atruey la tarjeta no contiene ningun par certificado + clave privada la inicialización falla con unIOException, si se establece afalse, la inicialización se completa haya o no haya claves y certificados.- Throws:
IOException- Si hay errores de entrada / salida.
-
-
Method Details
-
storeKeyOrdinal
-
getKeyCount
- Throws:
IOException
-
setPasswordCallback
Establece elPasswordCallbackpara el PIN de la tarjeta.- Parameters:
pwc-PasswordCallbackpara el PIN de la tarjeta.
-
setCallbackHandler
Establece elCallbackHandler.- Parameters:
callh-CallbackHandlera establecer.
-
connect
Conecta con el lector del sistema que tenga una tarjeta insertada.- Parameters:
conn- Conexión hacia la tarjeta.- Throws:
IOException- Cuando hay errores de entrada / salida.
-
preloadCertificates
private void preloadCertificates() throws FileNotFoundException, Iso7816FourCardException, IOException, Asn1Exception, TlvException -
getCardName
Description copied from class:AbstractSmartCardObtiene el nombre de la tarjeta.- Specified by:
getCardNamein classAbstractSmartCard- Returns:
- Nombre de la tarjeta
-
getAliases
Description copied from interface:CryptoCardObtiene los alias de los certificados de la tarjeta.- Specified by:
getAliasesin interfaceCryptoCard- Returns:
- Array con los alias de los certificados de la tarjeta
-
getCertificate
Description copied from interface:CryptoCardObtiene el certificado correspondiente al alias proporcionado.- Specified by:
getCertificatein interfaceCryptoCard- Parameters:
alias- Alias del certificado.- Returns:
- Certificado correspondiente al alias proporcionado o
nullsi no existe ningún certificado con ese alias.
-
selectMasterFile
Description copied from class:AbstractIso7816FourCardSelecciona el fichero maestro (directorio raíz de la tarjeta).- Specified by:
selectMasterFilein classAbstractIso7816FourCard- Throws:
ApduConnectionException- Si hay problemas en el envío de la APDU.Iso7816FourCardException- Si no se puede seleccionar el fichero maestro por cualquier otra causa.
-
toString
-
selectFileById
Selecciona un fichero (DF o EF).- Overrides:
selectFileByIdin classAbstractIso7816FourCard- Parameters:
id- Identificador del fichero a seleccionar.- Returns:
- Tamaño del fichero seleccionado.
- Throws:
ApduConnectionException- Si hay problemas en el envío de la APDU.Iso7816FourCardException- Si falla la selección de fichero.
-
verifyPin
Description copied from class:AbstractIso7816FourCardVerifica 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 deRuntimeExceptiono unaApduConnectionException.- Specified by:
verifyPinin classAbstractIso7816FourCard- Parameters:
psc- 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
-
getPrivateKey
Description copied from interface:CryptoCardObtiene una referencia a la clave privada correspondiente al alias proporcionado.- Specified by:
getPrivateKeyin interfaceCryptoCard- Parameters:
alias- Alias del certificado- Returns:
- Referencia a la clave privada correspondiente al alias proporcionado o
nullsi no existe ninguna clave privada con ese alias
-
sign
public byte[] sign(byte[] data, String algorithm, PrivateKeyReference keyRef) throws CryptoCardException, PinException Description copied from interface:CryptoCardRealiza una firma electrónica.- Specified by:
signin 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).
- Throws:
CryptoCardException- Si ocurre algún problema durante la firma.PinException- Si el PIN proporcionado es incorrecto o no es posible obtenerlo.
-
getPinRetriesLeft
- Throws:
PinException
-
getInternalPasswordCallback
- Throws:
PinException
-
checkAtr
- Throws:
InvalidCardException
-