Ho un sacco di file .keystore e ho bisogno di trovarne uno con CN e alias specifici. C'è un modo per farlo con keytool, jarsigner o qualche altro strumento? Ho trovato un modo per verificare se un keystore specifico è stato utilizzato per firmare un apk specifico, ma ho anche bisogno di ottenere l'alias e il nome del certificato in ciascuno dei file.Come verificare il nome e l'alias del certificato nei file keystore?
risposta
È possibile eseguire il seguente comando per elencare il contenuto del file di archivio chiavi:
keytool -list -keystore .keystore
Se siete alla ricerca di un alias specifico, è anche possibile specificare nel comando:
keytool -list -keystore .keystore -alias foo
Se l'alias non viene trovato, verrà visualizzato un'eccezione:
keytool error: java.lang.Exception: Alias does not exist
è possibile eseguire da Ja codice va.
try {
File file = new File(keystore location);
is = new FileInputStream(file);
KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());
String password = "password";
keystore.load(is, password.toCharArray());
Enumeration enumeration = keystore.aliases();
while(enumeration.hasMoreElements()) {
String alias = (String)enumeration.nextElement();
System.out.println("alias name: " + alias);
Certificate certificate = keystore.getCertificate(alias);
System.out.println(certificate.toString());
}
} catch (java.security.cert.CertificateException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (KeyStoreException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
if(null != is)
try {
is.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
La classe di certificato contiene tutte le informazioni sul keystore.
Update-ottenere la chiave PRIVATA
Key key = keyStore.getKey(alias, password.toCharArray());
String encodedKey = new Base64Encoder().encode(key.getEncoded());
System.out.println("key ? " + encodedKey);
@prateek Spero che questo è quello che stai cercando!
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.security.cert.Certificato; import java.security.KeyStore; import java.security.KeyStoreException; import java.security.NoSuchAlgorithmException; import java.util.Enumeration; –
Questo codice non visualizza la password alias – Prateek
@Renjith ciao Questo codice visualizza tutto tranne la password associata con l'alias, Come posso visualizzarlo. Per favore aiutami – Prateek
KeyStore Explorer strumento visivo open source per gestire i keystore.
In un ambiente bash-come è possibile utilizzare:
keytool -list -v -keystore cacerts.jks | grep 'Alias name:' | grep -i foo
Questo comando consiste di 3 parti. Come indicato in precedenza, la parte elenca tutti i certificati attendibili con tutti i dettagli ed è per questo che la parte 2nd viene a filtrare solo le informazioni di alias tra questi dettagli. Infine, nella parte 3rd è possibile cercare un alias specifico (o parte di esso). -i attiva la modalità maiuscole/minuscole. Quindi il comando dato produrrà tutti gli alias contenenti il modello 'pippo', per esempio. foo, 123_FOO, fooBar, ecc. Per ulteriori informazioni man grep
.
Questo elenco di tutti i certificati:
keytool -list -keystore "$JAVA_HOME/jre/lib/security/cacerts"
Questo elenco solo i certificati memorizzati nel trust store del JDK che è simile ma per uno scopo diverso a un keystore (a cui è stato chiesto). C'è una buona differenziazione qui: [http://stackoverflow.com/questions/17935619/what-is-difference-between-cacerts-and-keystore](http://stackoverflow.com/questions/17935619/what-is -Differenza-tra-cacerts-e-chiavi). –
- 1. Trovare il nome alias nel file del keystore
- 2. Tomcat HTTPS certificato keystore
- 3. Aggiunta del certificato al keystore utilizzando il codice java
- 4. Come verificare il nome host del server
- 5. Java/Keystore Verifica Certificato firmato
- 6. verificare il certificato del server contro l'autorità certificato auto-firmato
- 7. Come posso creare il keystore da un certificato esistente (abc.crt) e file abc.key?
- 8. Il file del keystore non esiste
- 9. Errore durante l'importazione del certificato pubblico in un keystore
- 10. Certificato importato nel keystore Java, JVM ignora il nuovo cert
- 11. Impossibile verificare il primo certificato
- 12. Apache HttpClient e file di certificato PEM
- 13. utilizzando il nome del testcase nei nomi file di output
- 14. Come avere il nome del file e il numero di riga nei log GAE Python logging.info?
- 15. Impossibile caricare il file P7B nel file keystore
- 16. Esportazione Android: come creare il file .keystore?
- 17. Differenza tra file .keystore e .jks file
- 18. SOAPUno e keystore
- 19. Come creare un certificato in un keystore PKCS12 con keytool?
- 20. Errore interno del client Heroku. Impossibile verificare il certificato
- 21. Impossibile verificare il primo certificato in Node.js
- 22. File keystore Android perso
- 23. Come modificare il nome del file di output del compilatore Nim e il nome
- 24. Bouncy Castle Keystore (BKS): java.io.IOException: versione errata del keystore
- 25. Come verificare la sicurezza del certificato SSL in iOS?
- 26. Importazione della coppia chiave privata/certificato nel KeyStore Java
- 27. Nome host/IP non corrisponde al nome alternativo del certificato
- 28. Nessun certificato peer Eccezione - Volley e Android con certificato autofirmato
- 29. Come verificare (e richiedere) certificato autofirmato in iOS
- 30. Come verificare un certificato X509 in C
Hi posso visualizzare la password alias chiave se conosco il nome alias chiave e hanno certificato dell'archivio chiavi e password keystore – Prateek
@prateek Non è possibile. Non ci sarebbe molto senso avere il keystore o le password delle chiavi se si potesse semplicemente visualizzare con uno strumento da riga di comando. – EJP
È possibile eseguire il comando seguente per elencare il contenuto del file del keystore: keytool -list -keystore .keystore Il comando sopra indicato non fornisce il nome dell'alias –