Class PadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<PadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesVerifier
- All Implemented Interfaces:
 Verifier
public class PadesVerifier extends AbstractSignatureVerifier<PadesSignature>
Esta classe implementa os métodos para verificação de uma assinatura PAdES.
 Implementa 
Verifier.- 
Field Summary
Fields Modifier and Type Field Description protected TimetimeReferenceTempo que será levado em conta para validar a assinaturaFields inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer - 
Constructor Summary
Constructors Constructor Description PadesVerifier(PadesSignatureComponent component)Construtor - 
Method Summary
Modifier and Type Method Description voidaddValidationData(PadesSignature padesSignature)Captura e adiciona artefatos presentes na assinatura (como certificados e CRLs) ao SignatureIdentityInformation da assinatura conforme a presença dos atributos CertificateValues e RevocationValuesbooleanclear()Limpa as informações do verificadorList<String>getAvailableAttributes()Retorna os atributos que podem ser inseridos na assinatura selecionadaCadesSignatureComponentgetCadesSignatureComponent()Retorna o componente de assinatura CAdESCertPathgetCertPath(Certificate certificate)PadesSignatureComponentgetComponent()Obtém o componente de assinaturasList<String>getMandatedAttributes()Retorna uma lista de atributos obrigatóriosbyte[]getPDFBytes()Retorna os bytes da assinaturaPadesSignatureContainergetSignatureContainer()Retorna o container contendo a assinaturaSignaturePolicyInterfacegetSignaturePolicy()Retorna a política de assinaturaX509CertificategetSigningCertificate(PadesSignature padesSignature)X509CertificategetSigningCertificateSigReport(SignatureReport sigReport)Busca certificado do assinante de um relatório de assinaturaTimegetTimeReference()Retorna a data de referênciaStringgetTypeOfDictionary(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signatureObj)Retorna o valor da entrada 'Type' no dicionário da assinaturabooleanhasSignedData()Verifica se a assinatura selecionada possui dados assinados.booleanisPadesAndICPBrasil()booleanneedSignedContent()Verifica se a assinatura possui conteúdo destacadovoidreport(Report report, PadesSignature signature, PadesSignatureContainer container)Cria um objetoReportcom as informações da verificação do documentovoidreport(Report report, SignatureContainer<PadesSignature> signatureContainer)Cria um objetoReportcom as informações da verificação do documentovoidreport(Report report, SignatureWrapper wrapper)Cria um objetoReportcom as informações da verificação do documentovoidsetTimeReference(Time timeReference)Atribui a data de referênciabooleansupports(byte[] signature, byte[] detached)Verifica se o documento assinado é uma assinatura PAdESMethods inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, setup, setupLpaSig, signatureContainerChanged, withReturnArtifactsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface br.ufsc.labsec.signature.Verifier
checkLastCertificateName, isAnchored, isGovBr, isICPBr 
- 
Field Details
- 
timeReference
Tempo que será levado em conta para validar a assinatura 
 - 
 - 
Constructor Details
- 
PadesVerifier
Construtor- Parameters:
 component- Componente de assinatura PAdES
 
 - 
 - 
Method Details
- 
getTimeReference
Retorna a data de referência- Returns:
 - A data de referência
 
 - 
setTimeReference
Atribui a data de referência- Parameters:
 timeReference- A nova data de referência
 - 
getAvailableAttributes
Retorna os atributos que podem ser inseridos na assinatura selecionada- Returns:
 - Os atributos que podem ser inseridos na assinatura
 
 - 
clear
public boolean clear()Limpa as informações do verificador- Returns:
 - Indica se a limpeza foi bem sucedida
 
 - 
report
public void report(Report report, SignatureContainer<PadesSignature> signatureContainer) throws VerificationException, InterruptedExceptionCria um objetoReportcom as informações da verificação do documento- Specified by:
 reportin classAbstractSignatureVerifier<PadesSignature>- Parameters:
 report- O relatório da verificaçãosignatureContainer- Contêiner com as assinaturas- Throws:
 VerificationException- Exceção caso haja algum problema na verificaçãoInterruptedException
 - 
report
public void report(Report report, SignatureWrapper wrapper) throws VerificationException, InterruptedExceptionCria um objetoReportcom as informações da verificação do documento- 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, PadesSignatureContainer container) throws VerificationException, InterruptedExceptionCria um objetoReportcom as informações da verificação do documento- Parameters:
 report- O relatório da verificaçãosignature- A assinatura a ser verificada- Throws:
 VerificationException- Exceção caso haja algum problema na verificaçãoInterruptedException
 - 
needSignedContent
public boolean needSignedContent()Verifica se a assinatura possui conteúdo destacado- Returns:
 - Indica se a assinatura possui conteúdo destacado
 
 - 
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Returns:
 - Uma lista de atributos obrigatórios
 
 - 
supports
Verifica se o documento assinado é uma assinatura PAdES- 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
 - 
getSigningCertificate
- Specified by:
 getSigningCertificatein classAbstractSignatureVerifier<PadesSignature>
 - 
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- 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
Description copied from class:AbstractSignatureVerifierCaptura e adiciona artefatos presentes na assinatura (como certificados e CRLs) ao SignatureIdentityInformation da assinatura conforme a presença dos atributos CertificateValues e RevocationValues- Specified by:
 addValidationDatain classAbstractSignatureVerifier<PadesSignature>- Parameters:
 padesSignature- A assinatura
 - 
getComponent
Description copied from class:AbstractSignatureVerifierObtém o componente de assinaturas- Specified by:
 getComponentin interfaceVerifier- Specified by:
 getComponentin classAbstractSignatureVerifier<PadesSignature>- Returns:
 - Componente de assinatura
 
 - 
getSignatureContainer
Description copied from class:AbstractSignatureVerifierRetorna o container contendo a assinatura- Specified by:
 getSignatureContainerin classAbstractSignatureVerifier<PadesSignature>- Returns:
 - Container da assinatura
 
 - 
getCertPath
 - 
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.- Returns:
 - true por ser PADES e sempre ser attached.
 
 - 
isPadesAndICPBrasil
public boolean isPadesAndICPBrasil() 
 -