尽管设置了 -noprompt 和 -keypass,keytool 仍要求输入密码

keytool asks for password despite -noprompt and -keypass is set

我正在尝试创建一个安装脚本,它从 .ini 文件中读取数据并将其写入多个配置文件。第一步是通过 keytool 创建一个 SSL 密钥并请求它的认证(创建一个 csr 文件)。我现在遇到的问题是 keytool 要求输入密码而不是使用提供的密码(在变量 $keyStorePassword 中),尽管我也激活了 -noprompt。如果有人能提供帮助,我会很高兴。

keytool -genkey -noprompt -keyalg RSA -keysize 2048 \
-dname "CN=${HOSTNAME}-${microserviceName}-${environment}, O=${organizationName}, L=${localityName}, S=${stateName}, C=${country}" \
-validity ${validity} -keypass ${keyStorePassword} -keystore ${keyStorePath} -alias ${microserventerviceName}-ssl

keytool -certreq -keyalg RSA -file ${microserviceName}.csr -keystore ${keyStorePath} -alias ${microserviceName}-ssl

我已经在网上搜索过了,但这个问题似乎并不常见。

密码有两个参数:

  • -keypass: 密钥的密码。
  • -storepass:密钥库的密码。

Java 密钥库中的每个密钥条目都有其单独的密码,因此在生成新密钥或访问密钥时,您必须同时提供密钥库密码和密钥密码。