Comment automatiser la génération de keystore à l'aide de l'outil java keystore? sans interaction utilisateur

90

J'essaie d'automatiser la génération de keystore à l'aide de l'outil de keystore Java. La commande que j'utilise est:

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

Mais après cette commande, l'utilisateur doit entrer certaines entrées comme suit:

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  

Au lieu que l'utilisateur saisisse ces valeurs, existe-t-il un moyen de fournir ces valeurs sans interaction de l'utilisateur, que ce soit dans la commande ou via un script?

Merci

r3ap3r
la source
pourquoi ne lis-tu pas ces informations à partir d'un fichier de propriétés?
Shamis Shukoor
Il y a plus d'options de ligne de commande - lisez docs.oracle.com/javase/7/docs/technotes/tools/windows/… (y compris le nom distinctif)
Jayan
7
Ce n'est pas parce que l'exemple utilise une adresse locale que ce problème est localisé. Je suis un Royaume-Uni et j'avais juste la même question. Heureusement, parce que certains ont répondu à la question avant qu'elle ne soit fermée, cela m'a fait gagner beaucoup de temps à essayer de trouver la réponse.
Trevor North
7
Cette question était très utile et la réponse a aidé. Je ne comprends pas pourquoi il a été fermé.
Jose Martinez
2
Encore un autre exemple de déclencheurs de modérateurs SO heureux prêts à sauter le pistolet à tout moment en fermant des questions réelles, pertinentes et utiles afin qu'ils puissent exercer le peu de pouvoir dont ils disposent pour se sentir importants. C'était le premier résultat lorsque j'ai cherché cette question sur Google et cela m'a aidé à résoudre mon problème, incroyable qu'il ait été fermé simplement parce qu'il faisait référence aux paramètres régionaux du demandeur dans la question.
Fam

Réponses:

163

Essaye ça:

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
Evgeniy Dorofeev
la source
1
existe-t-il un moyen de spécifier le mot de passe du fichier de clés source lors de l'importation d'un fichier de clés .p12 dans un fichier .jks?
Erik Kaplun
3
@ErikAllikkeytool -importkeystore [...] -srcstorepass password_here
Guillaume Boudreau
10

n'oubliez pas -noprompt, sinon il vous sera demandé de saisir Oui ou Non

étoile
la source
1
si quelqu'un d'autre a eu le même problème qu'il y avait une invite même avec cette option: il y a des commandes qui ont -srckeypass et -srcstorepass. vous pouvez facilement les mélanger
benez