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

时间:2017-11-06 09:57:09

标签: 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

并尝试使用

导入证书
keytool -import -alias  arubaauth  -trustcacerts -keystore testkeystore -file root_autenticazione_ATe.cer

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

有什么问题?

提前致谢

1 个答案:

答案 0 :(得分:56)

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

编辑:进一步调查让我意识到最后一个java版本的问题只发生在某些语言上。因此,通过添加参数SELECT invoices.item_id, ROUND(AVG(invoices.amount)/100,2) AS invoice_amount, invoices.currency, GROUP_CONCAT(relation_table.item_id) AS related items FROM invoices LEFT JOIN invoices relation_table ON relation_table.invoice_number = invoices.invoice_number GROUP BY invoices.item_id 来强制使用英语keytool的输出语言来解决问题就足够了。

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

-J-Duser.language=en