Class AbstractVerifier
java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.xades.AbstractVerifier
- All Implemented Interfaces:
AbstractVerifierInterface<XadesInformation, Element, XadesSignature>, XadesAbstractVerifierInterface
- Direct Known Subclasses:
SignatureVerifier
Esta classe trata as partes de verificação comuns entre assinaturas XAdES e
carimbos do tempo.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CertPathCaminho de certificação do assinanteprotected CertStoreRepositório de certificados que serão usados na validaçãoprotected XadesSignatureComponentComponente de assinatura XAdESprotected List<PbadException> Lista de erros de validaçãoprotected AttributeListprotected List<org.bouncycastle.cert.ocsp.OCSPResp> Repositório de respostas OCSPprotected X509CertificateCertificado da autoridade de OCSPprotected AttributeListprotected AttributeListprotected XadesSignatureAssinatura a ser verificada.protected X509CertificateCertificado do assinante -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckAlgorithmsConstraints(SignatureReport sigReport) Verifica se os algoritmos utilizados para assinatura e resumo criptográfico são válidos conforme o DOC ICP-01.01.Retorna o caminho de certificação do assinanteRetorna o repositório de certificados conhecido pelo verificadorRetorna o componente de assinatura XAdESList<org.bouncycastle.cert.ocsp.OCSPResp> Retorna uma lista de respostas OCSP conhecida pelo verificadorObtém certificado do servidor OCSPRetorna os paramêtros passados para esse verificadorRetorna a assinatura que foi passada na construção da classeRetorna o certificado do assinanteRetorna o tempo em que o carimbo do tempo foi criado pela ACT ou, caso o carimbo do tempo não existir no conjunto de atributos usados na assinatura, então retorna o tempo atual.Retorna a lista de prioridades dos carimbos do tempobooleanvoidinitialize(XadesSignature signature, SignatureVerifierParams params) Inicializa o Verifier de acodo com os parâmetrosbooleanvoidsetCertStore(CertStore certStore) Atribue um repositório de certificadosvoidsetCurrentTimeReference(Date currentTimeReference) voidInforma a lista de OCSPs que devem ser usadas pelo verificadorvoidsetOcspServerCertificate(X509Certificate ocspServerCertificate) Define o certificado do servidor OCSPprotected voidDefine o certificado do signatáriovoidsetTimeReference(Date timeReference) Atribue uma refêrencia de tempo que será utilizada no algoritmo de validação dos caminhos de certificaçãoabstract booleanverify(SignatureReport sigReport) Verifica apenas os atributos obrigatórios e valida a assinatura.protected voidverifyAttributesInMandatedList(List<PbadException> warnings, List<String> signatureAttributeList, List<String> attributesToExclude, SignatureReport sigReport) Os atributos da assinatura que tem o seu identificador presente na lista de atributos obrigatórios passados aqui serão verificados.protected voidverifyConformity(CertPath certPath, boolean advanced, SignatureReport report) Verifica se a assinatura pertence a ICP-Brasil e adiciona a InitialSignatureReport a legislação ou âncoro de confiança que é respeitada pelo certificado do assinanteprotected voidverifyOnlyUnmandatedAttributes(List<String> signatureAttributeList, List<String> attributesToExclude, SignatureReport sigReport) Verifica apenas os atributos que não são obrigatórios segundo a lista passada.protected booleanMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface AbstractVerifierInterface
getSignaturePolicy
-
Field Details
-
mandatedAttributes
-
optionalAttributes
-
prohibitedAttributes
-
signature
Assinatura a ser verificada. -
certStore
Repositório de certificados que serão usados na validação -
certPath
Caminho de certificação do assinante -
ocspServerCertificate
Certificado da autoridade de OCSP -
exceptions
Lista de erros de validação -
ocspRespList
Repositório de respostas OCSP -
signerCert
Certificado do assinante -
component
Componente de assinatura XAdES
-
-
Constructor Details
-
AbstractVerifier
public AbstractVerifier()
-
-
Method Details
-
initialize
public void initialize(XadesSignature signature, SignatureVerifierParams params) throws SignatureVerifierException Inicializa o Verifier de acodo com os parâmetros- Parameters:
signature- A assinatura a ser verificadaparams- Os parâmetros de verificação- Throws:
SignatureVerifierException- Exceção caso a assinatura seja nula
-
withReturnArtifacts
protected boolean withReturnArtifacts() -
verifyAttributesInMandatedList
protected void verifyAttributesInMandatedList(List<PbadException> warnings, List<String> signatureAttributeList, List<String> attributesToExclude, SignatureReport sigReport) Os atributos da assinatura que tem o seu identificador presente na lista de atributos obrigatórios passados aqui serão verificados.Na lista
errorsserão retornados os erros que comprometem a assinatura, já na lista dewarningsseram retornados os erros que aconteceram mas não infuenciam na validade da assinatura.Os atributos que tem seu identificador presente na lista attributesToExclude não serão verificados mesmo que presentes na lista de atributos obrigatórios
- Parameters:
warnings- será atualizada com a lista de erros, que poderão ocorrer ao validar a assinatura, mas que não a tornam inválidasignatureAttributeList- lista de atributos presentes na assinatura que devem ser levados em contaattributesToExclude- lista de atributos que devem ser desconsideradossigReport- o relatório de verificação
-
verifyOnlyUnmandatedAttributes
protected void verifyOnlyUnmandatedAttributes(List<String> signatureAttributeList, List<String> attributesToExclude, SignatureReport sigReport) Verifica apenas os atributos que não são obrigatórios segundo a lista passada. A lista de atributos que não devem ser verificados mesmo que não sejam obrigatórios será levada em conta.- Parameters:
signatureAttributeList- lista de atributos da assinaturaattributesToExclude- atributos a serem ignorados
-
setSignerCert
Define o certificado do signatário- Throws:
SignerCertificationPathException- exceção em caso de erro ao obter o certificado do assinante
-
getCertStore
-
getSignature
Retorna a assinatura que foi passada na construção da classe- Specified by:
getSignaturein interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>- Returns:
- a assinatura que é verificada
-
getTimeReference
-
isTimeStamp
public boolean isTimeStamp()- Specified by:
isTimeStampin interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>
-
getCurrentTimeReference
- Specified by:
getCurrentTimeReferencein interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>
-
getTSTimeReference
- Specified by:
getTSTimeReferencein interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>
-
hasProofOfExistence
public boolean hasProofOfExistence() -
setTimeReference
Atribue uma refêrencia de tempo que será utilizada no algoritmo de validação dos caminhos de certificação- Parameters:
timeReference- tempo que será usado como referência para a validação do caminho de certificação
-
setCurrentTimeReference
-
getCertPath
Retorna o caminho de certificação do assinante- Specified by:
getCertPathin interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>- Returns:
- o caminho de certificação do assinante
-
getOcspList
Retorna uma lista de respostas OCSP conhecida pelo verificador- Returns:
- lista de respostas OCSP
-
getOcspServerCertificate
Obtém certificado do servidor OCSP- Returns:
- o certificado do servidor OCSP
-
setCertStore
Atribue um repositório de certificados- Parameters:
certStore- o repositório de certificados
-
setOcsps
Informa a lista de OCSPs que devem ser usadas pelo verificador- Parameters:
ocsps- a lista de OCSPs que devem ser utilizadas
-
setOcspServerCertificate
Define o certificado do servidor OCSP- Parameters:
ocspServerCertificate- o certificado do servidor OCSP
-
getTimeStampPriorityList
-
getParams
Retorna os paramêtros passados para esse verificador- Returns:
- os paramêtros de inicialização
-
getComponent
Retorna o componente de assinatura XAdES- Specified by:
getComponentin interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>- Specified by:
getComponentin interfaceXadesAbstractVerifierInterface- Returns:
- o componente de assinatura XAdES
-
getSignerCert
Retorna o certificado do assinante- Specified by:
getSignerCertin interfaceAbstractVerifierInterface<XadesInformation, Element, XadesSignature>- Returns:
- o certificado do assinante
-
verify
Verifica apenas os atributos obrigatórios e valida a assinatura.Independente do resultado desse método, o método getSignatureValidationErrors deve ser chamado.
- Parameters:
sigReport- o relatório de verificação de uma assinatura- Returns:
- indica se a assinatura é válida
-
checkAlgorithmsConstraints
Verifica se os algoritmos utilizados para assinatura e resumo criptográfico são válidos conforme o DOC ICP-01.01. Caso sejam inválidos, um erro é adicionado ao relatório de assinatura.- Parameters:
sigReport- Relatório da assinatura
-
verifyConformity
Verifica se a assinatura pertence a ICP-Brasil e adiciona a InitialSignatureReport a legislação ou âncoro de confiança que é respeitada pelo certificado do assinante- Parameters:
certPath- caminho de certificaçãoadvanced- se a assinatura é avançada
-