2013-01-14 15 views
5

Sto sviluppando un'applicazione web su Java, Spring, JDBC, che viene distribuita su Tomcat 7. Sto eseguendo la crittografia/decrittografia di una password di origine dati utilizzando la chiave privata .Dove posso salvare la chiave privata utilizzata nel codice java

Ora ho questa chiave privata codificata nel codice Java. Ma Devo salvare la chiave privata in un posto più sicuro. Come posso fare questo?

È una buona idea generare un certificato (key-store, key-pair), installarlo su tomcat e recuperare questi dati dal codice java?

+0

Utilizzare un keystore. È possibile inserire una password sulla chiave privata e una password separata sul file keystore. Controlla la mia risposta su questa domanda per qualche codice: http://stackoverflow.com/questions/14272842/open-x509-certificate-store-from-java-apis/14273320#14273320 – nablex

risposta

1

Questo è un problema che non è facile risolvere. Se si memorizza la chiave in un keystore sarà necessaria una chiave per accedere al keystore e dove lo memorizzi?

Se questa è davvero un'applicazione di sicurezza elevata, l'unico modo è utilizzare una cassetta di sicurezza hardware dedicata per eseguire la decrittografia.

+0

Cosa intendi con l'uso di una sicurezza hardware dedicata scatola? Devo salvare il mio keystore in un archivio dedicato dedicato? – mariami

+0

Per alta sicurezza si, ma molto probabilmente la vostra applicazione non ha bisogno di quel livello di sicurezza perché quindi si preferisce cifrare i dati sensibili già presenti nel database. – Henry