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 inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
currentTimeReference, timeReference
-
Constructor Summary
Constructors Constructor Description PadesVerifier(PadesSignatureComponent component)
Construtor -
Method Summary
Modifier and Type Method Description void
addValidationData(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 RevocationValuesboolean
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 PAdESbyte[]
getContainerBytes()
List<String>
getMandatedAttributes()
Retorna uma lista de atributos obrigatóriosPadesSignature
getPadesSignature()
byte[]
getPDFBytes()
Retorna os bytes da assinaturaSignaturePolicyInterface
getSignaturePolicy()
Retorna a política de assinaturaX509Certificate
getSigningCertificate(PadesSignature padesSignature)
X509Certificate
getSigningCertificateSigReport(SignatureReport sigReport)
Busca certificado do assinante de um relatório de assinaturaString
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
isPadesAndICPBrasil()
boolean
needSignedContent()
Verifica se a assinatura possui conteúdo destacadovoid
report(Report report, PadesSignature signature, PadesSignatureContainer container)
Cria um objetoReport
com as informações da verificação do documentovoid
report(Report report, SignatureContainer<PadesSignature> signatureContainer)
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 documentoboolean
signatureContainerChanged()
Verifica se o container de assinatura foi alterado para verificaçãoboolean
supports(byte[] signature, byte[] detached)
Verifica se o documento assinado é uma assinatura PAdESMethods inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
getCurrentTimeReference, getTimeReference, setCurrentTimeReference, setTimeReference
Methods 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, 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- 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 objetoReport
com as informações da verificação do documento- Specified by:
report
in 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, SignatureBytesWrapper wrapper) throws VerificationException, InterruptedExceptionCria um objetoReport
com 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 objetoReport
com 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:
getSigningCertificate
in 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:AbstractSignatureVerifier
Captura 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:
addValidationData
in classAbstractSignatureVerifier<PadesSignature>
- Parameters:
padesSignature
- A assinatura
-
getComponent
Retorna o componente de assinatura PAdES- Returns:
- O componente de assinatura PAdES
-
getCertPath
-
getContainerBytes
public byte[] getContainerBytes() -
signatureContainerChanged
public boolean signatureContainerChanged()Description copied from interface:Verifier
Verifica se o container de assinatura foi alterado para verificação- Returns:
- true se o container de assinatura foi alterado, false caso contrário
-
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.- Returns:
- true por ser PADES e sempre ser attached.
-
isPadesAndICPBrasil
public boolean isPadesAndICPBrasil()
-