我已经使用portecle将JKS密钥库转换为P12格式,但可能不太顺利。密钥库适用于Java8(各种版本),但对于Java9 (OpenJDK 64位服务器VM (内部版本9-内部+0-2016-04-14-195246.buildd.src,混合模式),我得到了
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(java.base@9-internal/JavaKeyStore.java:659)
at sun.security.util.KeyStoreDelegator.engineLoad(java.base@9-internal/KeyStoreDelegator.java:219)
at java.security.KeyStore.load(java.base@9-internal/KeyStore.java:1466)
at org.eclipse.jetty.util.security.CertificateUtils.getKeyStore(CertificateUtils.java:52)
at org.eclipse.jetty.util.ssl.SslContextFactory.loadKeyStore(SslContextFactory.java:998)
at org.eclipse.jetty.util.ssl.SslContextFactory.load(SslContextFactory.java:252)
at org.eclipse.jetty.util.ssl.SslContextFactory.doStart(SslContextFactory.java:219)有趣的是,Java 8 keytool显示了
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 5 entries
... entries listed而来自Java 9的代码则显示了
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 5 entries
... entries listed我知道JEP 229,我已经阅读了相关的问题,但我看不到任何相关的问题。
发布于 2017-07-12 18:21:38
JDK keytool实用程序可以将JKS密钥库转换为PKCS12密钥库。例如,使用JDK 9,
$ keytool -importkeystore -srckeystore ks.jks -destkeystore ks.p12此外,自2016年以来,已经有了几个密钥存储库增强,因此您应该使用更新版本的JDK9,请参阅http://jdk.java.net/9/
https://stackoverflow.com/questions/45041311
复制相似问题