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

use*_*635 14 tomcat keystore keytool cer

我想创建一个在tomcat中使用的密钥库,但是我使用keytool得到了错误"java.util.IllegalFormatConversionException:d!= java.lang.String".这只发生在linux(centos7)中,而不是在windows中.我创建了密钥库

keytool -genkey -keyalg RSA -alias client -keystore testkeystore -storepass mypassword  -validity 3650
Run Code Online (Sandbox Code Playgroud)

并试图导入证书

keytool -import -alias  arubaauth  -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer
Run Code Online (Sandbox Code Playgroud)

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

怎么了?

提前致谢

gba*_*tta 59

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

编辑:进一步的调查让我意识到最后的java版本只出现在某些语言上的问题.因此,keytool通过添加参数来强制英语输出语言来解决问题就足够了-J-Duser.language=en.

可能tomcat的默认语言与英语不同.尝试运行此命令:

keytool -J-Duser.language=en -import -alias  arubaauth  -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer
Run Code Online (Sandbox Code Playgroud)