一尘不染

Linux中的keytool导入证书java.util.IllegalFormatConversionException

tomcat

我正在尝试创建要在tomcat中使用的密钥库,但是使用keytool却收到错误“
java.util.IllegalFormatConversionException:d!=
java.lang.String”。这仅在linux(centos7)中发生,而在Windows中不发生。我创建了密钥库

keytool -genkey -keyalg RSA -alias client -keystore testkeystore -storepass mypassword  -validity 3650

并尝试使用导入证书

keytool -import -alias  arubaauth  -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer

相同的命令和相同的证书在Windows中不会显示任何错误。

怎么了?

提前致谢


阅读 292

收藏
2020-06-16

共1个答案

一尘不染

我认为问题来自Java 8.151和Java 9中包含的Keytool版本。较旧的版本对我来说正常工作。尝试降级您的JDK环境

编辑:进一步的调查使我意识到上一次Java版本上的问题仅适用于某些语言。因此,keytool通过添加参数来强制使用英语的输出语言来解决问题就足够了-J-Duser.language=en

Tomcat的默认语言可能不同于英语。尝试运行以下命令:

keytool -J-Duser.language=en -import -alias  arubaauth  -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer
2020-06-16