API Java para a persistência e criptografia de arquivos de configuração XML e Properties

2 respostas
V

Gostaria de divulgar uma API desenvolvida durante a conclusão de um curso de pós-graduação em Java e desta forma agradecer as demais contribuições do GUJ que ajudaram no desenvolvimento do trabalho.

A API facilita a leitura e persistência de arquivos de configuração nos formatos XML e Properties utilizando criptografia para proteger dados sensíveis, também utiliza anotações e possui uma interface para criptografar e descriptografar atributos facilitando assim a vida do programador.
O projeto tem grande utilidade visto que praticamente todos os projetos utilizam arquivos de configuração com intuito de armazenar informações de pendências com outros serviços, como por exemplo, IP, usuário e senha de banco de dados, usuário e senha Ldap e etc.

Exemplo de uso Properties

Arquivo de propriedades: teste.properties

nome=Ricardo Vasselai detalhe=Ko4IrG7xMWk= quantidade=5

Entidade anotada: Classe Tipo

@PropertiesEntity(file="teste.properties",cryptoKey="xyz") public class Tipo { private String nome; @Encrypted private String detalhe; private int quantidade; //Construtor padrão, gets e sets...

Código para carregar e persistir:

ConfigManager cm = new ConfigManager("c:/tmp"); //diretório onde se encontra o arquivo Tipo tipo = cm.load(Tipo.class); //Carregando cm.persist(tipo); //Persistindo

Exemplo de uso XML

Arquivo XML: teste.xml

<tipo> <detalhe>Ko4IrG7xMWk=</detalhe> <nome>Ricardo</nome> <quantidade>5</quantidade> </tipo>

Entidade Anotada: Classe Tipo

@XmlEntity(file="teste.xml",cryptoKey="xyz") @XmlRootElement public class Tipo { private String nome; @Encrypted private String detalhe; private int quantidade; //Construtor padrão, gets e sets...

Código para ler e gravar:

ConfigManager cm= new ConfigManager(Util.getPathInPackge("br.test.cfg")); //Pacote onde está o arquivo Tipo tipo = cm.load(Tipo.class); //Carregando cm.persist(tipo); //Persistindo

Interface para criptografar, descriptografar atributos e gerar chaves aleatórias:

A API se encontra no SourceForge no endereço: http://sourceforge.net/projects/configapi/
Neste endereço também se encontram detalhes da implementação com PDFs sobre o assunto.

O projeto tem algumas pendências:

  • gnu-crypto: já se encontra no projeto enviado para o SourceForge e pode ser encontrado em http://www.gnu.org/software/gnu-crypto/
  • JAXB-API: somente para quem está abaixo JDK 6 update 5 que também está no projeto enviado para o SourceForge

2 Respostas

J

Hehe Valeu!
Ta precisando exatamente disso!
Abraços!

V

Que bom que a API pode lhe ajudar.
Já a utilizo em 5 projetos onde eu trabalho.
Sinta-se tranqüilo em usar e se quiser em alterar o código também.
Qualquer dúvida é só perguntar.
Abraço.

Criado 2 de setembro de 2009
Ultima resposta 30 de set. de 2009
Respostas 2
Participantes 2