2010-06-02 8 views
5

Qualcuno sa se è possibile caricare un KeyStore in modo che richieda solo la password per l'alias specificato?Caricare il KeyStore Java per un alias?

Esempio:

Nel mio archivio chiavi ho due chiavi private: certificato di crittografia di Alice e certificato di crittografia di Bob.

quando carico il mio archivio chiavi:

keyStore = KeyStore.getInstance("Windows-MY", "SunMSCAPI"); 
keyStore.load(null); 

sono richiamato sia per Alice e la password dell'archivio chiavi di Bob. Una volta inseriti, posso usare getKey("Alice's Encryption Certificate", null); per recuperare la chiave privata di Alice. Le mie chiavi sono protette dal Provider di sicurezza di Entrust, è chi mi chiede le password al momento del caricamento del keystore. Se non inserisco la password di Bob e tento di ottenere la sua chiave, restituirà null, il che va bene, ma vorrei evitare la richiesta della password.

E 'possibile in qualche modo specificare che voglio solo la chiave di Alice prima di caricare il keystore quindi non mi viene mai richiesta la password di Bob?

Grazie.

+1

hm, dove vengono chieste le password di entrambi? – Bozho

+0

Le mie chiavi sono protette dal Fornitore di sicurezza di Entrust, mi suggerisce entrambe le password. –

+0

come? stai facendo questo con il codice (mostra l'intero codice correlato) o tramite keytool? – Bozho

risposta

3

Abbiamo avuto lo stesso problema e non abbiamo trovato il modo di farlo. Fondamentalmente, stai chiedendo se c'è un modo per caricare parzialmente il keystore. Rende le cose più complicate che il provider MSCAPI ignori la password che fornisci.

Abbiamo risolto il problema memorizzando solo una chiave con il keystore MSCAPI. Si scopre che funziona meglio anche con il modello di sicurezza di Smartcard.

+0

Solo sciocco, dovrebbe richiedere una password quando si tenta di esportare una chiave privata, non solo caricare il negozio. Grazie ZZ, lascerò questa domanda aperta per un altro giorno per vedere se qualcuno ha una risposta, se non accetterò il tuo. –

+0

Abbiamo avuto lo stesso problema anche se la cancellazione del keystore MY era fuori questione poiché altri sistemi si basano su certificati statici installati oltre al token USB. Abbiamo dovuto creare un servizio che lo carica ed elimina altre chiavi. Inoltre, abbiamo trovato un modo per agganciare gli eventi USB e ricevere una notifica sull'inserimento e sulla rimozione di una chiave, questo ci ha permesso di migliorare la pulizia della casa e ridurre un po 'la quantità di finestre popup, sebbene non le avessimo ancora eliminate completamente. – Newtopian