能否无需设置密码运行命令创建JKS文件
核心结论
JKS是Java官方定义的密钥存储格式,底层规范强制要求密钥库密码、密钥密码的长度最少为6位,无法完全跳过密码设置,你执行第二条命令时收到的提示是JDK的内置校验规则,没有绕过方法。
当前命令问题修正
你当前使用的密码password本身已经满足6位长度要求,不需要调整密码值,只需修正命令里的参数错误,就能无交互完成JKS创建:
- 第一条openssl命令你已经配置了密码参数,仍然弹出输入提示是参数写法兼容问题,修正为明确指定导出密码的参数即可:
"C:\Program Files (x86)\OpenSSL-Win32\bin\openssl" pkcs12 -export -in client.crt -inkey client.key -certfile clientroot.crt -name kafkaclient -out kafkaclient.p12 -passout pass:password
- 第二条命令里
srcstorepass前多打了一个多余的横杠,修正后即可正常运行:
"C:\Program Files\Java\jre1.8.0_281\bin\keytool.exe" -importkeystore -srckeystore kafkaclient.p12 -srcstoretype pkcs12 -destkeystore kafkaclient.jks -deststoretype JKS -destkeypass password -deststorepass password -srcstorepass password
- 第三条命令参数无错误,可直接运行。
如果是测试场景不需要高安全性,你也可以用简单的6位字符比如123456作为密码,JKS只有长度要求,没有强制的复杂度校验规则。
内容的提问来源于stack exchange,提问作者runnerpaul
相关产品推荐
相关产品推荐

