public class PAdESLTVSignature
extends es.accv.arangi.base.signature.PAdESLTVSignature
olderVersionsAllowed = true;
getArangiTemporalFolder
.
KeyStoreManager manager = new KeyStoreManager (...,...);
ByteArrayDocument documentPDF = new ByteArrayDocument (...);
//-- Firma invisible
PAdESLTVSignature signatureInv = PAdESLTVSignature.sign (new ACCVDeviceManager[] {manager},documentPDF, "Porque quiero firmarlo");
//-- Firma visible
PAdESLTVSignature signatureVis = PAdESLTVSignature.sign (new ACCVDeviceManager[] {manager},documentPDF, "Porque quiero firmarlo",
true, Util.readStream(ClassLoader.getSystemResourceAsStream("signature/chip.gif")), 100, 100, 300, 200, 1);
En la página 1 de la segunda firma, en la ubicación indicada por las coordenadas, se
verá la imagen chip.gif como una firma realizada sobre el PDF.
//-- Primera firma
KeyStoreManager manager1 = new KeyStoreManager (...,...);
ByteArrayDocument documentPDF = new ByteArrayDocument (...);
PDFSignature signature = PDFSignature.sign (new ACCVDeviceManager[] {manager1},documentPDF, "Firma 1");
//-- Segunda firma (días más tarde)
KeyStoreManager manager2 = new KeyStoreManager (...,...);
documentPDF = new ByteArrayDocument (signature.toByteArray());
signature = PDFSignature.sign (new ACCVDeviceManager[] {manager2},documentPDF, "Firma 2");
//-- Completar la firma para que sea PAdES-LTV
PAdESLTVSignature padesLTV = PAdESLTVSignature.completeToPAdESLTV(signature);
ByteArrayDocument document = new ByteArrayDocument (...);
PAdESLTVSignature signature = new PAdESLTVSignature(document);
signature.addDocumentTimeStamp();
signature.save(...);
Constructor and Description |
---|
PAdESLTVSignature(byte[] pdfContentBytes)
Inicializa el objeto con el contenido de un fichero PDF firmado.
|
PAdESLTVSignature(java.io.File pdfFile)
Inicializa el objeto con un fichero PDF firmado.
|
PAdESLTVSignature(es.accv.arangi.base.document.IDocument document)
Inicializa el objeto con un documento que debe contener un fichero PDF firmado.
|
PAdESLTVSignature(java.io.InputStream streamPDF)
Inicializa el objeto con un stream de lectura al contenido de un fichero PDF firmado.
|
Modifier and Type | Method and Description |
---|---|
void |
addDocumentTimeStamp()
Añade un sello de tiempos al documento PDF (document time-stamp).
|
static PAdESLTVSignature |
completeToPAdESLTV(es.accv.arangi.base.signature.PDFSignature signature)
Método que completa un fichero PDF firmado a PAdES-LTV.
|
es.accv.arangi.base.util.validation.ValidationResult[] |
isValid()
Determina si la firma es válida
|
static PAdESLTVSignature |
sign(ACCVDeviceManager[] managers,
es.accv.arangi.base.document.IDocument pdfDocument,
java.lang.String reason)
Obtiene un objeto
PDFSignature tras firmar un documento PDF. |
static PAdESLTVSignature |
sign(ACCVDeviceManager[] managers,
es.accv.arangi.base.document.IDocument pdfDocument,
java.lang.String digitalSignatureAlgorithm,
java.lang.String reason,
boolean isVisible,
byte[] image,
float llX,
float llY,
float urX,
float urY,
int page)
Obtiene un objeto
PDFSignature tras firmar un documento PDF. |
addDocumentTimeStamp, addDocumentTimeStamp, addDocumentTimeStamp, addDocumentTimeStamp, completeToPAdESLTV, completeToPAdESLTV, completeToPAdESLTV, completeToPAdESLTV, getOrderedDocumentTimestamp, getSignatureType, getTimeStampCertificateExpiration, isOnlyOCSPResponsesInDSS, isValid, isValid, isValid, isValid, setOnlyOCSPResponsesInDSS, sign, sign, sign
close, getCertificates, getPDFObject, getPDFObject, getPDFObject, getSignatureInstance, isValidSignatureOnly, isValidSignatureOnly, save, save, toByteArray
addRecognizerClass, getSignatureObject, getType, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignature, validateSignatureOnly, validateSignatureOnly
public PAdESLTVSignature(byte[] pdfContentBytes) throws es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureNotFoundException, java.io.IOException
pdfContentBytes
- Array de bytes con el contenido del fichero PDF firmadoes.accv.arangi.base.exception.signature.PDFDocumentException
- El fichero no es un PDF correcto o bien no puede
ser leídoes.accv.arangi.base.exception.signature.SignatureNotFoundException
- El fichero es un PDF pero no está firmadojava.io.IOException
- No se puede crear el fichero temporalpublic PAdESLTVSignature(java.io.File pdfFile) throws es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureNotFoundException
pdfFile
- Fichero PDF firmadoes.accv.arangi.base.exception.signature.PDFDocumentException
- El fichero no es un PDF correcto o bien no puede
ser leídoes.accv.arangi.base.exception.signature.SignatureNotFoundException
- El fichero es un PDF pero no está firmadopublic PAdESLTVSignature(es.accv.arangi.base.document.IDocument document) throws es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureNotFoundException, java.io.IOException
document
- Documento con el contenido del fichero PDF firmadoes.accv.arangi.base.exception.signature.PDFDocumentException
- El fichero no es un PDF correcto o bien no puede
ser leídoes.accv.arangi.base.exception.signature.SignatureNotFoundException
- El fichero es un PDF pero no está firmadojava.io.IOException
- No se puede crear el fichero temporalpublic PAdESLTVSignature(java.io.InputStream streamPDF) throws es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureNotFoundException, java.io.IOException
streamPDF
- Stream de lectura al contenido del fichero PDF firmadoes.accv.arangi.base.exception.signature.PDFDocumentException
- El fichero no es un PDF correcto o bien no puede
ser leídoes.accv.arangi.base.exception.signature.SignatureNotFoundException
- El fichero es un PDF pero no está firmadojava.io.IOException
- No se puede crear el fichero temporalpublic static PAdESLTVSignature sign(ACCVDeviceManager[] managers, es.accv.arangi.base.document.IDocument pdfDocument, java.lang.String reason) throws es.accv.arangi.base.exception.device.AliasNotFoundException, es.accv.arangi.base.exception.device.LoadingObjectException, es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureException, es.accv.arangi.base.exception.signature.RetrieveOCSPException, es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.certificate.CertificateCANotFoundException, es.accv.arangi.base.exception.signature.InvalidCertificateException, es.accv.arangi.base.exception.certificate.NormalizeCertificateException
PDFSignature
tras firmar un documento PDF.
La firma es invisible.managers
- Dispositivos criptográfico que realizarán la firmapdfDocument
- Documento PDF a firmarreason
- Texto que aparecerá junto a la firma como razón. Si se pasa un valor
nulo se escribirá un texto por defecto.es.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.signature.PDFDocumentException
- El documento no es un fichero PDF o es un PDF mal formadoes.accv.arangi.base.exception.signature.SignatureException
- No se puede realizar la firmaes.accv.arangi.base.exception.signature.RetrieveOCSPException
- No es posible obtener una respuesta OCSP para
asociarla a la firmaes.accv.arangi.base.exception.document.HashingException
- Excepción obteniendo el hash que será sellado por la TSAes.accv.arangi.base.exception.certificate.CertificateCANotFoundException
- La lista de certificado de CA no contiene el
emisor del certificado de firma o existe pero tiene un formato no normalizable por
el proveedor criptográfico de Arangies.accv.arangi.base.exception.signature.InvalidCertificateException
- El certificado con el que se firma está revocadoes.accv.arangi.base.exception.certificate.NormalizeCertificateException
- Alguno de los certificados de firma o de sus cadenas
de certificación no puede ser normalizadopublic static PAdESLTVSignature sign(ACCVDeviceManager[] managers, es.accv.arangi.base.document.IDocument pdfDocument, java.lang.String digitalSignatureAlgorithm, java.lang.String reason, boolean isVisible, byte[] image, float llX, float llY, float urX, float urY, int page) throws es.accv.arangi.base.exception.device.AliasNotFoundException, es.accv.arangi.base.exception.device.LoadingObjectException, es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.signature.SignatureException, es.accv.arangi.base.exception.signature.RetrieveOCSPException, es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.certificate.CertificateCANotFoundException, es.accv.arangi.base.exception.signature.InvalidCertificateException, es.accv.arangi.base.exception.certificate.NormalizeCertificateException, es.accv.arangi.base.exception.signature.AlgorithmNotSuitableException
PDFSignature
tras firmar un documento PDF.managers
- Dispositivos criptográfico que realizarán la firmapdfDocument
- Documento PDF a firmardigitalSignatureAlgorithm
- Algoritmo de firma (si nulo algoritmo por defecto)reason
- Texto que aparecerá junto a la firma como razón. Si se pasa un valor
nulo se escribirá un texto por defecto.isVisible
- Si tiene un valor cierto se creará una firma visible.image
- Imagen de la firma. Puede tener un valor nulo.llX
- Posición X de la esquina inferior izquierda de la firma en la página (caso de ser visible)llY
- Posición Y de la esquina inferior izquierda de la firma en la página (caso de ser visible)urX
- Posición X de la esquina superior derecha de la firma en la página (caso de ser visible)urY
- Posición Y de la esquina superior derecha de la firma en la página (caso de ser visible)page
- Página en la que se situará la firma si ésta es visible (1 es la primera página)es.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.signature.PDFDocumentException
- El documento no es un fichero PDF o es un PDF mal formadoes.accv.arangi.base.exception.signature.SignatureException
- No se puede realizar la firmaes.accv.arangi.base.exception.signature.RetrieveOCSPException
- No es posible obtener una respuesta OCSP para
asociarla a la firmaes.accv.arangi.base.exception.document.HashingException
- Excepción obteniendo el hash que será sellado por la TSAes.accv.arangi.base.exception.certificate.CertificateCANotFoundException
- La lista de certificado de CA no contiene el
emisor del certificado de firma o existe pero tiene un formato no normalizable por
el proveedor criptográfico de Arangies.accv.arangi.base.exception.signature.InvalidCertificateException
- El certificado con el que se firma está revocadoes.accv.arangi.base.exception.certificate.NormalizeCertificateException
- Alguno de los certificados de firma o de sus cadenas
de certificación no puede ser normalizadoes.accv.arangi.base.exception.signature.AlgorithmNotSuitableException
- El algoritmo de firma pasado no sirve para realizar la firmapublic static PAdESLTVSignature completeToPAdESLTV(es.accv.arangi.base.signature.PDFSignature signature) throws es.accv.arangi.base.exception.signature.SignatureException, es.accv.arangi.base.exception.signature.RetrieveOCSPException, es.accv.arangi.base.exception.signature.InvalidCertificateException, es.accv.arangi.base.exception.certificate.NormalizeCertificateException, es.accv.arangi.base.exception.signature.PDFDocumentException, es.accv.arangi.base.exception.certificate.CertificateCANotFoundException, es.accv.arangi.base.exception.document.HashingException
signature
- PDF firmadoes.accv.arangi.base.exception.signature.PDFDocumentException
- El documento no es un fichero PDF o es un PDF mal formadoes.accv.arangi.base.exception.signature.SignatureException
- Error completando la firmaes.accv.arangi.base.exception.signature.RetrieveOCSPException
- No es posible obtener una respuesta OCSP para
asociarla a la firmaes.accv.arangi.base.exception.document.HashingException
- Excepción obteniendo el hash que será sellado por la TSAes.accv.arangi.base.exception.certificate.CertificateCANotFoundException
- La lista de certificado de CA no contiene el
emisor del certificado de firma o existe pero tiene un formato no normalizable por
el proveedor criptográfico de Arangies.accv.arangi.base.exception.signature.InvalidCertificateException
- El certificado con el que se firma está revocadoes.accv.arangi.base.exception.certificate.NormalizeCertificateException
- Alguno de los certificados de firma o de sus cadenas
de certificación no puede ser normalizadopublic void addDocumentTimeStamp() throws es.accv.arangi.base.exception.signature.SignatureException, es.accv.arangi.base.exception.signature.RetrieveOCSPException, es.accv.arangi.base.exception.timestamp.ResponseTimeStampException, es.accv.arangi.base.exception.certificate.CertificateCANotFoundException
es.accv.arangi.base.exception.signature.SignatureException
- Error leyendo o guardando objetos de la firmaes.accv.arangi.base.exception.signature.RetrieveOCSPException
- No es posible obtener una respuesta OCSP para el
certificado del último sello de tiempos del documentoes.accv.arangi.base.exception.timestamp.ResponseTimeStampException
- No es posible obtener una respuesta del servidor
de sello de tiemposes.accv.arangi.base.exception.certificate.CertificateCANotFoundException
- El certificado del último sello de tiempos del
documento no pertenece a ninguna de las Autoridades de Certificación de confianzapublic es.accv.arangi.base.util.validation.ValidationResult[] isValid() throws es.accv.arangi.base.exception.document.HashingException, es.accv.arangi.base.exception.signature.SignatureException, es.accv.arangi.base.exception.certificate.NormalizeCertificateException
es.accv.arangi.base.exception.signature.SignatureException
- Error tratando el objeto firmaes.accv.arangi.base.exception.document.HashingException
- Error obteniendo el hash del documentoes.accv.arangi.base.exception.certificate.NormalizeCertificateException
- Alguno de los certificados no puede ser
normalizado al formato reconocido por el proveedor criptográfico de Arangi o su
firma no es correcta o no puede ser analizadaCopyright © 2018 Agencia de Tecnología y Certificación Electrónica. All Rights Reserved.