Come automatizzare la generazione del keystore utilizzando lo strumento keystore java? senza interazione dell'utente


90

Sto cercando di automatizzare la generazione del keystore utilizzando lo strumento keystore Java. Il comando che sto usando è:

keytool -keystore keystore -alias jetty -genkey -keyalg RSA

Ma dopo questo comando, all'utente viene richiesto di inserire determinati input come segue:

Enter keystore password:  password
What is your first and last name?  
[Unknown]:  jetty.mortbay.org  
What is the name of your organizational unit?  
[Unknown]:  Jetty  
What is the name of your organization?  
[Unknown]:  Mort Bay Consulting Pty. Ltd.  
What is the name of your City or Locality?  
[Unknown]:  
What is the name of your State or Province?  
[Unknown]:  
What is the two-letter country code for this unit?  
[Unknown]:  
Is CN=jetty.mortbay.org, OU=Jetty, O=Mort Bay Consulting Pty. Ltd.,  
L=Unknown, ST=Unknown, C=Unknown correct?  
[no]:  yes  

Enter key password for <jetty>  
(RETURN if same as keystore password):  password  

Invece di inserire questi valori da parte dell'utente, esiste un modo per fornire questi valori senza l'interazione dell'utente, all'interno del comando o tramite uno script?

Grazie


perché non leggi queste informazioni da un file di proprietà?
Shamis Shukoor

Ci sono più opzioni della riga di comando: leggi docs.oracle.com/javase/7/docs/technotes/tools/windows/… (incluso il nome distinto)
Jayan

7
Solo perché l'esempio utilizzava un indirizzo locale, non significa che il problema sia localizzato. Sono un Regno Unito e ho appena avuto la stessa domanda. Fortunatamente, poiché alcuni hanno risposto alla domanda prima che fosse chiusa, mi ha fatto risparmiare un sacco di tempo cercando di trovare la risposta.
Trevor North

7
Questa domanda è stata molto utile e la risposta è stata di aiuto. Non capisco perché è stato chiuso.
Jose Martinez

2
Ancora un altro esempio di trigger SO moderatori felici pronti a saltare la pistola in un attimo di preavviso sulla chiusura di domande reali, pertinenti e utili in modo che possano esercitare la piccola quantità di potere di cui hanno a disposizione per sentirsi importanti. Questo è stato il primo risultato quando ho cercato questa domanda su Google e mi ha aiutato a risolvere il mio problema, incredibile che sia stato chiuso semplicemente perché faceva riferimento alla località del richiedente nella domanda.
Fam

Risposte:


163

Prova questo:

keytool -genkey -noprompt \
 -alias alias1 \
 -dname "CN=mqttserver.ibm.com, OU=ID, O=IBM, L=Hursley, S=Hants, C=GB" \
 -keystore keystore \
 -storepass password \
 -keypass password

1
c'è un modo per specificare la password del keystore di origine quando si importa un keystore .p12 in un .jks?
Erik Kaplun

3
@ErikAllikkeytool -importkeystore [...] -srcstorepass password_here
Guillaume Boudreau

10

non dimenticare -noprompt, altrimenti ti verrà chiesto di inserire Sì o No


1
se qualcun altro avesse lo stesso problema che c'era un prompt anche con questa opzione: ci sono alcuni comandi che hanno -srckeypass e -srcstorepass. puoi facilmente mescolarli
benez

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.