Class PadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<PadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.pades.PadesVerifier
- All Implemented Interfaces:
AbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>, PadesAbstractVerifierInterface, Verifier
public class PadesVerifier
extends AbstractSignatureVerifier<PadesSignature>
implements PadesAbstractVerifierInterface
Esta classe implementa os métodos para verificação de uma assinatura PAdES.
Implementa
Verifier.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DateTempo 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.booleanbooleanbooleanVerifica se a assinatura possui conteúdo destacadovoidreport(Report report, SignatureContainer<PadesSignature> signatureContainer) Cria um objetoReportcom as informações da verificação do documentovoidreport(Report report, PadesSignature signature, PadesSignatureContainer container) 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(Date timeReference) Atribui a data de referênciabooleansupports(byte[] signature, byte[] detached) Verifica se o documento assinado é uma assinatura PAdESMethods inherited from class AbstractSignatureVerifier
addPolicyToVerificationPackage, getContainerBytes, getCurrentTimeReference, getReceiptRequest, getReport, 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 AbstractVerifierInterface
getCurrentTimeReferenceMethods 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
Retorna os atributos que podem ser inseridos na assinatura selecionada- Specified by:
getAvailableAttributesin interfaceVerifier- Returns:
- Os atributos que podem ser inseridos na assinatura
-
clear
-
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- Specified by:
reportin 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, 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- Specified by:
needSignedContentin interfaceVerifier- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Specified by:
getMandatedAttributesin interfaceVerifier- Returns:
- Uma lista de atributos obrigatórios
-
supports
Verifica se o documento assinado é uma assinatura PAdES- Specified by:
supportsin 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
-
getSigningCertificate
- Specified by:
getSigningCertificatein classAbstractSignatureVerifier<PadesSignature>
-
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- Specified by:
getSigningCertificateSigReportin 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
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 interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>- Specified by:
getComponentin interfacePadesAbstractVerifierInterface- 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
- Specified by:
getCertPathin interfaceVerifier
-
getSignature
- Specified by:
getSignaturein interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>
-
getCertPath
- Specified by:
getCertPathin interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>
-
isTimeStamp
public boolean isTimeStamp()- Specified by:
isTimeStampin interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>
-
getSignerCert
- Specified by:
getSignerCertin interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>
-
getTSTimeReference
- Specified by:
getTSTimeReferencein interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>
-
getPDFBytes
public byte[] getPDFBytes()Retorna os bytes da assinatura- Specified by:
getPDFBytesin interfacePadesAbstractVerifierInterface- Returns:
- Os bytes da assinatura
-
getSignaturePolicy
Retorna a política de assinatura- Specified by:
getSignaturePolicyin interfaceAbstractVerifierInterface<PadesInformation, PadesEncoded, PadesSignature>- Returns:
- A política de assinatura
-
getCadesSignatureComponent
Retorna o componente de assinatura CAdES- Specified by:
getCadesSignatureComponentin interfacePadesAbstractVerifierInterface- Returns:
- O componente de assinatura CAdES
-
hasSignedData
public boolean hasSignedData()Verifica se a assinatura selecionada possui dados assinados.- Specified by:
hasSignedDatain interfaceVerifier- Returns:
- true por ser PADES e sempre ser attached.
-
isPadesAndICPBrasil
public boolean isPadesAndICPBrasil()- Specified by:
isPadesAndICPBrasilin interfacePadesAbstractVerifierInterface
-