![](/img/trans.png)
[英]Java 11 - elliptic curve private key - java.security.InvalidKeyException: IOException : DER input, Integer tag error
[英]java.io.IOException: exception unwrapping private key - java.security.InvalidKeyException: pad block corrupted
我正在尝试通过 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
我可能在哪里犯了错误?
事实上,我遵循了这里描述的内容
谢谢
我知道这个问题已经有 4 年了,但以防万一其他人遇到同样的错误:
我不知道为什么,但 OpenJDK 11 的 keytool 生成的密钥库与 Oracle JDK 8 的 keytool 生成的密钥库(具有相同的证书/密钥/密码)之间似乎存在差异。
我的问题是使用下的keystore-jdk11.p12
我修复了这个问题,只需使用 Oracle JDK 8 的 keytool 重新导入 OpenJDK 11 生成的密钥库的内容,
/path/of/jdk8.241/bin/keytool \
-importkeystore \
-srckeystore keystore-jdk11.p12 \
-destkeystore keystore-jdk8.p12 \
-deststoretype pkcs12
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.