15

我正在尝试创建要在 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 中不会显示任何错误。

怎么了?

提前致谢

4

1 回答 1

63

我认为问题来自 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
于 2017-11-08T14:10:39.850 回答