Class PadesVerifier
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesVerifier
- All Implemented Interfaces:
Verifier
public class PadesVerifier extends Object implements Verifier
Esta classe implementa os métodos para verificação de uma assinatura PAdES.
Implementa
Verifier
.-
Constructor Summary
Constructors Constructor Description PadesVerifier(PadesSignatureComponent component)
Construtor -
Method Summary
Modifier and Type Method Description void
addValidationData(PadesSignature padesSignature)
boolean
clear()
Limpa as informações do verificadorList<String>
getAvailableAttributes()
Retorna os atributos que podem ser inseridos na assinatura selecionadaCadesSignatureComponent
getCadesSignatureComponent()
Retorna o componente de assinatura CAdESCertPath
getCertPath(Certificate certificate)
PadesSignatureComponent
getComponent()
Retorna o componente de assinatura PAdESList<String>
getMandatedAttributes()
Retorna uma lista de atributos obrigatóriosPadesSignature
getPadesSignature()
byte[]
getPDFBytes()
Retorna os bytes da assinaturaSignaturePolicyInterface
getSignaturePolicy()
Retorna a política de assinaturaX509Certificate
getSigningCertificateSigReport(SignatureReport sigReport)
Busca certificado do assinante de um relatório de assinaturaTime
getTimeReference()
Retorna a data de referênciaString
getTypeOfDictionary(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signatureObj)
Retorna o valor da entrada 'Type' no dicionário da assinaturaboolean
hasSignedData()
Verifica se a assinatura selecionada possui dados assinados.boolean
needSignedContent()
Verifica se a assinatura possui conteúdo destacadovoid
report(Report report, PadesSignature signature, byte[] detached)
Cria um objetoReport
com as informações da verificação do documentovoid
report(Report report, SignatureBytesWrapper wrapper)
Cria um objetoReport
com as informações da verificação do documentovoid
setTimeReference(Time timeReference)
Atribue a data de referênciaboolean
supports(byte[] signature, byte[] detached)
Verifica se o documento assinado é uma assinatura PAdESMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface br.ufsc.labsec.signature.Verifier
checkLastCertificateName, getUpdatedSignatureBytes, isAnchored, isGovBr, isICPBr
-
Constructor Details
-
PadesVerifier
Construtor- Parameters:
component
- Componente de assinatura PAdES
-
-
Method Details
-
getAvailableAttributes
Retorna os atributos que podem ser inseridos na assinatura selecionada- Specified by:
getAvailableAttributes
in interfaceVerifier
- Returns:
- Os atributos que podem ser inseridos na assinatura
-
clear
public boolean clear()Limpa as informações do verificador -
report
public void report(Report report, SignatureBytesWrapper wrapper) throws VerificationException, InterruptedExceptionCria um objetoReport
com as informações da verificação do documento- Specified by:
report
in interfaceVerifier
- Parameters:
report
- O relatório da verificaçãowrapper
- Um wrapper que contém a assinatura e o documento a ser verificado- Throws:
VerificationException
- Exceção caso haja algum problema na verificaçãoInterruptedException
-
report
public void report(Report report, PadesSignature signature, byte[] detached) throws VerificationException, InterruptedExceptionCria um objetoReport
com as informações da verificação do documento- Parameters:
report
- O relatório da verificaçãosignature
- A assinatura a ser verificadadetached
- Os bytes do arquivo destacado- Throws:
VerificationException
- Exceção caso haja algum problema na verificaçãoInterruptedException
-
needSignedContent
public boolean needSignedContent()Verifica se a assinatura possui conteúdo destacado- Specified by:
needSignedContent
in interfaceVerifier
- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Specified by:
getMandatedAttributes
in interfaceVerifier
- Returns:
- Uma lista de atributos obrigatórios
-
getTimeReference
Retorna a data de referência- Returns:
- A data de referência
-
setTimeReference
Atribue a data de referência- Parameters:
timeReference
- A nova data de referência
-
supports
Verifica se o documento assinado é uma assinatura PAdES- Specified by:
supports
in interfaceVerifier
- Parameters:
signature
- Os bytes do documento assinadodetached
- Os bytes do arquivo destacado- Returns:
- Indica se o documento assinado é uma assinatura PAdES
- Throws:
SignatureNotICPBrException
- Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
-
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- Specified by:
getSigningCertificateSigReport
in interfaceVerifier
- Parameters:
sigReport
- Relatório da assinatura que deseja descobrir o assinante- Returns:
- Certificado do assinate
-
getTypeOfDictionary
public String getTypeOfDictionary(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signatureObj)Retorna o valor da entrada 'Type' no dicionário da assinatura- Parameters:
signatureObj
- A assinatura- Returns:
- O valor da entrada 'Type' no dicionário da assinatura
-
addValidationData
-
getComponent
Retorna o componente de assinatura PAdES- Specified by:
getComponent
in interfaceVerifier
- Returns:
- O componente de assinatura PAdES
-
getCertPath
- Specified by:
getCertPath
in interfaceVerifier
-
getPadesSignature
-
getPDFBytes
public byte[] getPDFBytes()Retorna os bytes da assinatura- Returns:
- Os bytes da assinatura
-
getSignaturePolicy
Retorna a política de assinatura- Returns:
- A política de assinatura
-
getCadesSignatureComponent
Retorna o componente de assinatura CAdES- Returns:
- O componente de assinatura CAdES
-
hasSignedData
public boolean hasSignedData()Verifica se a assinatura selecionada possui dados assinados.- Specified by:
hasSignedData
in interfaceVerifier
- Returns:
- true por ser PADES e sempre ser attached.
-