Como automatizar a geração de keystore usando a ferramenta java keystore? sem interação do usuário


90

Estou tentando automatizar a geração de armazenamento de chaves usando a ferramenta de armazenamento de chaves Java. O comando que estou usando é:

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

Mas após este comando, o usuário deve inserir certas entradas da seguinte forma:

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  

Em vez de o usuário inserir esses valores, há alguma maneira de fornecer esses valores sem a interação do usuário, seja no comando ou por meio de um script?

obrigado


por que você não lê essas informações em um arquivo de propriedade?
Shamis Shukoor

Há mais opções de linha de comando - leia docs.oracle.com/javase/7/docs/technotes/tools/windows/… (incluindo nome distinto)
Jayan

7
Só porque o exemplo usou um endereço local, não significa que o problema foi localizado. Eu sou um Reino Unido e tinha a mesma pergunta. Felizmente, como alguns responderam à pergunta antes de ela ser fechada, isso apenas me economizou muito tempo tentando encontrar a resposta.
Trevor North

7
Essa pergunta foi muito útil e a resposta ajudou. Não entendo porque foi fechado.
Jose Martinez,

2
Mais um exemplo de moderadores de SO prontos para disparar a qualquer momento ao encerrar questões reais, relevantes e úteis, para que possam exercer o pequeno poder de que dispõem para se sentirem importantes. Este foi o primeiro resultado quando eu pesquisei essa questão no Google e me ajudou a resolver meu problema, inacreditável que foi fechado simplesmente porque referenciou a localidade do autor da pergunta na questão.
Fam

Respostas:


163

Experimente isto:

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
existe uma maneira de especificar a senha do keystore de origem ao importar um keystore .p12 para um .jks?
Erik Kaplun,

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

10

não se esqueça de -noprompt, caso contrário, você será solicitado a inserir Sim ou Não


1
se outra pessoa teve o mesmo problema que houve um prompt mesmo com esta opção: existem alguns comandos que têm -srckeypass e -srcstorepass. você pode misturá-los facilmente
benez

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.