我们已将 BouncycaSTLe 版本从 1.55 更新至 1.56。此后,我们的其中一份证书就出现了问题。现在有人知道为什么会出现这个问题吗?
caused by: java.lang.IllegalArgumentException: invalid info structure in RSA public key
at org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey.populateFromPublicKeyInfo(Unknown Source)
at org.bouncycastle.jcajce.provider.asymmetric.rsa.BCRSAPublicKey.<init>(Unknown Source)
at org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi.generatePublic(Unknown Source)
at org.bouncycastle.jce.provider.BouncyCastleProvider.getPublicKey(Unknown Source)
at org.bouncycastle.jcajce.provider.asymmetric.x509.X509CertificateObject.getPublicKey(Unknown Source)
at org.bouncycastle.jcajce.provider.keystore.pkcs12.PKCS12KeyStoreSpi.engineLoad(Unknown Source)
at java.security.KeyStore.load(KeyStore.java:1456)`
(已更新)
使用提供程序 BouncycaSTLe 加载 KeyStore 时会出现问题。
keyStore = KeyStore.getInstance("PKCS12", new BouncyCastleProvider());
keyStore.load(inputStream, "test".toCharArray());
测试的东西:
使用 KeyStoreExplorer 5.3.0 重新导入证书 -> 相同问题,5.1.1 -> 成功导入
RSA 公钥有新的验证吗?
最佳答案
我发现了问题。问题是 BouncycaSTLe 1.56 使用 Java 8,因此不再接受 key 大小小于 1024 的证书。
关于java - 更新到 BouncycaSTLe 版本 1.56 后出现证书问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48208979/