Boa tarde,
Estou estudando sobre Hibernate 3 com annotations, já consegui fazer funcionar, porém notei que o arquivos de configuração (hibernate.properties) fica visível para qualquer pessoa, dessa maneira uma pessoa que tenha algum conhecimento de Java consegue descobrir a senha do banco de dados.
Explicando melhor. Por exemplo, usando o banco de dados MySQL, conecto com o usuário root e senha root, só que ninguem pode saber que a senha é root, preciso de uma forma de deixar encriptografado, para ninguem descompactar meu jar e ver o hibernate.properties lá.
Outra pergunta, tem como deixar fora do classpath? Eu tenho um config.properties que uso em meu programa, eu poderia deixar estas informações ai, é possivel?
Obrigado!
O ideal seria a conexão não ficar dentro de sua aplicação… O correto é você configurar o pool no servidor de aplicação, e obte-lo através de JNDI.
Esse arquivo estando no servidor de aplicação fica bem mais seguro. Agora não sei se é possível criptografar esse arquivo no servidor de aplicação.
Ex de configuração para obtenção do pool de dentro da aplicação:
hibernate.connection.datasource = java:/comp/env/jdbc/test
Utilizando a propriedade acima vc não precisa descrever nenhuma das propriedades abaixo:
hibernate.connection.password
hibernate.connection.username
hibernate.jndi.url
Agora para configurar o pool no servidor depende do servidor que vc está utilizando.
Espero ter ajudado.
Para utilizar criptografia nos arquivos do hibernate use jasypt…
http://www.jasypt.org/hibernate3.html
abç
Depois de feito o deploy da sua aplicação seus arquivos de configuração ficarão (geralmente) na pasta WEB-INF/classes. Desta forma ninguém poderá acessar por URL o conteúdo da pasta WEB-INF/.
Abraços…
[quote=serjaumfantin]Depois de feito o deploy da sua aplicação seus arquivos de configuração ficarão (geralmente) na pasta WEB-INF/classes. Desta forma ninguém poderá acessar por URL o conteúdo da pasta WEB-INF/.
Abraços…[/quote]
Estou usando pra desktop, ai fica no .jar como disse anteriormente.
Mesmo assim obrigado
[quote=mgarcia]Para utilizar criptografia nos arquivos do hibernate use jasypt…
http://www.jasypt.org/hibernate3.html
abç[/quote]
Vou dar uma olhada sobre isso 
Muito obrigado!
[quote=mgarcia]Para utilizar criptografia nos arquivos do hibernate use jasypt…
http://www.jasypt.org/hibernate3.html
abç[/quote]
Cara, podia me dar uma dica? não consegui fazer.
Estou olhando aqui: http://www.jasypt.org/encrypting-configuration.html
Ainda não consegui!
Alguem me da uma luz?
Obrigado!