Class XadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<XadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.xades.XadesVerifier
- All Implemented Interfaces:
Verifier
Esta classe implementa os métodos para verificação de um documento assinado XAdES.
Implementa
Verifier.
Esta classe implementa os métodos para verificação de um documento assinado
XAdES.
Estende AbstractXadesSigner e implementa Verifier.-
Field Summary
FieldsFields inherited from class AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCounterSignatureToSignatureReport(SignatureReport signatureReport) Adiciona o relatório de contra-assinatura passado ao relatório da assinaturavoidaddValidationData(XadesSignature xadesSignature) 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 selecionadagetCertificateValues(XadesSignature xadesSignature) Retorna a lista de certificados do atributo CertificateValuesgetCertPath(Certificate certificate) Obtém o componente de assinaturasRetorna uma lista de atributos obrigatóriosRetorna o tipo da política de assinaturaRetorna o container contendo a assinaturaTenta encontrar o certificado do assinante, buscando primeiro no KeyInfo e depois no atributo SiningCertificate.getSigningCertificateSigReport(SignatureReport sigReport) Busca certificado do assinante de um relatório de assinaturabooleanVerifica se a assinatura selecionada possui dados assinados.booleanVerifica se a assinatura possui conteúdo destacadovoidreport(Report report, SignatureContainer<XadesSignature> signatureContainer) Constrói um objetoReportcom as informações da verificaçãovoidreport(Report report, SignatureWrapper wrapper) Constrói um objetoReportcom as informações da verificaçãovoidselectSignatures(boolean isComplete) Carrega as informações das assinaturas presentes no contâiner XAdEsselectTarget(byte[] target, byte[] content) Inicializa os bytes do documento XAdES assinadoselectTarget(SignatureWrapper wrapper) voidsetPolicyType(Profile.AdESType policyType) Atribue o tipo da política de assinaturaprotected voidsetup()booleansupports(byte[] sig, byte[] detached) Verifica se o documento assinado é uma assinatura XAdESprotected booleanVerifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura XAdESMethods inherited from class AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, 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
-
attributeFactory
Fábrica de atributos
-
-
Constructor Details
-
XadesVerifier
Construtor- Parameters:
xadesSignatureComponent- Componente de assinatura XAdES
-
-
Method Details
-
getSigningCertificate
Tenta encontrar o certificado do assinante, buscando primeiro no KeyInfo e depois no atributo SiningCertificate.- Specified by:
getSigningCertificatein classAbstractSignatureVerifier<XadesSignature>- Parameters:
sig- Assinatura contendo KeyInfo ou SigningCertificate- Returns:
- Certificado do assinante
-
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<XadesSignature>- Parameters:
xadesSignature- A assinatura
-
setup
protected void setup()- Overrides:
setupin classAbstractSignatureVerifier<XadesSignature>
-
selectSignatures
Carrega as informações das assinaturas presentes no contâiner XAdEs- Parameters:
isComplete- Se o relatório deve ser completo ou não- Throws:
InterruptedException
-
getCertificateValues
Retorna a lista de certificados do atributo CertificateValues- Parameters:
xadesSignature- A assinatura XAdES- Returns:
- A lista de certificados presente no atributo da assinatura CertificateValues
-
getComponent
Description copied from class:AbstractSignatureVerifierObtém o componente de assinaturas- Specified by:
getComponentin interfaceVerifier- Specified by:
getComponentin classAbstractSignatureVerifier<XadesSignature>- Returns:
- Componente de assinatura
-
getAvailableAttributes
-
getPolicyType
Retorna o tipo da política de assinatura- Returns:
- O tipo da política
-
setPolicyType
Atribue o tipo da política de assinatura- Parameters:
policyType- O tipo da política
-
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<XadesSignature> signatureContainer) throws InterruptedException Constrói um objetoReportcom as informações da verificação- Specified by:
reportin classAbstractSignatureVerifier<XadesSignature>- Parameters:
report- O relatório a ser preenchidosignatureContainer- Contêiner com as assinaturas- Throws:
InterruptedException
-
report
public void report(Report report, SignatureWrapper wrapper) throws InterruptedException, VerificationException Constrói um objetoReportcom as informações da verificação- Parameters:
report- O relatório a ser preenchidowrapper- Wrapper com a assinatura e o conteúdo assinado- Throws:
InterruptedExceptionVerificationException
-
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
-
selectTarget
- Throws:
VerificationException
-
selectTarget
public XadesSignatureContainer selectTarget(byte[] target, byte[] content) throws VerificationException Inicializa os bytes do documento XAdES assinado- Parameters:
target- Os bytes do documento XAdES assinadocontent- Os bytes do conteúdo assinado no documento- Throws:
VerificationException- Exceção caso os bytes não sejam uma assinatura válida
-
addCounterSignatureToSignatureReport
Adiciona o relatório de contra-assinatura passado ao relatório da assinatura- Parameters:
signatureReport- O relatório de contra-assinatura a ser adicionado
-
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 XAdES- Parameters:
sig- Os bytes do documento assinadodetached- Os bytes do arquivo destacado- Returns:
- Indica se o documento assinado é uma assinatura XAdES
- Throws:
SignatureNotICPBrException- Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
-
getCertPath
-
validSignature
Verifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura XAdES- Parameters:
s- A assinatura a ser verificada- Returns:
- Indica se a assinatura é uma assinatura XAdES e ICP-Brasil
- Throws:
SignatureNotICPBrException- Exceção caso a assinatura não seja feita com um certificado ICP-Brasil
-
getSignatureContainer
Description copied from class:AbstractSignatureVerifierRetorna o container contendo a assinatura- Specified by:
getSignatureContainerin classAbstractSignatureVerifier<XadesSignature>- Returns:
- Container da assinatura
-
hasSignedData
public boolean hasSignedData()Verifica se a assinatura selecionada possui dados assinados.- Returns:
- true se os dados assinados estiverem presentes ou se o tipo da assinatura não for detached; false caso contrário.
-