2012-06-25 11 views
7

All.I sto lavorando su un progetto Android. Devo generare una coppia di chiavi RSA quindi usarle per comunicare con gli altri. Devo memorizzare la chiave privata e la chiave pubblica in un posto sicuro e trovo che potrebbe essere usato KeyStore.Come memorizzare chiave privata e chiave pubblica nel KeyStore

Vedo che KeyStore potrebbe memorizzare KeyStore.PrivateKeyEntry ma ha bisogno di una catena di certificati []. Ho provato a crearlo ma ho fallito ...

C'è qualcuno che può incollare qualche codice di esempio usato per memorizzare la chiave privata e la chiave pubblica.

Grazie mille!

+1

Salve, devi creare/gestire i certificati a livello di codice ?. Perché non è necessario scrivere alcun codice per creare o importare certificati nel keystore. Puoi usare [keytool] (http://docs.oracle.com/javase/7/docs/technotes/tools/windows/keytool.html) per questo. – sperumal

+0

Ciao supermal, grazie della tua risposta. Devo terminare questo programmaticamente. –

+0

dai un'occhiata ai documenti http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html –

risposta

6

Come hai detto tu, per poter memorizzare la chiave privata nel keystore, hai bisogno della chiave privata (che hai) e della catena di certificati per la chiave pubblica corrispondente. Quello che hai è solo la chiave pubblica, devi ottenere un certificato da un'autorità basata sulla tua chiave pubblica. Sì, puoi firmare automaticamente il certificato. Ma non penso ci sia alcuna API Java costruita per creare e firmare automaticamente un certificato a livello di codice.

C'è stata una discussione simile su questo thread. La soluzione accettata descrive l'archiviazione della chiave privata e della chiave pubblica all'esterno del keystore in un file protetto.

Si può leggere di più su Java Cryptography Architecture qui http://docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html

Spero che questo aiuti.

+2

Solo un commento. La soluzione accettata collegata memorizza le chiavi in ​​file non protetti. – Andy

Problemi correlati