public class Pkcs11Manager extends es.accv.arangi.base.device.Pkcs11Manager implements ACCVDeviceManager
IDocument document = new FileDocument(new File ("/documento.txt"));
Pkcs11Manager manager = new Pkcs11Manager ("accv1234");
System.out.println ("Firma: " + manager.signDocument(document)); // Obtener los bytes de la firma
MAX_NUMBER_CERTIFICATES_ALLOWED
Constructor and Description |
---|
Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device,
java.lang.String pin)
Inicializa un gestor de PKCS#11 para el dispositivo pasado como parámetro.
|
Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device,
java.lang.String password,
boolean isPUK)
Inicializa un gestor de PKCS#11 para el dispositivo pasado como parámetro.
|
Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device,
java.lang.String password,
boolean isPUK,
boolean withKeystore)
Inicializa un gestor de PKCS#11 para el dispositivo pasado como parámetro.
|
Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Manufacturer manufacturer,
java.lang.String pin)
Inicializa un gestor de PKCS#11 usando la implementación del PKCS#11
indicado.
|
Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Manufacturer manufacturer,
java.lang.String password,
boolean isPUK)
Inicializa un gestor de PKCS#11 usando la implementación del PKCS#11
indicado.
|
Pkcs11Manager(java.lang.String pin)
Inicializa un gestor de PKCS#11 realizando previamente un proceso de
autodetección de la tarjeta insertada el lector de acuerdo a los módulos
tratados por Arangi.
|
Pkcs11Manager(java.lang.String password,
boolean isPUK)
Inicializa un gestor de PKCS#11 realizando previamente un proceso de
autodetección de la tarjeta insertada el lector de acuerdo a los módulos
tratados por Arangi.
|
Pkcs11Manager(java.lang.String password,
boolean isPUK,
boolean withKeystore)
Inicializa un gestor de PKCS#11 realizando previamente un proceso de
autodetección de la tarjeta insertada el lector de acuerdo a los módulos
tratados por Arangi.
|
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 java.util.List |
getConnectedDevices()
Método que obtiene información de los dispositivos conectados para todas
las librerías PKCS#11 definidas en Arangi
|
static java.util.List |
getLoadableManufacturers()
Este método trata de cargar e inicializar la lista de fabricantes PKCS#11 usados por Arangi.
|
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.
|
changePUK, getConnectedDevices, getLoadableManufacturers, unlockPIN
changeAlias, changePin, changePin, clear, close, decrypt, deleteCertificate, deleteObjects, deletePrivateKey, encrypt, encrypt, format, format, generateKeyPair, generateKeyPair, generatePKCS10, getAliasNamesList, getCertificate, getCertificates, getConnectedDevices, getDevice, getDeviceModuleName, getFreeMemory, getId, getLabel, getManufacturer, getManufacturerID, getManufacturerName, getModel, getPrivateKey, getPrivateKey, getPublicKey, getSerialNumber, getTotalMemory, importAliasFromKeystore, importAliasFromKeystore, importCertificate, importCertificate, importFromKeystore, isAliasFree, loadIAIKDllFile, setDeleteOrphans, signBytesHash, signBytesHash, signDocument, signDocument, signDocument, signDocument, unlockPIN
decryptWithSessionKey, encrypt, encrypt, encryptWithSessionKey, encryptWithSessionKey
public Pkcs11Manager(java.lang.String pin) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
pin
- PIN para abrir el dispositivoes.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado ningún módulo PKCS#11
de la lista de los utilizados por la ACCV instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(java.lang.String password, boolean isPUK, boolean withKeystore) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException, es.accv.arangi.base.exception.device.IncorrectPUKException
password
- PIN o PUK para abrir el dispositivoisPUK
- Determina si el primer parámetro es el PIN o el PUKwithKeystore
- Indica si se quiere cargar el keystore interno de firma.
Si se va a utilizar el manager para actualizar el contenido o modificar el
PIN o el PUK es más optimo marcar este parámetro a falso.es.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado ningún módulo PKCS#11
de la lista de los utilizados por la ACCV instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunes.accv.arangi.base.exception.device.IncorrectPUKException
- El PUK no es correctopublic Pkcs11Manager(java.lang.String password, boolean isPUK) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.IncorrectPUKException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
password
- PIN o PUK para abrir el dispositivoisPUK
- Determina si el primer parámetro es el PIN o el PUKes.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado ningún módulo PKCS#11
de la lista de los utilizados por la ACCV instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.IncorrectPUKException
- El PUK no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device, java.lang.String pin) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
getConnectedDevices
.device
- Dispositivo elegido para este managerpin
- PIN para abrir el dispositivoes.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado el módulo PKCS#11
adecuado instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.DeviceNotFoundException
- El dispositivo no existees.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device, java.lang.String password, boolean isPUK) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.IncorrectPUKException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
getConnectedDevices
. unlockPIN
, ya que el PUK se
suele usar para desbloquear el PIN de la tarjeta. Otra forma de hacer esto
mismo en un sólo paso es llamar al método estático unlockPIN
.device
- Dispositivo elegido para este managerpassword
- PIN o PUK para abrir el dispositivoisPUK
- Determina si el primer parámetro es el PIN o el PUKes.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado el módulo PKCS#11
adecuado instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.IncorrectPUKException
- El PUK no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.DeviceNotFoundException
- El dispositivo no existees.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Device device, java.lang.String password, boolean isPUK, boolean withKeystore) throws es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.IncorrectPUKException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
getConnectedDevices
. unlockPIN
, ya que el PUK se
suele usar para desbloquear el PIN de la tarjeta. Otra forma de hacer esto
mismo en un sólo paso es llamar al método estático unlockPIN
.device
- Dispositivo elegido para este managerpassword
- PIN o PUK para abrir el dispositivoisPUK
- Determina si el primer parámetro es el PIN o el PUKwithKeystore
- Indica si se quiere cargar el keystore interno de firma.
Si se va a utilizar el manager para actualizar el contenido o modificar el
PIN o el PUK es más optimo marcar este parámetro a falso.es.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado el módulo PKCS#11
adecuado instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.IncorrectPUKException
- El PUK no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.DeviceNotFoundException
- El dispositivo no existees.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Manufacturer manufacturer, java.lang.String pin) throws es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
manufacturer
- Fabricante del dispositivopin
- PIN para abrir el dispositivoes.accv.arangi.base.exception.device.DeviceNotFoundException
- No existen dispositivos para la
libería PKCS#11 o no existe un dispositivo para el valor de 'tokenID'.es.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado el módulo PKCS#11
adecuado instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic Pkcs11Manager(es.accv.arangi.base.device.model.Pkcs11Manufacturer manufacturer, java.lang.String password, boolean isPUK) throws es.accv.arangi.base.exception.device.DeviceNotFoundException, es.accv.arangi.base.exception.device.ModuleNotFoundException, es.accv.arangi.base.exception.device.IncorrectPINException, es.accv.arangi.base.exception.device.IncorrectPUKException, es.accv.arangi.base.exception.device.LockedPINException, es.accv.arangi.base.exception.device.OpeningDeviceException, es.accv.arangi.base.exception.device.IAIKDLLNotFoundException, es.accv.arangi.base.exception.device.InitializeProviderException
manufacturer
- Fabricante del dispositivopassword
- PIN o PUK para abrir el dispositivoisPUK
- Determina si el primer parámetro es el PIN o el PUKes.accv.arangi.base.exception.device.DeviceNotFoundException
- No existen dispositivos para la
libería PKCS#11 o no existe un dispositivo para el valor de 'tokenID'.es.accv.arangi.base.exception.device.ModuleNotFoundException
- No se ha encontrado el módulo PKCS#11
adecuado instalado en el equipo.es.accv.arangi.base.exception.device.IncorrectPINException
- El PIN (o el PUK) no es correctoes.accv.arangi.base.exception.device.IncorrectPUKException
- El PUK no es correctoes.accv.arangi.base.exception.device.LockedPINException
- El PIN está bloqueadoes.accv.arangi.base.exception.device.OpeningDeviceException
- Error durante el proceso de aperturaes.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11es.accv.arangi.base.exception.device.InitializeProviderException
- No es posible inicializar el proveedor PKCS#11 de Sunpublic static java.util.List getConnectedDevices() throws es.accv.arangi.base.exception.device.IAIKDLLNotFoundException
es.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11public static java.util.List getLoadableManufacturers() throws es.accv.arangi.base.exception.device.IAIKDLLNotFoundException
es.accv.arangi.base.exception.device.IAIKDLLNotFoundException
- No es posible cargar la DLL de IAIK, por
lo que no se puede trabajar con dispositivos PKCS#11public 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 certificadoCopyright © 2018 Agencia de Tecnología y Certificación Electrónica. All Rights Reserved.