Class PadesSignature
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesSignature
- All Implemented Interfaces:
Signature<Object>,SignatureObject
public class PadesSignature extends Object implements Signature<Object>
Esta classe representa uma assinatura PAdES.
-
Constructor Summary
Constructors Constructor Description PadesSignature(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfBytes)Construtor -
Method Summary
Modifier and Type Method Description voidaddDocTimestamp(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature timestamp)voidaddUnsignedAttribute(SignatureAttribute<Object> attribute)Adiciona um atributo não-assinadobooleanequals(Object obj)StringgetAlgorithmOid()List<String>getAttributeList()Retorna a lista de atributos da assinaturaCadesSignatureContainergetCadesContainer()CadesSignaturegetCadesSignature()List<? extends Signature<Object>>getCounterSignatures()List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature>getDocTimestamps()org.apache.pdfbox.pdmodel.PDDocumentgetDocument()Retorna o documento assinadoorg.apache.pdfbox.cos.COSDictionarygetDssDictionary()Retorna Encontra na estrutura do pdf o dicionário de DSS da assinaturaorg.apache.pdfbox.cos.COSDictionarygetEncodedAttribute(String identifier, Integer index)Retorna o atributo correspondente ao identificador ou índice dadoFileFormatgetFormat()List<String>getPadesAttributes()byte[]getPdfBytes()Retorna os bytes da documento assinadoorg.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignaturegetSignatureObject()StringgetSignatureType()Retorna o tipo da assinaturaList<String>getSignedAttributeList()Retorna a lista de atributos assinadosList<String>getUnsignedAttributeList()Retorna a lista de atributos não-assinadosinthashCode()voidreload(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.pdmodel.PDDocument document, byte[] pdfBytes, List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> pdSignatures)voidreplaceUnsignedAttribute(SignatureAttribute<Object> attribute, int index)Substitui um atributo não-assinadovoidsetDssDictionary(org.apache.pdfbox.pdmodel.PDDocument pdDocument)Encontra na estrutura do pdf o dicionário de DSS da assinatura e atribui à variáveldssDictionaryvoidupdateCadesContainer()Atualiza o conteúdo do container CAdES com os bytes do PDF.
-
Constructor Details
-
PadesSignature
public PadesSignature(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfBytes) throws VerificationExceptionConstrutor- Parameters:
document- O documento assinadosignature- A assinatura PAdESpdfBytes- Bytes do documento- Throws:
VerificationException
-
-
Method Details
-
updateCadesContainer
Atualiza o conteúdo do container CAdES com os bytes do PDF. Essa função deve ser chamada antes da assinatura ser verificada peloCadesVerifier- Throws:
PbadException- Se ocorrer um erro ao atualizar o container CAdES
-
addDocTimestamp
public void addDocTimestamp(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature timestamp) -
getCadesContainer
-
getCadesSignature
-
getDssDictionary
public org.apache.pdfbox.cos.COSDictionary getDssDictionary()Retorna Encontra na estrutura do pdf o dicionário de DSS da assinatura- Returns:
COSDictionaryde DSS da assinatura
-
setDssDictionary
public void setDssDictionary(org.apache.pdfbox.pdmodel.PDDocument pdDocument)Encontra na estrutura do pdf o dicionário de DSS da assinatura e atribui à variáveldssDictionary- Parameters:
pdDocument- Indica o documento onde deve ser retirado o dicionário
-
addUnsignedAttribute
public void addUnsignedAttribute(SignatureAttribute<Object> attribute) throws SignatureAttributeExceptionDescription copied from interface:SignatureAdiciona um atributo não-assinado- Specified by:
addUnsignedAttributein interfaceSignature<Object>- Parameters:
attribute- atributo a ser adicionado na assintura- Throws:
SignatureAttributeException
-
replaceUnsignedAttribute
public void replaceUnsignedAttribute(SignatureAttribute<Object> attribute, int index) throws SignatureAttributeExceptionDescription copied from interface:SignatureSubstitui um atributo não-assinado- Specified by:
replaceUnsignedAttributein interfaceSignature<Object>- Parameters:
attribute- atributo a ser substituídoindex- índice do atributo a ser substituído- Throws:
SignatureAttributeException
-
getAttributeList
Retorna a lista de atributos da assinatura- Specified by:
getAttributeListin interfaceSignature<Object>- Returns:
- A lista de atributos da assinatura
-
getSignedAttributeList
Description copied from interface:SignatureRetorna a lista de atributos assinados- Specified by:
getSignedAttributeListin interfaceSignature<Object>- Returns:
- lista de atributos assinados
-
getUnsignedAttributeList
Description copied from interface:SignatureRetorna a lista de atributos não-assinados- Specified by:
getUnsignedAttributeListin interfaceSignature<Object>- Returns:
- lista de atributos não-assinados
-
getPadesAttributes
-
getCounterSignatures
- Specified by:
getCounterSignaturesin interfaceSignature<Object>
-
getEncodedAttribute
public org.apache.pdfbox.cos.COSDictionary getEncodedAttribute(String identifier, Integer index) throws SignatureAttributeNotFoundExceptionDescription copied from interface:SignatureRetorna o atributo correspondente ao identificador ou índice dado- Specified by:
getEncodedAttributein interfaceSignature<Object>- Parameters:
identifier- o identificador do atributoindex- o índice do atributo- Returns:
- o elemento XML do atributo na assinatura
- Throws:
SignatureAttributeNotFoundException
-
getFormat
-
getAlgorithmOid
- Specified by:
getAlgorithmOidin interfaceSignature<Object>
-
getPdfBytes
public byte[] getPdfBytes()Retorna os bytes da documento assinado- Returns:
- Os bytes do documento
-
getSignatureType
Retorna o tipo da assinatura- Returns:
- O tipo da assinatura
-
getDocTimestamps
-
getDocument
public org.apache.pdfbox.pdmodel.PDDocument getDocument()Retorna o documento assinado- Returns:
- O documento assinado
-
getSignatureObject
public org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature getSignatureObject() -
equals
-
hashCode
public int hashCode() -
reload
public void reload(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.pdmodel.PDDocument document, byte[] pdfBytes, List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> pdSignatures) throws IOException, PbadException- Throws:
IOExceptionPbadException
-