java.lang.Object
br.ufsc.labsec.signature.conformanceVerifier.validationService.ValidationDataService

public class ValidationDataService
extends Object
Esta classe é responsável pela validação da AIA (Authority Information Access) dos certificados digitais
  • Field Details

  • Constructor Details

    • ValidationDataService

      public ValidationDataService()
  • Method Details

    • downloadCertChainFromAia

      public static List<X509Certificate> downloadCertChainFromAia​(X509Certificate signerCert) throws AIAException
      Realiza o download da cadeia de certificação através da AIA do certificado
      Parameters:
      signerCert - O certificado do qual será buscado a cadeia de certificação
      Returns:
      Lista de certificados na ordem da cadeia de certificação do certificado
      Throws:
      AIAException - exceção caso o certificado não possua AIA ou em caso de erro na codificação do certificado
    • downloadCertChainFromAia

      public static List<X509Certificate> downloadCertChainFromAia​(Object certificate, Map<URL,​List<X509Certificate>> aiaCache) throws AIAException
      Realiza o download da cadeia de certificação através da AIA do certificado
      Parameters:
      certificate - O certificado do qual será buscado a cadeia de certificação
      aiaCache - cache de certificados da AIA
      Returns:
      Lista de certificados na ordem da cadeia de certificação do certificado
      Throws:
      AIAException - exceção caso o certificado não possua AIA ou em caso de erro na codificação do certificado
    • getValidationData

      public static ValidationDataReport getValidationData​(X509Certificate subjectCert, X509Certificate issuerCert)
      Gera um relatório de validação do certificado
      Parameters:
      subjectCert - O certificado a ser verificado
      issuerCert - O certificado do emissor
      Returns:
      Relatório com as informações da validação do certificado
    • loadAuthorityInformationAccess

      public static org.bouncycastle.asn1.x509.AuthorityInformationAccess loadAuthorityInformationAccess​(Object cert) throws AIAException
      Gera uma AIA através da informação no certificado dado
      Parameters:
      cert - O certificado do qual será carregada a AIA
      Returns:
      A AIA do certificado
      Throws:
      AIAException - exceção caso o certificado esteja com erro de codificação
    • downloadCertificateChain

      public static List<X509Certificate> downloadCertificateChain​(URL accessLocationUrl) throws IOException, CertificateException
      Realiza o download da cadeia de certificação disponível na URL
      Parameters:
      accessLocationUrl - A URL onde será feito o download
      Returns:
      Lista de certificados que pertencem à cadeia de certificação
      Throws:
      IOException - exceção em caso de erro na conexão
      CertificateException - exceção em caso de erro na conexão
    • orderCertList

      public static List<X509Certificate> orderCertList​(Collection<X509Certificate> certs, X509Certificate signerCert) throws AIAException
      Ordena uma lista de certificados para que a ordem reflita a cadeia de certificação
      Parameters:
      certs - A lista de certificados a ser ordenada
      signerCert - O certificado do assinante, isto é, o nível mais baixo na cadeia de certificação
      Returns:
      Uma lista de certificados ordenada de acordo com a cadeia de certificação
      Throws:
      AIAException - exceção caso algum certificado não tenha as informações de seu emissor