Class DatabaseImpl

java.lang.Object
br.ufsc.labsec.signature.database.SqlDatabase
br.ufsc.labsec.signature.database.impl.DatabaseImpl
All Implemented Interfaces:
CertificateRulesDB, CompleteDatabase, Database, TrustPointDB

public class DatabaseImpl
extends SqlDatabase
implements CompleteDatabase
  • Constructor Details

  • Method Details

    • getTrustPoints

      public Set<? extends TrustPoint> getTrustPoints​(TrustPoint.TrustPointType type)
      Retorna os pontos de confiança de um determinado tipo
      Specified by:
      getTrustPoints in interface TrustPointDB
      Parameters:
      type - Tipo dos pontos de confiança
      Returns:
      Conjunto de pontos de confiança
    • getTrustPoint

      public TrustPoint getTrustPoint​(String url)
      Description copied from interface: TrustPointDB
      Retorna um ponto de confiança armazenado no banco de dados
      Specified by:
      getTrustPoint in interface TrustPointDB
      Parameters:
      url - url do ponto de confiança
      Returns:
      ponto de confiança
    • getTrustedLists

      public Set<org.apache.commons.lang3.tuple.Pair<String,​byte[]>> getTrustedLists()
      Retorna as listas confiáveis e suas urls
      Specified by:
      getTrustedLists in interface TrustPointDB
      Returns:
      Conjunto de pares de url e lista confiável
    • getTrustAnchors

      public Set<TrustAnchor> getTrustAnchors​(String... urls)
      Busca todas as âncoras de confiança no banco de dados ou as âncoras de confiança com as urls especificadas
      Specified by:
      getTrustAnchors in interface TrustPointDB
      Parameters:
      urls - urls das âncoras de confiança, se não for passado nenhum, retorna todas
      Returns:
      Conjunto de âncoras de confiança
    • insertTrustAnchor

      public void insertTrustAnchor​(String url, TrustAnchor trustAnchor)
      Insere uma âncora de confiança no banco de dados
      Specified by:
      insertTrustAnchor in interface TrustPointDB
      Parameters:
      url - Url da âncora de confiança
      trustAnchor - Âncora de confiança
    • insertTrustedList

      public void insertTrustedList​(String url, byte[] bytes, String hash)
      Insere uma lista confiável no banco de dados
      Specified by:
      insertTrustedList in interface TrustPointDB
      Parameters:
      url - Url da lista confiável
      bytes - Lista confiável
      hash - hash da lista de confiança
    • insertTrustPoint

      public TrustPoint insertTrustPoint​(String url, TrustPoint.TrustPointType type)
      Insere uma âncora de confiança no banco de dados
      Specified by:
      insertTrustPoint in interface TrustPointDB
      Parameters:
      url - Url da âncora de confiança
      type - Tipo da âncora de confiança
      Returns:
      TrustPoint
    • deleteTrustAnchor

      public void deleteTrustAnchor​(String hash)
      Remove uma âncora de confiança do banco de dados
      Specified by:
      deleteTrustAnchor in interface TrustPointDB
      Parameters:
      hash - Hash da âncora de confiança
    • deleteTrustPoint

      public void deleteTrustPoint​(String url)
      Remove as âncoras de confiança do banco de dados com o url especificado
      Specified by:
      deleteTrustPoint in interface TrustPointDB
      Parameters:
      url - Url da âncora de confiança
    • getCachedResults

      public Map<String,​TrustPointResult> getCachedResults()
      Description copied from interface: TrustPointDB
      Retorna os resultados dos pontos de confiança armazenados na cache
      Specified by:
      getCachedResults in interface TrustPointDB
      Returns:
      resultados dos pontos de confiança
    • insertCachedResult

      public void insertCachedResult​(TrustPointResult result)
      Description copied from interface: TrustPointDB
      Insere um resultado de um ponto de confiança no cache
      Specified by:
      insertCachedResult in interface TrustPointDB
      Parameters:
      result - resultado do ponto de confiança
    • insertAttributeCertificateRule

      public void insertAttributeCertificateRule​(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)
      Specified by:
      insertAttributeCertificateRule in interface CertificateRulesDB
    • removeAttributeCertificateRule

      public void removeAttributeCertificateRule​(String cnpj)
      Specified by:
      removeAttributeCertificateRule in interface CertificateRulesDB
    • removeAttributeCertificateRule

      public void removeAttributeCertificateRule​(String cnpj, String oid)
      Specified by:
      removeAttributeCertificateRule in interface CertificateRulesDB
    • getAttributeCertificateRules

      public Map<String,​Set<org.bouncycastle.asn1.ASN1ObjectIdentifier>> getAttributeCertificateRules()
      Specified by:
      getAttributeCertificateRules in interface CertificateRulesDB
    • alterAttributeCertificateRule

      public void alterAttributeCertificateRule​(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)
      Specified by:
      alterAttributeCertificateRule in interface CertificateRulesDB
    • updateCache

      public void updateCache()
      Description copied from interface: TrustPointDB
      Atualiza o cache de urls de âncoras de confiança e listas de confiança com os valores do banco de dados
      Specified by:
      updateCache in interface TrustPointDB
    • deleteTrustedList

      public void deleteTrustedList​(String hash)
      Description copied from interface: TrustPointDB
      Remove uma lista de confiança do banco de dados
      Specified by:
      deleteTrustedList in interface TrustPointDB
      Parameters:
      hash - hash da lista de confiança
    • hasTrustPoint

      public boolean hasTrustPoint​(String url)
      Verifica se existe uma âncora de confiança com o url especificado
      Specified by:
      hasTrustPoint in interface TrustPointDB
      Parameters:
      url - Url da âncora de confiança
      Returns:
      True se existir uma âncora de confiança com o url especificado
    • createTables

      protected void createTables()
      Cria o banco de dados
      Specified by:
      createTables in class SqlDatabase