keytool import certificate java.util.IllegalFormatConversionException in linux

隐身守侯 提交于 2019-12-03 09:59:05

问题


I am tring to create a keystore to be used in tomcat but I get the error "java.util.IllegalFormatConversionException: d != java.lang.String" using keytool. This happens only in linux (centos7) but not in windows. I created the keystore with

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

and tried to import the certificate with

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

The same commands and the same certificate do not show any error in windows.

What is wrong?

Thanks in advance


回答1:


I think the problem comes from the Keytool version included in Java 8.151 and Java 9. Older versions are working correctly for me. Try downgrading your JDK environement

EDIT: further investigation make me realize the problem on last java versions occurs only for some languages. Hence it is enough to force the output language of keytool in english to solve the problem by adding the parameter -J-Duser.language=en.

Probably the tomcat default language is different than english. try running this command:

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


来源:https://stackoverflow.com/questions/47134165/keytool-import-certificate-java-util-illegalformatconversionexception-in-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!