2009-05-11 14 views
10

La configurazione dell'origine dati standard in JBoss richiede che il nome utente e la password dell'utente del database siano nel file xxx-ds.xml. Se definisco la mia fonte di dati come mbean c3p0, ho riscontrato lo stesso problema.Crittografia delle informazioni sensibili nella configurazione di JBoss

Esiste un modo standard per crittografare l'utente e la password? Qual è un buon posto per salvare la chiave?

Questo ovviamente rilevante per Tomcat troppo - file context.xml, i file di configurazione di primavera, ecc

+1

Ho sempre avuto questo stesso problema e non ho mai trovato una buona soluzione. – Owen

risposta

6

C'è un documento wiki là fuori: http://www.jboss.org/community/docs/DOC-9703 che descrive questo.

+0

Grazie, ci provo. –

+0

È anche possibile controllare il capitolo del manuale dedicato esattamente a quello (questo è il manuale v6.0): http://docs.jboss.org/jbosssecurity/docs/6.0/security_guide/html/Encrypting_Data_Source_Passwords.html – Chepech

1

per la parte primavera, è possibile utilizzare la propria estensione del PropertyPlaceholderConfigurer di Spring con String ConvertiPropertyValue (String originalValue) sovrascritto. Come la javadoc per il metodo lo menziona (in realtà in PropertyResourceConfigurer superclasse):

Convertire il valore di proprietà specificato dall'origine delle proprietà al valore che deve essere applicato.

L'implementazione predefinita restituisce semplicemente il valore originale. Può essere sovrascritto in sottoclassi, ad esempio per rilevare i valori crittografati e decodificarli di conseguenza.

Ciò significa che è possibile configurare l'origine dati con $ {encoded.value} nel file xml di primavera e decodificare il valore prima di iniettare il valore decodificato nell'origine dati.

+0

Buona idea. Grazie –

Problemi correlati