Class PDDocumentUtils
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pdf.PDDocumentUtils
- Direct Known Subclasses:
ObjectEvaluation
public class PDDocumentUtils extends Object
Esta classe engloba métodos úteis para lidar com modificações
no arquivo PDF.
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPDDocumentUtils.OurPDSignature -
Field Summary
Fields Modifier and Type Field Description static org.apache.pdfbox.cos.COSNameACTIONstatic org.apache.pdfbox.cos.COSNameETSI_RFC3161static org.apache.pdfbox.cos.COSNameLOCK -
Constructor Summary
Constructors Constructor Description PDDocumentUtils() -
Method Summary
Modifier and Type Method Description static <T extends org.apache.pdfbox.cos.COSBase>
Optional<T>as(org.apache.pdfbox.cos.COSBase b, Class<T> clazz)static org.apache.pdfbox.cos.COSObjectasCOSObject(org.apache.pdfbox.cos.COSBase b)static <T extends org.apache.pdfbox.cos.COSBase>
booleancompare(org.apache.pdfbox.cos.COSArray array1, org.apache.pdfbox.cos.COSArray array2, Class<T> clazz)static intcomparePosition(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature1, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature2)static booleancontainsTransformMethod(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static voidcopyVisualSignature(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Copia a representação visual de uma assinatura para todas as páginas.static byte[]digest(PadesSignature signature)static byte[]digest(org.bouncycastle.asn1.ASN1ObjectIdentifier identifier, PadesSignature signature)static byte[]DIGEST(PadesSignature signature)static byte[]DIGEST(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfBytes)static byte[]DIGEST(org.bouncycastle.asn1.ASN1ObjectIdentifier identifier, PadesSignature signature)static booleanequalLock(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static org.apache.pdfbox.cos.COSNamefieldTypeFromHierarchy(org.apache.pdfbox.cos.COSBase base)static StringformatXpath(String before, String now)Formata o XPath de uma assinatura PDF, dado o Xpath anterior e o que deve ser concatenadostatic Optional<org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm>getAcroForm(org.apache.pdfbox.pdmodel.PDDocument document)static List<PDDocumentUtils.OurPDSignature>getApprovalSignatures(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature certificationSignature)static Optional<org.apache.pdfbox.cos.COSDictionary>getBaseAcroForm(org.apache.pdfbox.pdmodel.PDDocument document)static StringgetBaseIdentification(boolean isSignature)static Optional<org.apache.pdfbox.pdmodel.PDDocumentCatalog>getCatalog(org.apache.pdfbox.pdmodel.PDDocument document)static PDDocumentUtils.OurPDSignaturegetCertificationSignature(org.apache.pdfbox.pdmodel.PDDocument document)static org.apache.pdfbox.cos.COSBasegetDocMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Retorna o dicionário DocMDP do objeto de assinatura.static intgetDocMDPValue(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Retorna o valor do parâmetro P do dicionário DocMDP.static intgetDocMDPValueOrElse(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, int defaultValue)Retorna o valor do parâmetro P do dicionário DocMDP ou um valor padrão caso não exista.static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>>getEmbeddedFiles(org.apache.pdfbox.pdmodel.PDDocument document)static Stream<org.apache.commons.lang3.tuple.Pair<byte[],String>>getEmbeddedFiles(org.apache.pdfbox.pdmodel.PDDocument pdfDoc, String xpathBefore)Checa se há EmbeddedFiles no documento que está sendo analisado e, caso possua, faça recursão de geração de relatóriostatic org.apache.pdfbox.cos.COSBasegetEntry(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName name)static org.apache.pdfbox.cos.COSBasegetFieldMDP(org.apache.pdfbox.cos.COSBase base)static org.apache.pdfbox.cos.COSBasegetFieldMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static List<org.apache.pdfbox.cos.COSBase>getFieldsFromHierarchy(org.apache.pdfbox.cos.COSArray array)static voidgetFieldsFromHierarchy(org.apache.pdfbox.cos.COSArray array, List<org.apache.pdfbox.cos.COSBase> leafFields)static List<org.apache.pdfbox.cos.COSBase>getFieldsFromHierarchy(org.apache.pdfbox.pdmodel.PDDocument document)static org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignaturegetFirstSignature(org.apache.pdfbox.pdmodel.PDDocument document, boolean withUpdateRules)Retorna a primeira assinatura realizada no documento, conforme o byte range de atualizações incrementaisstatic StringgetFullyQualifiedName(org.apache.pdfbox.cos.COSBase base)static org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignaturegetLastSignature(org.apache.pdfbox.pdmodel.PDDocument document)Retorna a última assinatura realizada no documentostatic Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>>getNamedObjects(org.apache.pdfbox.cos.COSDictionary treeNode)static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>>getNamedObjects(org.apache.pdfbox.cos.COSDictionary nameDictionary, org.apache.pdfbox.cos.COSName entry)static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>>getNamedPages(org.apache.pdfbox.pdmodel.PDDocument document)static Optional<org.apache.pdfbox.pdmodel.PDDocumentNameDictionary>getNamesDictionary(org.apache.pdfbox.pdmodel.PDDocument document)static StringgetObjectIdentification(org.apache.pdfbox.cos.COSObject object, boolean isSignature)Formata as Strings que representam a identificação de uma assinatura no documento PDF (equivalente a XPath)static List<org.apache.pdfbox.cos.COSBase>getPageObjects(org.apache.pdfbox.pdmodel.PDDocument document)static org.apache.pdfbox.cos.COSBasegetReference(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName method)static org.apache.pdfbox.cos.COSBasegetReference(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSName method)static StringgetReferenceFromSignature(List<org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField> rawSignatures, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Correlacionar o COSObject de rawSignatures com a instância de PDSignature, por seus dicionáriosstatic Optional<org.apache.pdfbox.cos.COSArray>getReferences(org.apache.pdfbox.cos.COSBase base)static Optional<org.apache.pdfbox.cos.COSArray>getReferences(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static List<org.apache.pdfbox.cos.COSDictionary>getReferencesAsList(org.apache.pdfbox.cos.COSBase base)static List<org.apache.pdfbox.cos.COSDictionary>getReferencesAsList(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static Optional<org.apache.pdfbox.cos.COSArray>getRootFields(org.apache.pdfbox.pdmodel.PDDocument document)static List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature>getSignatures(org.apache.pdfbox.pdmodel.PDDocument document)static org.apache.pdfbox.pdmodel.PDDocumentgetSignedDocument(byte[] pdfBytes, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static org.apache.pdfbox.cos.COSBasegetWidgetParent(org.apache.pdfbox.cos.COSBase base)static booleanhasDocMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static booleanhasDocMDP(org.apache.pdfbox.pdmodel.PDDocument document)static booleanhasEntry(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName entry)static booleanhasFieldMDP(org.apache.pdfbox.cos.COSBase base)static booleanhasFieldMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)static booleanhasJavaScript(org.apache.pdfbox.pdmodel.PDDocument document)static booleanisAnnotation(org.apache.pdfbox.cos.COSBase base)static booleanisField(org.apache.pdfbox.cos.COSBase base)static booleanisNonTerminalField(org.apache.pdfbox.cos.COSBase base)static booleanisPage(org.apache.pdfbox.cos.COSBase base)static booleanisPageNode(org.apache.pdfbox.cos.COSBase base)static booleanisPageObject(org.apache.pdfbox.cos.COSBase base)static booleanisSignatureDictionary(org.apache.pdfbox.cos.COSBase base, boolean timestamp)static booleanisSignatureField(org.apache.pdfbox.cos.COSBase base)static booleanisSignatureField(org.apache.pdfbox.cos.COSBase base, boolean timestamp)static booleanisSignatureWidget(org.apache.pdfbox.cos.COSBase base)static booleanisSignedSignatureField(org.apache.pdfbox.cos.COSBase base)static booleanisTerminalField(org.apache.pdfbox.cos.COSBase base)static booleanisTimestampWidget(org.apache.pdfbox.cos.COSBase base)static booleanisUnsignedSignatureField(org.apache.pdfbox.cos.COSBase base)static booleanisWidget(org.apache.pdfbox.cos.COSBase base)static org.apache.pdfbox.pdmodel.PDDocumentopenPDDocument(byte[] documentBytes)static org.apache.pdfbox.pdmodel.PDDocumentopenPDDocument(InputStream documentStream)static org.apache.pdfbox.pdmodel.PDDocumentopenPDDocument(InputStream documentStream, int size)static booleansigns(org.apache.pdfbox.cos.COSDictionary signature, long offset)static booleansigns(org.apache.pdfbox.cos.COSDictionary signature, org.apache.pdfbox.cos.COSObjectKey key, org.apache.pdfbox.pdmodel.PDDocument document)static booleansigns(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, long offset)static booleansigns(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSObjectKey key, org.apache.pdfbox.pdmodel.PDDocument document)static booleansigns(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSObject object, org.apache.pdfbox.pdmodel.PDDocument document)
-
Field Details
-
ETSI_RFC3161
public static final org.apache.pdfbox.cos.COSName ETSI_RFC3161 -
LOCK
public static final org.apache.pdfbox.cos.COSName LOCK -
ACTION
public static final org.apache.pdfbox.cos.COSName ACTION
-
-
Constructor Details
-
PDDocumentUtils
public PDDocumentUtils()
-
-
Method Details
-
getLastSignature
public static org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature getLastSignature(org.apache.pdfbox.pdmodel.PDDocument document)Retorna a última assinatura realizada no documento- Parameters:
document- Documento PDF- Returns:
- A última assinatura do documento
-
getFirstSignature
public static org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature getFirstSignature(org.apache.pdfbox.pdmodel.PDDocument document, boolean withUpdateRules)Retorna a primeira assinatura realizada no documento, conforme o byte range de atualizações incrementais- Parameters:
document- Documento PDF- Returns:
- A primeira assinatura do documento
-
getReferences
public static Optional<org.apache.pdfbox.cos.COSArray> getReferences(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
getReferences
public static Optional<org.apache.pdfbox.cos.COSArray> getReferences(org.apache.pdfbox.cos.COSBase base) -
getReferencesAsList
public static List<org.apache.pdfbox.cos.COSDictionary> getReferencesAsList(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
getReferencesAsList
public static List<org.apache.pdfbox.cos.COSDictionary> getReferencesAsList(org.apache.pdfbox.cos.COSBase base) -
containsTransformMethod
public static boolean containsTransformMethod(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
getFullyQualifiedName
-
isWidget
public static boolean isWidget(org.apache.pdfbox.cos.COSBase base) -
isPage
public static boolean isPage(org.apache.pdfbox.cos.COSBase base) -
isPageNode
public static boolean isPageNode(org.apache.pdfbox.cos.COSBase base) -
isPageObject
public static boolean isPageObject(org.apache.pdfbox.cos.COSBase base) -
getPageObjects
public static List<org.apache.pdfbox.cos.COSBase> getPageObjects(org.apache.pdfbox.pdmodel.PDDocument document) -
getCatalog
public static Optional<org.apache.pdfbox.pdmodel.PDDocumentCatalog> getCatalog(org.apache.pdfbox.pdmodel.PDDocument document) -
getAcroForm
public static Optional<org.apache.pdfbox.pdmodel.interactive.form.PDAcroForm> getAcroForm(org.apache.pdfbox.pdmodel.PDDocument document) -
getBaseAcroForm
public static Optional<org.apache.pdfbox.cos.COSDictionary> getBaseAcroForm(org.apache.pdfbox.pdmodel.PDDocument document) -
getRootFields
public static Optional<org.apache.pdfbox.cos.COSArray> getRootFields(org.apache.pdfbox.pdmodel.PDDocument document) -
getFieldsFromHierarchy
public static List<org.apache.pdfbox.cos.COSBase> getFieldsFromHierarchy(org.apache.pdfbox.pdmodel.PDDocument document) -
signs
public static boolean signs(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSObject object, org.apache.pdfbox.pdmodel.PDDocument document) -
signs
public static boolean signs(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSObjectKey key, org.apache.pdfbox.pdmodel.PDDocument document) -
signs
public static boolean signs(org.apache.pdfbox.cos.COSDictionary signature, org.apache.pdfbox.cos.COSObjectKey key, org.apache.pdfbox.pdmodel.PDDocument document) -
getEntry
public static org.apache.pdfbox.cos.COSBase getEntry(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName name) -
hasEntry
public static boolean hasEntry(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName entry) -
equalLock
public static boolean equalLock(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) throws IOException- Throws:
IOException
-
compare
public static <T extends org.apache.pdfbox.cos.COSBase> boolean compare(org.apache.pdfbox.cos.COSArray array1, org.apache.pdfbox.cos.COSArray array2, Class<T> clazz) -
signs
public static boolean signs(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, long offset) -
signs
public static boolean signs(org.apache.pdfbox.cos.COSDictionary signature, long offset) -
getFieldsFromHierarchy
public static List<org.apache.pdfbox.cos.COSBase> getFieldsFromHierarchy(org.apache.pdfbox.cos.COSArray array) -
getFieldsFromHierarchy
public static void getFieldsFromHierarchy(org.apache.pdfbox.cos.COSArray array, List<org.apache.pdfbox.cos.COSBase> leafFields) -
getNamesDictionary
public static Optional<org.apache.pdfbox.pdmodel.PDDocumentNameDictionary> getNamesDictionary(org.apache.pdfbox.pdmodel.PDDocument document) -
getEmbeddedFiles
public static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>> getEmbeddedFiles(org.apache.pdfbox.pdmodel.PDDocument document) -
getNamedPages
public static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>> getNamedPages(org.apache.pdfbox.pdmodel.PDDocument document) -
getNamedObjects
public static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>> getNamedObjects(org.apache.pdfbox.cos.COSDictionary nameDictionary, org.apache.pdfbox.cos.COSName entry) -
getNamedObjects
public static Stream<org.apache.commons.lang3.tuple.Pair<org.apache.pdfbox.cos.COSString,org.apache.pdfbox.cos.COSBase>> getNamedObjects(org.apache.pdfbox.cos.COSDictionary treeNode) -
isAnnotation
public static boolean isAnnotation(org.apache.pdfbox.cos.COSBase base) -
isField
public static boolean isField(org.apache.pdfbox.cos.COSBase base) -
isSignedSignatureField
public static boolean isSignedSignatureField(org.apache.pdfbox.cos.COSBase base) -
isUnsignedSignatureField
public static boolean isUnsignedSignatureField(org.apache.pdfbox.cos.COSBase base) -
isSignatureField
public static boolean isSignatureField(org.apache.pdfbox.cos.COSBase base) -
isSignatureField
public static boolean isSignatureField(org.apache.pdfbox.cos.COSBase base, boolean timestamp) -
isSignatureDictionary
public static boolean isSignatureDictionary(org.apache.pdfbox.cos.COSBase base, boolean timestamp) -
comparePosition
public static int comparePosition(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature1, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature2) -
getCertificationSignature
public static PDDocumentUtils.OurPDSignature getCertificationSignature(org.apache.pdfbox.pdmodel.PDDocument document) -
getReference
public static org.apache.pdfbox.cos.COSBase getReference(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, org.apache.pdfbox.cos.COSName method) -
getReference
public static org.apache.pdfbox.cos.COSBase getReference(org.apache.pdfbox.cos.COSBase base, org.apache.pdfbox.cos.COSName method) -
getDocMDP
public static org.apache.pdfbox.cos.COSBase getDocMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Retorna o dicionário DocMDP do objeto de assinatura.- Parameters:
signature- A assinatura do documento- Returns:
- O dicionário DocMDP ou null se não existir
-
getDocMDPValue
public static int getDocMDPValue(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Retorna o valor do parâmetro P do dicionário DocMDP.- Parameters:
signature- A assinatura do documento- Returns:
- O valor do parâmetro P ou -1 se não existir ou não for um dicionário válido
-
getDocMDPValueOrElse
public static int getDocMDPValueOrElse(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, int defaultValue)Retorna o valor do parâmetro P do dicionário DocMDP ou um valor padrão caso não exista.- Parameters:
signature- A assinatura do documentodefaultValue- O valor padrão a ser retornado caso o dicionário DocMDP não exista ou não contenha o parâmetro P- Returns:
- O valor do parâmetro P ou o valor padrão fornecido
-
hasDocMDP
public static boolean hasDocMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
hasDocMDP
public static boolean hasDocMDP(org.apache.pdfbox.pdmodel.PDDocument document) -
getFieldMDP
public static org.apache.pdfbox.cos.COSBase getFieldMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
getFieldMDP
public static org.apache.pdfbox.cos.COSBase getFieldMDP(org.apache.pdfbox.cos.COSBase base) -
hasFieldMDP
public static boolean hasFieldMDP(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) -
hasFieldMDP
public static boolean hasFieldMDP(org.apache.pdfbox.cos.COSBase base) -
getApprovalSignatures
public static List<PDDocumentUtils.OurPDSignature> getApprovalSignatures(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature certificationSignature) -
getSignedDocument
public static org.apache.pdfbox.pdmodel.PDDocument getSignedDocument(byte[] pdfBytes, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) throws IOException- Throws:
IOException
-
getWidgetParent
public static org.apache.pdfbox.cos.COSBase getWidgetParent(org.apache.pdfbox.cos.COSBase base) -
isSignatureWidget
public static boolean isSignatureWidget(org.apache.pdfbox.cos.COSBase base) -
isTimestampWidget
public static boolean isTimestampWidget(org.apache.pdfbox.cos.COSBase base) -
isTerminalField
public static boolean isTerminalField(org.apache.pdfbox.cos.COSBase base) -
isNonTerminalField
public static boolean isNonTerminalField(org.apache.pdfbox.cos.COSBase base) -
fieldTypeFromHierarchy
public static org.apache.pdfbox.cos.COSName fieldTypeFromHierarchy(org.apache.pdfbox.cos.COSBase base) -
as
-
asCOSObject
public static org.apache.pdfbox.cos.COSObject asCOSObject(org.apache.pdfbox.cos.COSBase b) -
openPDDocument
public static org.apache.pdfbox.pdmodel.PDDocument openPDDocument(byte[] documentBytes) throws IOException- Throws:
IOException
-
openPDDocument
public static org.apache.pdfbox.pdmodel.PDDocument openPDDocument(InputStream documentStream) throws IOException- Throws:
IOException
-
openPDDocument
public static org.apache.pdfbox.pdmodel.PDDocument openPDDocument(InputStream documentStream, int size) throws IOException- Throws:
IOException
-
getEmbeddedFiles
public static Stream<org.apache.commons.lang3.tuple.Pair<byte[],String>> getEmbeddedFiles(org.apache.pdfbox.pdmodel.PDDocument pdfDoc, String xpathBefore)Checa se há EmbeddedFiles no documento que está sendo analisado e, caso possua, faça recursão de geração de relatório- Parameters:
pdfDoc- Documento PDF analisado no momentoxpathBefore- XPath anterior analisado (para montar hierarquias de assinaturas)
-
formatXpath
Formata o XPath de uma assinatura PDF, dado o Xpath anterior e o que deve ser concatenado- Parameters:
before- XPath anteriornow- Xpath a ser concatenado- Returns:
- XPath concatenado
-
getReferenceFromSignature
public static String getReferenceFromSignature(List<org.apache.pdfbox.pdmodel.interactive.form.PDSignatureField> rawSignatures, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature)Correlacionar o COSObject de rawSignatures com a instância de PDSignature, por seus dicionários- Parameters:
rawSignatures- Lista de COSObject correspondentes à assinaturassignature- Instância de PDSignature que deve ser feita correlação- Returns:
- XPath de referência da assinatura
-
getObjectIdentification
public static String getObjectIdentification(org.apache.pdfbox.cos.COSObject object, boolean isSignature)Formata as Strings que representam a identificação de uma assinatura no documento PDF (equivalente a XPath)- Parameters:
object- Objeto que detém a informação de identificação no documento- Returns:
- XPath formatado de identificação da assinatura no documento PDF
-
getBaseIdentification
-
getSignatures
public static List<org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature> getSignatures(org.apache.pdfbox.pdmodel.PDDocument document) -
digest
- Throws:
IOException
-
digest
public static byte[] digest(org.bouncycastle.asn1.ASN1ObjectIdentifier identifier, PadesSignature signature) throws IOException- Throws:
IOException
-
DIGEST
-
DIGEST
public static byte[] DIGEST(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature, byte[] pdfBytes) -
DIGEST
public static byte[] DIGEST(org.bouncycastle.asn1.ASN1ObjectIdentifier identifier, PadesSignature signature) -
copyVisualSignature
public static void copyVisualSignature(org.apache.pdfbox.pdmodel.PDDocument document, org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signature) throws IOExceptionCopia a representação visual de uma assinatura para todas as páginas. Não faz nada caso a assinatura não seja encontrada no documento ou não tenha representação visual.- Parameters:
document- Documento com assinaturasignature- Assinatura com representação visual a ser copiada- Throws:
IOException- Caso ocorra algum erro ao manipular o documento
-
hasJavaScript
public static boolean hasJavaScript(org.apache.pdfbox.pdmodel.PDDocument document)
-