如何使用java密钥库工具自动生成密钥库?没有用户互动

r3a*_*p3r 82 java keystore

我正在尝试使用Java密钥库工具自动生成密钥库.我使用的命令是:

keytool -keystore keystore -alias jetty -genkey -keyalg RSA
Run Code Online (Sandbox Code Playgroud)

但是在此命令之后,用户需要输入以下输入:

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  
Run Code Online (Sandbox Code Playgroud)

而不是用户输入这些值,有没有办法在命令内或通过脚本提供这些值而无需用户交互?

谢谢

Evg*_*eev 147

试试这个:

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
Run Code Online (Sandbox Code Playgroud)

  • @ErikAllik`keytool -importkeystore [...] -srcstorepass password_here` (3认同)

sta*_*tar 8

不要忘记-noprompt,否则你会被要求输入是或否

  • 如果其他人遇到同样的问题,即使使用此选项也会出现提示:有些命令具有 -srckeypass 和 -srcstorepass。你可以很容易地混合它们 (2认同)

Jay*_*yan 5

请参阅有关命令行完整文档, 或通过keytool不带任何参数的键入来查看。

具体来说,您可能想看看选项 -storepass password -keypass password