java jceks 密钥_使用Oracle Java 8 JRE打开JCEKS密钥库时出现“java.io.IOException:无效的密钥格式”172...

当我尝试在

Windows上使用Oracle

Java 8 JRE 172打开JCEKS类型密钥存储区时,我收到以下异常.这与早期版本的JRE一起工作正常:

INFO: ObjectInputFilter REJECTED: null, array length: -1, nRefs: 1, depth: 1, bytes: 70, ex: n/a

[...call stacks omitted to protect the innocent...]

Caused by: java.io.IOException: Invalid secret key format

at com.sun.crypto.provider.JceKeyStore.engineLoad(JceKeyStore.java:856)

at java.security.KeyStore.load(Unknown Source)

[...]

这看起来非常像JDK-8202506但是我使用Java 8并且在初始INFO消息中得到null.

这是同一个问题吗?

在我看来,JDK-8202506问题目前尚未在任何公开JRE版本中修复.我对吗?

更新1

这看起来很相似,也没有解决方案:ATLAS-2642

更新2

出于某种原因,Equinox在升级后无法看到com.sun.crypto.provider.SealedObjectForKeyProtector类,即使它显然位于新JDK附带的JRE中:

BundleClassLoader[foo.bar.baz.crypto].loadClass(com.sun.crypto.provider.SealedObjectForKeyProtector) failed.

java.lang.ClassNotFoundException: com.sun.crypto.provider.SealedObjectForKeyProtector

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClassInternal(BundleLoader.java:481)

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:397)

at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:385)

at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:87)

at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:348)

at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:686)

at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1866)

at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1749)

at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2040)

at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1571)

at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)

at com.sun.crypto.provider.JceKeyStore.engineLoad(JceKeyStore.java:850)

at java.security.KeyStore.load(KeyStore.java:1445)

更新3

SealedObjectForKeyProtector.class类与sunjce_provider.jar中的其他类有所不同.当我们尝试使用JD-GUI对其进行反编译时,与其他类不同,它会因内部错误而失败:

Sg0Os.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值