Class XadesVerifier
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.AbstractXadesSigner
br.ufsc.labsec.signature.conformanceVerifier.xades.XadesVerifier
- All Implemented Interfaces:
Verifier
public class XadesVerifier extends AbstractXadesSigner implements 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 XadesAttributeFactory
attributeFactory
Fábrica de atributosFields inherited from class br.ufsc.labsec.signature.conformanceVerifier.xades.AbstractXadesSigner
signature, xadesSignatureComponent
-
Constructor Summary
Constructors Constructor Description XadesVerifier(XadesSignatureComponent xadesSignatureComponent)
Construtor -
Method Summary
Modifier and Type Method Description void
addCounterSignatureToSignatureReport(SignatureReport signatureReport)
Adiciona o relatório de contra-assinatura passado ao relatório da assinaturavoid
addValidationData(XadesSignature xadesSignature)
Adiciona novos certificados e CRLs ao SignatureIdentityInformation da assinatura de acordo com 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 selecionadaList<Certificate>
getCertificateValues(XadesSignature xadesSignature)
Retorna a lista de certificados do atributo CertificateValuesList<String>
getMandatedAttributes()
Retorna uma lista de atributos obrigatóriosProfile.AdESType
getPolicyType()
Retorna o tipo da política de assinaturaXadesSignature
getSelectedSignature()
Retorna a assinatura selecionadaXadesSignatureContainer
getSignatureContainer()
Retorna o contâiner das assinaturasCertificate
getSignerCertificate(XadesSignature sig)
Tenta encontrar o certificado do assinante, buscando primeiro no KeyInfo e depois no atributo SiningCertificate.X509Certificate
getSigningCertificateSigReport(SignatureReport sigReport)
Busca certificado do assinante de um relatório de assinaturaboolean
needSignedContent()
Verifica se a assinatura possui conteúdo destacadovoid
report(Report report, SignatureBytesWrapper wrapper)
Constrói um objetoReport
com as informações da verificaçãovoid
selectSignatures(boolean isComplete)
Carrega as informações das assinaturas presentes no contâiner XAdEsvoid
selectTarget(byte[] target, byte[] content)
Inicializa os bytes do documento XAdES assinadovoid
selectTarget(SignatureBytesWrapper wrapper)
void
setPolicyType(Profile.AdESType policyType)
Atribue o tipo da política de assinaturaboolean
supports(byte[] sig, byte[] detached)
Verifica se o documento assinado é uma assinatura XAdESprotected boolean
validSignature(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.conformanceVerifier.xades.AbstractXadesSigner
getCertPath, getComponent, getMandatedSignedAttributeList, getMandatedUnsignedAttributeList, getPoliciesAvailable, getSignature, getSignedAttributesAvailable, getUnsignedAttributes, getUnsignedAttributesAvailable, selectAttribute, unselectAttribute
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, getCertPath, isAnchored, isGovBr, isICPBr
-
Field Details
-
attributeFactory
Fábrica de atributos
-
-
Constructor Details
-
XadesVerifier
Construtor- Parameters:
xadesSignatureComponent
- Componente de assinatura XAdES
-
-
Method Details
-
getSelectedSignature
Retorna a assinatura selecionada- Returns:
- A assinatura XAdES selecionada
-
getSignerCertificate
Tenta encontrar o certificado do assinante, buscando primeiro no KeyInfo e depois no atributo SiningCertificate.- Parameters:
sig
- Assinatura contendo KeyInfo ou SigningCertificate- Returns:
- Certificado do assinante
-
addValidationData
Adiciona novos certificados e CRLs ao SignatureIdentityInformation da assinatura de acordo com a presença dos atributos CertificateValues e RevocationValues- Parameters:
xadesSignature
- A assinatura XAdES
-
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
-
getAvailableAttributes
Retorna os atributos que podem ser inseridos na assinatura selecionada- Specified by:
getAvailableAttributes
in interfaceVerifier
- 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 -
report
public void report(Report report, SignatureBytesWrapper wrapper) throws VerificationException, InterruptedExceptionConstrói um objetoReport
com as informações da verificação- Specified by:
report
in interfaceVerifier
- Parameters:
report
- O relatório a ser preenchidowrapper
- Wrapper com a assinatura e o conteúdo assinado- Throws:
VerificationException
- Exceção caso haja algum problema na verificaçãoInterruptedException
-
getSigningCertificateSigReport
Busca certificado do assinante de um relatório de assinatura- Specified by:
getSigningCertificateSigReport
in interfaceVerifier
- Parameters:
sigReport
- Relatório da assinatura que deseja descobrir o assinante- Returns:
- Certificado do assinate
-
selectTarget
- Throws:
VerificationException
-
selectTarget
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- Specified by:
needSignedContent
in interfaceVerifier
- Returns:
- Indica se a assinatura possui conteúdo destacado
-
getMandatedAttributes
Retorna uma lista de atributos obrigatórios- Specified by:
getMandatedAttributes
in interfaceVerifier
- Returns:
- Uma lista de atributos obrigatórios
-
supports
Verifica se o documento assinado é uma assinatura XAdES- Specified by:
supports
in interfaceVerifier
- 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
-
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
Retorna o contâiner das assinaturas- Returns:
- Contâiner das assinaturas
-