Class PadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<PadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesVerifier
- All Implemented Interfaces:
Verifier
Esta classe implementa os métodos para verificação de uma assinatura PAdES.
Implementa
Verifier.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected TimeTempo que será levado em conta para validar a assinaturaFields inherited from class AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddValidationData(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 verificadorRetorna os atributos que podem ser inseridos na assinatura selecionadaRetorna o componente de assinatura CAdESgetCertPath(Certificate certificate) Obtém o componente de assinaturasRetorna uma lista de atributos obrigatóriosbyte[]Retorna os bytes da assinaturaRetorna o container contendo a assinaturaRetorna a política de assinaturagetSigningCertificate(PadesSignature padesSignature) getSigningCertificateSigReport(SignatureReport sigReport) Busca certificado do assinante de um relatório de assinaturaRetorna a data de referênciagetTypeOfDictionary(org.apache.pdfbox.pdmodel.interactive.digitalsignature.PDSignature signatureObj) Retorna o valor da entrada 'Type' no dicionário da assinaturabooleanVerifica se a assinatura selecionada possui dados assinados.booleanbooleanVerifica 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 AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, setup, setupLpaSig, signatureContainerChanged, withReturnArtifactsMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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
-
setTimeReference
Atribui a data de referência- Parameters:
timeReference- A nova data de referência
-
getAvailableAttributes
-
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, InterruptedException Cria 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, InterruptedException Cria 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, InterruptedException Cria 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
-
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()
-