public class KeyStoreManager extends es.accv.arangi.base.device.KeyStoreManager implements ACCVDeviceManager
IDocument document = new FileDocument(new File ("/documento.txt"));
KeyStoreManager manager = new KeyStoreManager (new File ("/keystores/ks.pk12"), "1234");
System.out.println ("Certificate: " + manager.getCertificate());
System.out.println ("Firma: " + manager.signDocument(document));
STORE_TYPE_APPLE, STORE_TYPE_CA_WINDOWS, STORE_TYPE_JKS, STORE_TYPE_MOZILLA, STORE_TYPE_PERSONAL_WINDOWS, STORE_TYPE_PKCS12
Constructor and Description |
---|
KeyStoreManager(java.io.File ksFile,
java.lang.String pin)
Inicializa un gestor de KeyStore con el fichero pasado como parámetro.
|
KeyStoreManager(java.io.InputStream is,
java.lang.String pin)
Inicializa un gestor de KeyStores mediante un stream al fichero
|
Modifier and Type | Method and Description |
---|---|
java.lang.String |
getAuthenticationAlias()
Obtiene alias para autenticar contenido en el dispositivo.
|
java.security.cert.X509Certificate |
getAuthenticationCertificate()
Obtiene el certificado para autenticar que contiene el dispositivo
|
java.lang.String |
getCipherAlias()
Obtiene alias para cifrar contenido en el dispositivo.
|
java.security.cert.X509Certificate |
getCipherCertificate()
Obtiene el certificado para cifrar que contiene el dispositivo
|
static KeyStoreManager |
getEmptyKeyStore(java.lang.String storeType,
java.lang.String pin)
Crea un fichero PKCS#12 vacío
|
java.lang.String |
getSignatureAlias()
Obtiene alias para firmar contenido en el dispositivo.
|
java.security.cert.X509Certificate |
getSignatureCertificate()
Obtiene el certificado para firmar que contiene el dispositivo
|
byte[] |
signBytesHash(byte[] hash)
Firma un documento, cuyo hash se pasa como parámetro.
|
byte[] |
signDocument(es.accv.arangi.base.document.IDocument document)
Firma el documento pasado como parámetro.
|
byte[] |
signDocument(java.io.InputStream document)
Firma el documento pasado como parámetro en forma de stream de lectura.
|
changeToJks, changeToPkcs12, close, getP12Base64, importAliasFromKeystore, initialize, isAliasFree, main, save, save, saveToJks, saveToPkcs12
changeAlias, changePin, clear, decrypt, deleteObjects, deletePrivateKey, encrypt, generateKeyPair, generateKeyPair, generatePKCS10, getAliasNamesList, getCertificate, getCertificates, getKeyStore, getKeyStoreType, getPrivateKey, getPrivateKey, getPublicKey, importAliasFromKeystore, importCertificate, importCertificate, importFromKeystore, signBytesHash, signBytesHash, signDocument, signDocument, signDocument, signDocument
decryptWithSessionKey, encrypt, encrypt, encryptWithSessionKey, encryptWithSessionKey
public KeyStoreManager(java.io.File ksFile, java.lang.String pin) throws es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.ClosingStreamException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IncorrectPINException
ksFile
- Fichero del Keystore (PKCS#12 o JKS)pin
- PIN del dispositivoes.accv.arangi.base.exception.device.DeviceNotFoundException
- El fichero no existees.accv.arangi.base.exception.device.ClosingStreamException
- No se ha podido cerrar correctamente el stream de lectura
del ficheroes.accv.arangi.base.exception.device.OpeningDeviceException
- Error no controlado abriendo el dispositivoes.accv.arangi.base.exception.device.IncorrectPINException
- El PIN proporcionado para abrir el dispositivo no es correctopublic KeyStoreManager(java.io.InputStream is, java.lang.String pin) throws es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.ReadingStreamException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IncorrectPINException
is
- Stream de lectura al fichero del Keystore (PKCS#12 o JKS)pin
- PIN del dispositivoes.accv.arangi.base.exception.device.DeviceNotFoundException
- El stream de lectura pasado como parámetro es nuloes.accv.arangi.base.exception.device.ReadingStreamException
- Error leyendo el stream de lecturaes.accv.arangi.base.exception.device.OpeningDeviceException
- Error no controlado abriendo el dispositivoes.accv.arangi.base.exception.device.IncorrectPINException
- El PIN proporcionado para abrir el dispositivo no es correctopublic byte[] signDocument(es.accv.arangi.base.document.IDocument document) throws es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.device.LoadingObjectException, es.accv.arangi.base.exception.signature.SignatureException
ACCVDeviceManager
signDocument
in interface ACCVDeviceManager
document
- Documento a firmares.accv.arangi.base.exception.document.HashingException
- No es posible obtener el hash del documento o su versión en
formato DER durante el proceso de firmaes.accv.arangi.base.exception.device.LoadingObjectException
- No ha sido posible cargar la clave privada usada para
realizar la firmaes.accv.arangi.base.exception.signature.SignatureException
- Error durante el proceso de firmapublic byte[] signDocument(java.io.InputStream document) throws es.accv.arangi.base.exception.device.AliasNotFoundException, es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.device.LoadingObjectException, es.accv.arangi.base.exception.signature.SignatureException
ACCVDeviceManager
signDocument
in interface ACCVDeviceManager
document
- Stream de lectura al contenido del documento a firmares.accv.arangi.base.exception.device.AliasNotFoundException
- El alias donde se encuentra la clave privada usada para
realizar la firma no existees.accv.arangi.base.exception.document.HashingException
- No es posible obtener el hash del documento o su versión en
formato DER durante el proceso de firmaes.accv.arangi.base.exception.device.LoadingObjectException
- No ha sido posible cargar la clave privada usada para
realizar la firmaes.accv.arangi.base.exception.signature.SignatureException
- Error durante el proceso de firmapublic byte[] signBytesHash(byte[] hash) throws es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.device.AliasNotFoundException, es.accv.arangi.base.exception.device.LoadingObjectException, es.accv.arangi.base.exception.device.CipherException
ACCVDeviceManager
signBytesHash
in interface ACCVDeviceManager
hash
- Hash del documento a firmares.accv.arangi.base.exception.document.HashingException
- El hash pasado es nulo o no se puede obtener con él el objeto
DER para la firmaes.accv.arangi.base.exception.device.AliasNotFoundException
- El alias donde se encuentra la clave privada usada para
realizar la firma no existees.accv.arangi.base.exception.device.LoadingObjectException
- No ha sido posible cargar la clave privada usada para
realizar la firmaes.accv.arangi.base.exception.device.CipherException
- Error durante el proceso de cifradopublic java.lang.String getSignatureAlias() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getSignatureAlias
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el aliaspublic java.lang.String getCipherAlias() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getCipherAlias
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el aliaspublic java.lang.String getAuthenticationAlias() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getAuthenticationAlias
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el aliaspublic java.security.cert.X509Certificate getSignatureCertificate() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getSignatureCertificate
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el certificadopublic java.security.cert.X509Certificate getCipherCertificate() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getCipherCertificate
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el certificadopublic java.security.cert.X509Certificate getAuthenticationCertificate() throws es.accv.arangi.base.exception.device.LoadingObjectException
ACCVDeviceManager
getAuthenticationCertificate
in interface ACCVDeviceManager
es.accv.arangi.base.exception.device.LoadingObjectException
- El dispositivo está vacío o no se puede obtener el certificadopublic static KeyStoreManager getEmptyKeyStore(java.lang.String storeType, java.lang.String pin) throws es.accv.arangi.base.exception.device.OpeningDeviceException
storeType
- Tipo de keystore (STORE_TYPE_JKS o STORE_TYPE_PKCS12 de la clase KeyStoreManager de Arangí Base)pin
- Contraseña del keystorees.accv.arangi.base.exception.device.OpeningDeviceException
- Excepciones creando y serializando el keystoreCopyright © 2018 Agencia de Tecnología y Certificación Electrónica. All Rights Reserved.