我正在尝试通过SSL(自签名SSL)将android应用连接到IIS下的XML Web服务。我已按照以下步骤操作:
将pfx转换为jks
keytool -importkeystore -srckeystore cert.pfx -srcstoretype pkcs12
-destkeystore cert.jks -deststoretype pkcs12
读取jks的内容
KeyStore keyStore = KeyStore.getInstance("pkcs12");
InputStream in = _context.getResources().openRawResource(R.raw.cert);
try
{
keyStore.load(in, "123456".toCharArray());
mgrFact.init(keyStore, "123456".toCharArray());
}
catch (Throwable t)
{
logger.error(t.getMessage());
}
finally
{
in.close();
}
现在keyStore.load
引发以下异常
java.io.IOException: exception unwrapping private key
-java.security.InvalidKeyException: pad block corrupted
我可能在哪里犯了错误?
事实上,我遵循了here的描述>
谢谢
我正在尝试通过SSL(自签名SSL)将android应用连接到IIS下的XML Web服务。我已按照以下步骤操作:在IIS管理器导出下创建自签名证书,该证书是...
我知道这个问题已有4年的历史了,但以防万一有人收到相同的错误:我不知道为什么,但是似乎用OpenJDK 11的keytool生成的密钥库和一个(由Oracle JDK 8的keytool生成的具有相同的证书/密钥/密码)。我遇到的问题是在Oracle JVM 8(u241)上运行的Tomcat 8.5下使用keystore-jdk11.p12提出的。我修复了此问题,只需使用Oracle JDK 8的keytool重新导入由OpenJDK 11生成的密钥库的内容,并带有