我正在使用以下代码尝试加载密钥库文件,并且我收到了java.io.IOException:无效的密钥库格式异常。有关如何解决此问题或导致问题的原因的任何想法?
加载密钥库文件:
final FileInputStream keyFile = new FileInputStream(filePath
+ "key.p7b");
final KeyStore keyStore = KeyStore.getInstance("JKS");
String storepass = "pwd";
keyStore.load(keyFile, storepass.toCharArray());
例外:
java.io.IOException: Invalid keystore format
at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:633)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
at java.security.KeyStore.load(KeyStore.java:1185)
答案 0 :(得分:1)
根据要求,我的评论作为答案:
p7b是证书文件,而不是密钥库文件。你必须先转换它。显然OpenSSL可以提供帮助。
答案 1 :(得分:0)
当我尝试用葡萄牙语创建一个带有Sun / Oracle JDK的密钥库文件时,我遇到了类似问题... JDK(或我的Windows PT-BR,我还不知道)的葡萄牙语版本有这个bug ...我需要在英文操作系统中创建密钥库文件。