è stata creata una chiave privata (e associati pubblico) nel vostro keystore. Perché sia veramente utilizzabile, è possibile farlo firmare da un'agenzia di certificazione (CA) - per questo è il comando -certreq
(si invia l'output a questa agenzia di certificazione, insieme ad altre informazioni e un po 'di denaro, e si invia indietro un certificato, che puoi quindi importare nel tuo keystore.)
La visualizzazione della chiave privata non è destinata ... di solito non ti serve, dato che usi il keystore nel tuo programma Java, e questo sa come per usarlo.
Edit: Dal momento che si vuole guardare il vostro chiavi, ecco un programma rapido Java che fa questo:
import java.io.*;
import java.security.*;
import java.security.cert.Certificate;
public class KeyPrinter {
/**
* to be invoked with these parameters:
*
* [0]: keystore-password
* [1]: filename
* [2]: alias
* [3]: entry-Password (if necessary)
*/
public static void main(String[] params)
throws IOException, GeneralSecurityException
{
char[] storePass = params[0].toCharArray();
String fileName = params[1];
String alias = params[2];
KeyStore.ProtectionParameter entryPass;
if(params.length > 3) {
entryPass=new KeyStore.PasswordProtection(params[3].toCharArray());
} else {
entryPass = null;
}
KeyStore store = KeyStore.getInstance("JKS");
InputStream input = new FileInputStream(fileName);
store.load(input, storePass);
KeyStore.Entry entry = store.getEntry(alias, entryPass);
System.out.println(entry);
}
}
Prima chiamata keytool -list -keystore myStore
sapere quali alias cercare, quindi chiamare questo programma con le password e i parametri. Nel caso di una chiave privata, mostra la chiave stessa e inoltre un certificato autofirmato che contiene la chiave pubblica, in una forma leggibile. Nel caso di un "certificato di fiducia", mostra solo la chiave pubblica.
fonte
2011-02-05 15:29:36
Ok, quindi la visualizzazione della chiave privata non è intuita. Che cos'è la chiave pubblica? Esiste un comando per visualizzare la chiave pubblica? – Cratylus
Ho appena aggiunto una semplice classe java per visualizzare il keystore. (E 'stato un po' più complicato, ho persino provato a formattare la chiave ... fino a quando non ho avuto l'idea di provare il metodo 'toString()'.) –
@MircoWidmer - grazie per il tuo [modifica suggerimento] (http://stackoverflow.com/review/suggested-edits/11463131). Non ho idea del motivo per cui le persone l'hanno rifiutato (le ragioni citate certamente non sono valide) quando stavi semplicemente correggendo un refuso. L'ho risolto ora. –