public class XAdESBESSignature extends XAdESSignature
KeyStoreManager manager = new KeyStoreManager (..., ...);
String alias = ...;
InputStreamDocument documentTexto = new InputStreamDocument (new FileInputStream (...));
InputStreamDocument documentXML = new InputStreamDocument (new FileInputStream (...));
File file = new File (...);
URL url = new URL (...);
//-- Genera una firma attached. El documento se guardará en la firma en base64
XAdESBESSignature signature1 = XAdESBESSignature.signAttached(manager, alias, documentTexto);
//-- Genera una firma detached que referencia al fichero en disco
XAdESBESSignature signature2 = XAdESBESSignature.signDetached(manager, alias, file);
//-- Genera una firma detached que referencia a "2011/04/29/certificados/CER-2584665.pdf"
XAdESBESSignature signature3 = XAdESBESSignature.signDetached(manager, alias, file, "2011/04/29/certificados/CER-2584665.pdf");
//-- Genera una firma detached que referencia al fichero ubicado en la URL
XAdESBESSignature signature4 = XAdESBESSignature.signDetached(manager, alias, url);
//-- Genera una firma attached dentro del propio documento
XAdESBESSignature signature5 = XAdESBESSignature.signAttached(manager, alias, documentoXML, "titulo", "documento");
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
SIGNATURE_TYPE
Tipo de la firma
|
DEFAULT_XADES_SCHEMA, DEFAULT_XADES_SCHEMA_URI, DEFAULT_XML_ENCODING
arangiTemporalFolder, CRYPTOGRAPHIC_PROVIDER, CRYPTOGRAPHIC_PROVIDER_NAME, DEFAULT_HASHING_ALGORITHM, DEFAULT_SIGNING_ALGORITHM, NUM_RETRIES
Constructor and Description |
---|
XAdESBESSignature(byte[] signature)
Construye el objeto en base a un array de bytes.
|
XAdESBESSignature(org.w3c.dom.Document xmlDocument)
Construye el objeto en base a un XML que tiene el formato
XAdES-BES
|
XAdESBESSignature(java.io.File xmlFile)
Construye el objeto en base a un fichero XAdES-BES
|
XAdESBESSignature(java.io.InputStream isSignature)
Construye el objeto en base a un stream de lectura.
|
Modifier and Type | Method and Description |
---|---|
void |
coSign(DeviceManager manager,
java.lang.String alias)
Añade una Cofirma a la firma XAdES-BES.
|
void |
coSign(DeviceManager manager,
java.lang.String alias,
IDocument signedDoc,
java.lang.String digitalSignatureAlgorithm)
Añade una Cofirma a la firma XAdES-BES.
|
void |
counterSign(DeviceManager manager,
java.lang.String alias)
La definición de las contrafirmas en XAdES puede observarse en el punto 7.2.4
del estándar de la ETSI.
|
void |
counterSign(DeviceManager manager,
java.lang.String alias,
Certificate signatureToCounterSignCertificate,
java.lang.String digitalSignatureAlgorithm)
La definición de las contrafirmas en XAdES puede observarse en el punto 7.2.4
del estándar de la ETSI.
|
java.lang.String |
getSignatureType()
Devuelve una cadena de texto con el tipo de la firma
|
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
java.io.File document)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
java.io.File document,
java.lang.String digitalSignatureAlgorithm,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
IDocument document)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String idToSign,
java.lang.String signatureParent)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String digitalSignatureAlgorithm,
java.lang.String idToSign,
java.lang.String signatureParent,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String digitalSignatureAlgorithm,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
IDocument document,
XAdESAttachedSignatureOptions options)
Realiza una firma XAdES-BES attached (el documento se incluye en la firma).
|
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
java.net.URL document)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signAttached(DeviceManager manager,
java.lang.String alias,
java.net.URL document,
java.lang.String digitalSignatureAlgorithm,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signAttached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
java.io.File document)
Deprecated.
Usar
signDetached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
java.io.File document,
java.lang.String digitalSignatureAlgorithm,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signDetached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String reference)
Deprecated.
Usar
signDetached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String digitalSignatureAlgorithm,
java.lang.String reference,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signDetached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
IDocument document,
java.lang.String reference,
XAdESDetachedSignatureOptions options)
Realiza una firma XAdES-BES detached (el fichero no se incluirá en la firma).
|
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
java.net.URL urlDocument)
Deprecated.
Usar
signDetached |
static XAdESBESSignature |
signDetached(DeviceManager manager,
java.lang.String alias,
java.net.URL urlDocument,
java.lang.String digitalSignatureAlgorithm,
XAdESDataObjectFormat dof,
java.lang.String[] claimedRoles)
Deprecated.
Usar
signDetached |
getAttachedDocument, getCertificates, getDocumentDescription, getDocumentEncoding, getDocumentMIMEType, getDOM, getEncoding, getSignatureInstance, getSignaturePolicyIdentifier, getSignatureProductionPlace, getSigningTimes, getXAdESObject, getXAdESObject, getXAdESObject, getXAdESObject, isValid, isValid, isValid, isValid, isValidSignatureOnly, isValidSignatureOnly, save, save, toByteArray
addRecognizerClass, getSignatureObject, getType, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignatureOnly, validateSignatureOnly
getArangiTemporalFolder, getCryptographicProvider, saveTemporalFile, saveToArangiTemporalFolder
public static final java.lang.String SIGNATURE_TYPE
public XAdESBESSignature(org.w3c.dom.Document xmlDocument)
xmlDocument
- Documento XMLpublic XAdESBESSignature(java.io.File xmlFile) throws java.io.FileNotFoundException, XMLDocumentException
xmlFile
- Fichero XAdES-BESjava.io.FileNotFoundException
- El fichero no existeXMLDocumentException
- El fichero no parece un XML válidopublic XAdESBESSignature(byte[] signature) throws XMLDocumentException
signature
- Firma XAdES-BESXMLDocumentException
- El fichero no parece un XML válidopublic XAdESBESSignature(java.io.InputStream isSignature) throws XMLDocumentException
isSignature
- Stream de lectura a una firma XAdES-BESXMLDocumentException
- El fichero no parece un XML válidopublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, java.io.File document) throws LoadingObjectException, SignatureException, NoDocumentToSignException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Fichero a firmarLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nulopublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, java.io.File document, java.lang.String digitalSignatureAlgorithm, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws LoadingObjectException, SignatureException, NoDocumentToSignException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Fichero a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nulopublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, java.net.URL urlDocument) throws LoadingObjectException, SignatureException, NoDocumentToSignException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivourlDocument
- Documento a firmar. Se encuentra en una URL accesible.LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- La URL es nula o no existepublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, java.net.URL urlDocument, java.lang.String digitalSignatureAlgorithm, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws LoadingObjectException, SignatureException, NoDocumentToSignException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivourlDocument
- Documento a firmar. Se encuentra en una URL accesible.digitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- La URL es nula o no existepublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String reference) throws LoadingObjectException, SignatureException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Contenido a firmarreference
- Referencia a la que apuntará la firmaLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String digitalSignatureAlgorithm, java.lang.String reference, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws LoadingObjectException, SignatureException
signDetached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Contenido a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)reference
- Referencia a la que apuntará la firmadof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signDetached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String reference, XAdESDetachedSignatureOptions options) throws LoadingObjectException, SignatureException
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Contenido a firmarreference
- Referencia a la que apuntará la firmaoptions
- Opciones de la firmaLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String idToSign, java.lang.String signatureParent) throws XMLDocumentException, LoadingObjectException, SignatureException
signAttached
idToSign
y signatureParent
no son nulos la firma y los campos propios de XAdES se añadirán al XML. En caso contrario el fichero
XAdES resultante seguirá la plantilla de Arangí, por ejemplo:
<arangi-xades>
<document>...</document>
<ds:Signature>...</ds:Signature>
</arangi-xades>
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmaridToSign
- Valor del atributo 'ID' que indica lo que se firmará dentro del documento. Si tiene
valor nulo el XML de la firma tendrá el formato por defecto de las firmas XAdES de Arangí.signatureParent
- Nombre del tag que será el padre de los nodos de firma. Si tiene valor nulo
la firma colgará del nodo raíz.XMLDocumentException
- Error montando el fichero XMLLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String digitalSignatureAlgorithm, java.lang.String idToSign, java.lang.String signatureParent, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws XMLDocumentException, LoadingObjectException, SignatureException
signAttached
idToSign
y signatureParent
no son nulos la firma y los campos propios de XAdES se añadirán al XML. En caso contrario el fichero
XAdES resultante seguirá la plantilla de Arangí, por ejemplo:
<arangi-xades>
<document>...</document>
<ds:Signature>...</ds:Signature>
</arangi-xades>
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)idToSign
- Valor del atributo 'ID' que indica lo que se firmará dentro del documento. Si tiene
valor nulo el XML de la firma tendrá el formato por defecto de las firmas XAdES de Arangí.signatureParent
- Nombre del tag que será el padre de los nodos de firma. Si tiene valor nulo
la firma colgará del nodo raíz.dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)XMLDocumentException
- Error montando el fichero XMLLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, IDocument document) throws XMLDocumentException, LoadingObjectException, SignatureException
signAttached
<arangi-xades>
<document>...</document>
<ds:Signature>...</ds:Signature>
</arangi-xades>
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmarXMLDocumentException
- Error montando el fichero XMLLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, IDocument document, java.lang.String digitalSignatureAlgorithm, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws XMLDocumentException, LoadingObjectException, SignatureException
signAttached
<arangi-xades>
<document>...</document>
<ds:Signature>...</ds:Signature>
</arangi-xades>
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)XMLDocumentException
- Error montando el fichero XMLLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, java.io.File document) throws LoadingObjectException, SignatureException, NoDocumentToSignException, XMLDocumentException
signAttached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Fichero a firmarLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nuloXMLDocumentException
- Error montando el fichero XMLpublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, java.io.File document, java.lang.String digitalSignatureAlgorithm, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws LoadingObjectException, SignatureException, NoDocumentToSignException, XMLDocumentException
signAttached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Fichero a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nuloXMLDocumentException
- Error montando el fichero XMLpublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, java.net.URL document) throws LoadingObjectException, SignatureException, NoDocumentToSignException, XMLDocumentException
signAttached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmar. Se encuentra en una URL accesible.LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nuloXMLDocumentException
- Error montando el fichero XMLpublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, java.net.URL document, java.lang.String digitalSignatureAlgorithm, XAdESDataObjectFormat dof, java.lang.String[] claimedRoles) throws LoadingObjectException, SignatureException, NoDocumentToSignException, XMLDocumentException
signAttached
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmar. Se encuentra en una URL accesible.digitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)dof
- Información para construir el tag DataObjectFormat (puede ser null)claimedRoles
- Roles de la firma (puede ser null)LoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmaNoDocumentToSignException
- El fichero a firmar no existe o es nuloXMLDocumentException
- Error montando el fichero XMLpublic static XAdESBESSignature signAttached(DeviceManager manager, java.lang.String alias, IDocument document, XAdESAttachedSignatureOptions options) throws XMLDocumentException, LoadingObjectException, SignatureException
manager
- Dispositivo criptográfico que realizará la firmaalias
- Alias donde se encuentra la clave privada dentro del dispositivodocument
- Documento a firmaroptions
- Opciones para la firmaXMLDocumentException
- Error montando el fichero XMLLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No se puede realizar la firmapublic void counterSign(DeviceManager manager, java.lang.String alias) throws LoadingObjectException, CounterSignatureException
manager
- Dispositivo criptográfico que realizará la contrafirmaalias
- Alias donde se encuentra la clave privada dentro del dispositivoLoadingObjectException
- No es posible obtener la clave privada o el
certificado del aliasCounterSignatureException
- Errores durante el proceso de contrafirmapublic void counterSign(DeviceManager manager, java.lang.String alias, Certificate signatureToCounterSignCertificate, java.lang.String digitalSignatureAlgorithm) throws LoadingObjectException, CounterSignatureException
getCertificates
para ver los certificados de cada
una de las firmas que contiene el XAdES.manager
- Dispositivo criptográfico que realizará la contrafirmaalias
- Alias donde se encuentra la clave privada dentro del dispositivosignatureToCounterSignCertificate
- Certificado de la firma que se
contrafirmarádigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)LoadingObjectException
- No es posible obtener la clave privada o el
certificado del aliasCounterSignatureException
- Errores durante el proceso de contrafirmapublic void coSign(DeviceManager manager, java.lang.String alias) throws SignatureNotFoundException, NoDocumentToSignException, HashingException, LoadingObjectException, SignatureException, NoCoincidentDocumentException
#coSign(DeviceManager, String, IDocument)
al que le proporcionaremos este documento.manager
- Dispositivo criptográfico que realizará la cofirmaalias
- Alias donde se encuentra la clave privada dentro del dispositivoSignatureNotFoundException
- No existe ninguna firma que cofirmarNoDocumentToSignException
- El fichero a firmar no existe o es nuloHashingException
- Error realizando el hash del documentoLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No ha sido posible parsear la firma XAdES o no se puede realizar la cofirmaNoCoincidentDocumentException
- El documento que se quiere firmar no se corresponde con el de
la firma XAdESpublic void coSign(DeviceManager manager, java.lang.String alias, IDocument signedDoc, java.lang.String digitalSignatureAlgorithm) throws SignatureNotFoundException, NoDocumentToSignException, HashingException, LoadingObjectException, SignatureException, NoCoincidentDocumentException
manager
- Dispositivo criptográfico que realizará la cofirmaalias
- Alias donde se encuentra la clave privada dentro del dispositivosignedDoc
- contenido a firmar. El mismo utilizado en la generación de las otras firmas.digitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)SignatureNotFoundException
- No existe ninguna firma que cofirmarNoDocumentToSignException
- El fichero a firmar no existe o es nuloHashingException
- Error realizando el hash del documentoLoadingObjectException
- No ha sido posible cargar la clave privada o el certificado usados
para realizar la firmaSignatureException
- No ha sido posible parsear la firma XAdES o no se puede realizar la cofirmaNoCoincidentDocumentException
- El documento que se quiere firmar no se corresponde con el de
la firma XAdESpublic java.lang.String getSignatureType()
Copyright © 2018 Agencia de Tecnología y Certificación Electrónica. All Rights Reserved.