我使用的是Java 1.7.0_60。
我有一个pfx密钥库,使用以下代码将其转换为JKS密钥库:
keytool -importkeystore -srckeystore mypfx.pfx -srcstoretype pkcs12 -destkeystore myjks.jks -deststoretype jks
现在,当我在代码中使用此JKS密钥库加载KeyStore对象时,在以下代码段的第3行上会得到IOException: Invalid Keystore format
:
InputStream is = HttpTester.class.getClassLoader().getResourceAsStream("myjks.jks");
KeyStore identityKeyStore = KeyStore.getInstance("jks");
identityKeyStore.load(inputStream, CERT_PASSWORD.toCharArray());
我还验证了这样做不会损坏新创建的myjks.jks
密钥库,并且可以正常打开
keytool -v -list -keystore myjks.jks
我正在尝试进行双向双向SSL身份验证,这就是为什么我使用此版本的Java并能够将其部署到仅支持1.7的Websphere 8.5服务器上的原因。
有什么想法吗?