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 es.gob.jmulticard.card.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 es.gob.jmulticard.card.iso7816four.AbstractIso7816FourCard
getChallenge, readAllRecords, readBinaryComplete, selectFileByIdAndRead, selectFileByLocation, selectFileByLocationAndRead, selectFileByName, selectFileByName, setPublicKeyToVerificationMethods inherited from class es.gob.jmulticard.card.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
-