Class XadesVerifier
java.lang.Object
br.ufsc.labsec.signature.AbstractSignatureVerifier<XadesSignature>
br.ufsc.labsec.signature.conformanceVerifier.xades.XadesVerifier
- All Implemented Interfaces:
 Verifier
public class XadesVerifier extends AbstractSignatureVerifier<XadesSignature>
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
Fields Modifier and Type Field Description protected XadesAttributeFactoryattributeFactoryFábrica de atributosFields inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
component, report, selectedSignature, signatureChanged, signatureContainer - 
Constructor Summary
Constructors Constructor Description XadesVerifier(XadesSignatureComponent xadesSignatureComponent)Construtor - 
Method Summary
Modifier and Type Method Description voidaddCounterSignatureToSignatureReport(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 verificadorList<String>getAvailableAttributes()Retorna os atributos que podem ser inseridos na assinatura selecionadaList<Certificate>getCertificateValues(XadesSignature xadesSignature)Retorna a lista de certificados do atributo CertificateValuesCertPathgetCertPath(Certificate certificate)XadesSignatureComponentgetComponent()Obtém o componente de assinaturasList<String>getMandatedAttributes()Retorna uma lista de atributos obrigatóriosProfile.AdESTypegetPolicyType()Retorna o tipo da política de assinaturaXadesSignatureContainergetSignatureContainer()Retorna o container contendo a assinaturaX509CertificategetSigningCertificate(XadesSignature sig)Tenta encontrar o certificado do assinante, buscando primeiro no KeyInfo e depois no atributo SiningCertificate.X509CertificategetSigningCertificateSigReport(SignatureReport sigReport)Busca certificado do assinante de um relatório de assinaturabooleanhasSignedData()Verifica se a assinatura selecionada possui dados assinados.booleanneedSignedContent()Verifica 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 XAdEsXadesSignatureContainerselectTarget(byte[] target, byte[] content)Inicializa os bytes do documento XAdES assinadoXadesSignatureContainerselectTarget(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 booleanvalidSignature(XadesSignature s)Verifica se a assinatura foi feita com um certificado ICP-Brasil e se é uma assinatura XAdESMethods inherited from class br.ufsc.labsec.signature.AbstractSignatureVerifier
getContainerBytes, getCurrentTimeReference, getSelectedSignature, makeVerificationPackage, setCurrentTimeReference, 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
- 
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
Retorna os atributos que podem ser inseridos na assinatura selecionada- Returns:
 - Os atributos que podem ser inseridos na assinatura
 
 - 
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 InterruptedExceptionConstró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, VerificationExceptionConstró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 VerificationExceptionInicializa 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
Retorna uma lista de atributos obrigatórios- Returns:
 - Uma lista de atributos obrigatórios
 
 - 
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.
 
 
 -