Class InMemoryDatabase

java.lang.Object
br.ufsc.labsec.signature.database.InMemoryDatabase
All Implemented Interfaces:
Database

public class InMemoryDatabase
extends Object
implements Database
  • Constructor Details

  • Method Details

    • getTrustPoints

      public Set<? extends TrustPoint> getTrustPoints​(TrustPoint.TrustPointType type)
      Description copied from interface: Database
      Retorna os pontos de confiança armazenados no banco de dados
      Specified by:
      getTrustPoints in interface Database
      Parameters:
      type - tipo dos pontos de confiança
      Returns:
      pontos de confiança
    • getTrustPoint

      public TrustPoint getTrustPoint​(String url)
      Description copied from interface: Database
      Retorna um ponto de confiança armazenado no banco de dados
      Specified by:
      getTrustPoint in interface Database
      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()
      Description copied from interface: Database
      Retorna as listas de confiança armazenadas no banco de dados
      Specified by:
      getTrustedLists in interface Database
      Returns:
      listas de confiança
    • getTrustAnchors

      public Set<TrustAnchor> getTrustAnchors​(String... urls)
      Description copied from interface: Database
      Retorna as âncoras de confiança armazenadas no banco de dados
      Specified by:
      getTrustAnchors in interface Database
      Parameters:
      urls - urls das âncoras de confiança, se não for passado nenhum, retorna todas
      Returns:
      âncoras de confiança
    • insertTrustAnchor

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

      public void insertTrustedList​(String url, byte[] bytes, String hash)
      Description copied from interface: Database
      Insere uma lista de confiança no banco de dados
      Specified by:
      insertTrustedList in interface Database
      Parameters:
      url - url da lista de confiança
      bytes - bytes da lista de confiança
      hash - hash da lista de confiança
    • insertTrustPoint

      public TrustPoint insertTrustPoint​(String url, TrustPoint.TrustPointType type)
      Description copied from interface: Database
      Insere um ponto de confiança no banco de dados
      Specified by:
      insertTrustPoint in interface Database
      Parameters:
      url - url do ponto de confiança
      type - tipo do ponto de confiança
      Returns:
      o ponto de confiança inserido
    • deleteTrustedList

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

      public boolean hasTrustPoint​(String url)
      Description copied from interface: Database
      Verifica se um ponto de confiança está presente no banco de dados
      Specified by:
      hasTrustPoint in interface Database
      Parameters:
      url - url do ponto de confiança
      Returns:
      true se o ponto de confiança está presente no banco de dados
    • deleteTrustAnchor

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

      public void deleteTrustPoint​(String url)
      Description copied from interface: Database
      Remove um ponto de confiança do banco de dados
      Specified by:
      deleteTrustPoint in interface Database
      Parameters:
      url - url do ponto de confiança
    • getCachedResults

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

      public void insertCachedResult​(TrustPointResult result)
      Description copied from interface: Database
      Insere um resultado de um ponto de confiança no cache
      Specified by:
      insertCachedResult in interface Database
      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 Database
    • removeAttributeCertificateRule

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

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

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

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

      public void updateCache()
      Description copied from interface: Database
      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 Database
    • getDefault

      public static InMemoryDatabase getDefault()
    • getDefaultWithPbad

      public static InMemoryDatabase getDefaultWithPbad()