Class DatabaseImpl
java.lang.Object
br.ufsc.labsec.signature.database.DatabaseImpl
- All Implemented Interfaces:
Database
public class DatabaseImpl extends Object implements Database
-
Method Summary
Modifier and Type Method Description void
alterAttributeCertificateRule(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)
static Database
create(List<TrustPoint> trustPoints, String filePath, boolean clearDatabase)
Cria o banco de dados e retorna uma instância do banco de dadosvoid
deleteTrustAnchor(String hash)
Remove uma âncora de confiança do banco de dadosvoid
deleteTrustedList(String hash)
Remove uma lista de confiança do banco de dadosvoid
deleteTrustPoint(String url)
Remove as âncoras de confiança do banco de dados com o url especificadoMap<String,Set<org.bouncycastle.asn1.ASN1ObjectIdentifier>>
getAttributeCertificateRules()
Map<String,TrustPointResult>
getCachedResults()
Retorna os resultados dos pontos de confiança armazenados na cachestatic Database
getDatabase(List<TrustPoint> trustPoints, Path databasePath, boolean clearDatabase)
static Database
getDefaultDatabase(Path databasePath, boolean clearDatabase)
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 especificadasSet<org.apache.commons.lang3.tuple.Pair<String,byte[]>>
getTrustedLists()
Retorna as listas confiáveis e suas urlsTrustPoint
getTrustPoint(String url)
Retorna um ponto de confiança armazenado no banco de dadosSet<? extends TrustPoint>
getTrustPoints(TrustPoint.TrustPointType type)
Retorna os pontos de confiança de um determinado tipoboolean
hasTrustPoint(String url)
Verifica se existe uma âncora de confiança com o url especificadovoid
insertAttributeCertificateRule(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)
void
insertCachedResult(TrustPointResult result)
Insere um resultado de um ponto de confiança no cachevoid
insertTrustAnchor(String url, TrustAnchor trustAnchor)
Insere uma âncora de confiança no banco de dadosvoid
insertTrustedList(String url, byte[] bytes, String hash)
Insere uma lista confiável no banco de dadosTrustPoint
insertTrustPoint(String url, TrustPoint.TrustPointType type)
Insere uma âncora de confiança no banco de dadosvoid
removeAttributeCertificateRule(String cnpj)
void
removeAttributeCertificateRule(String cnpj, String oid)
void
updateCache()
Atualiza o cache de urls de âncoras de confiança e listas de confiança com os valores do banco de dadosMethods 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.database.Database
getTrustPoints
-
Method Details
-
getTrustPoints
Retorna os pontos de confiança de um determinado tipo- Specified by:
getTrustPoints
in interfaceDatabase
- Parameters:
type
- Tipo dos pontos de confiança- Returns:
- Conjunto de pontos de confiança
-
getTrustPoint
Description copied from interface:Database
Retorna um ponto de confiança armazenado no banco de dados- Specified by:
getTrustPoint
in interfaceDatabase
- Parameters:
url
- url do ponto de confiança- Returns:
- ponto de confiança
-
getTrustedLists
Retorna as listas confiáveis e suas urls- Specified by:
getTrustedLists
in interfaceDatabase
- Returns:
- Conjunto de pares de url e lista confiável
-
getTrustAnchors
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 interfaceDatabase
- Parameters:
urls
- urls das âncoras de confiança, se não for passado nenhum, retorna todas- Returns:
- Conjunto de âncoras de confiança
-
insertTrustAnchor
Insere uma âncora de confiança no banco de dados- Specified by:
insertTrustAnchor
in interfaceDatabase
- Parameters:
url
- Url da âncora de confiançatrustAnchor
- Âncora de confiança
-
insertTrustedList
Insere uma lista confiável no banco de dados- Specified by:
insertTrustedList
in interfaceDatabase
- Parameters:
url
- Url da lista confiávelbytes
- Lista confiávelhash
- hash da lista de confiança
-
insertTrustPoint
Insere uma âncora de confiança no banco de dados- Specified by:
insertTrustPoint
in interfaceDatabase
- Parameters:
url
- Url da âncora de confiançatype
- Tipo da âncora de confiança- Returns:
- TrustPoint
-
deleteTrustAnchor
Remove uma âncora de confiança do banco de dados- Specified by:
deleteTrustAnchor
in interfaceDatabase
- Parameters:
hash
- Hash da âncora de confiança
-
deleteTrustPoint
Remove as âncoras de confiança do banco de dados com o url especificado- Specified by:
deleteTrustPoint
in interfaceDatabase
- Parameters:
url
- Url da âncora de confiança
-
getCachedResults
Description copied from interface:Database
Retorna os resultados dos pontos de confiança armazenados na cache- Specified by:
getCachedResults
in interfaceDatabase
- Returns:
- resultados dos pontos de confiança
-
insertCachedResult
Description copied from interface:Database
Insere um resultado de um ponto de confiança no cache- Specified by:
insertCachedResult
in interfaceDatabase
- Parameters:
result
- resultado do ponto de confiança
-
insertAttributeCertificateRule
public void insertAttributeCertificateRule(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)- Specified by:
insertAttributeCertificateRule
in interfaceDatabase
-
removeAttributeCertificateRule
- Specified by:
removeAttributeCertificateRule
in interfaceDatabase
-
removeAttributeCertificateRule
- Specified by:
removeAttributeCertificateRule
in interfaceDatabase
-
getAttributeCertificateRules
- Specified by:
getAttributeCertificateRules
in interfaceDatabase
-
alterAttributeCertificateRule
public void alterAttributeCertificateRule(String cnpj, Collection<org.bouncycastle.asn1.ASN1ObjectIdentifier> oids)- Specified by:
alterAttributeCertificateRule
in interfaceDatabase
-
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 interfaceDatabase
-
deleteTrustedList
Description copied from interface:Database
Remove uma lista de confiança do banco de dados- Specified by:
deleteTrustedList
in interfaceDatabase
- Parameters:
hash
- hash da lista de confiança
-
hasTrustPoint
Verifica se existe uma âncora de confiança com o url especificado- Specified by:
hasTrustPoint
in interfaceDatabase
- Parameters:
url
- Url da âncora de confiança- Returns:
- True se existir uma âncora de confiança com o url especificado
-
create
public static Database create(List<TrustPoint> trustPoints, String filePath, boolean clearDatabase)Cria o banco de dados e retorna uma instância do banco de dados- Parameters:
trustPoints
- Conjunto de âncoras de confiança iniciaisfilePath
- Caminho do arquivo do banco de dadosclearDatabase
- Se o arquivo deve ser apagado caso exista- Returns:
- Instância do banco de dados
-
getDefaultDatabase
-
getDatabase
public static Database getDatabase(List<TrustPoint> trustPoints, Path databasePath, boolean clearDatabase)
-