Hi Bernd,

This issue should be fixed in 8u131. Can you try that and let us know?

--Sean

On 6/9/17 10:18 PM, Bernd wrote:
I noticed there is a bug (8177657,etc) about stricter DER checking on JDK Certificate code. I have an JKS Keystore which no longer can be opened because of that.

I understand that the strict parsing has to stay for public keys, however I wonder if anything can be done about loading the other keys from the keystore or at least reporting the alias of the unparseable entry.

The Problem was introduced with 8u121, 8u112 can open the file and it exists in 7u131 as well.

Exception in thread "main" java.security.cert.CertificateParsingException: java.io.IOException: subject key, java.security.InvalidKeyException: Invalid RSA public key
     at sun.security.x509.X509CertInfo.<init>(X509CertInfo.java:169)
     at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1804)
     at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:195)
at sun.security.provider.X509Factory.engineGenerateCertificate(X509Factory.java:102) at java.security.cert.CertificateFactory.generateCertificate(CertificateFactory.java:339)
     at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:755)
at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56) at sun.security.provider.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:224) at sun.security.provider.JavaKeyStore$DualFormatJKS.engineLoad(JavaKeyStore.java:70)
     at java.security.KeyStore.load(KeyStore.java:1445)
at net.eckenfels.test.certpath.KeystoreImport.main(KeystoreImport.java:29) Caused by: java.io.IOException: subject key, java.security.InvalidKeyException: Invalid RSA public key
     at sun.security.x509.X509Key.parse(X509Key.java:174)
at sun.security.x509.CertificateX509Key.<init>(CertificateX509Key.java:75)
     at sun.security.x509.X509CertInfo.parse(X509CertInfo.java:667)
     at sun.security.x509.X509CertInfo.<init>(X509CertInfo.java:167)
     ... 10 more
Caused by: java.security.InvalidKeyException: java.security.InvalidKeyException: Invalid RSA public key
     at sun.security.x509.X509Key.buildX509Key(X509Key.java:227)
     at sun.security.x509.X509Key.parse(X509Key.java:170)
     ... 13 more
Caused by: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: Invalid RSA public key at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:205)
     at java.security.KeyFactory.generatePublic(KeyFactory.java:334)
     at sun.security.x509.X509Key.buildX509Key(X509Key.java:223)
     ... 14 more
Caused by: java.security.InvalidKeyException: Invalid RSA public key
at sun.security.rsa.RSAPublicKeyImpl.parseKeyBits(RSAPublicKeyImpl.java:120)
     at sun.security.x509.X509Key.decode(X509Key.java:391)
     at sun.security.x509.X509Key.decode(X509Key.java:403)
     at sun.security.rsa.RSAPublicKeyImpl.<init>(RSAPublicKeyImpl.java:84)
at sun.security.rsa.RSAKeyFactory.generatePublic(RSAKeyFactory.java:298) at sun.security.rsa.RSAKeyFactory.engineGeneratePublic(RSAKeyFactory.java:201)
     ... 16 more
Caused by: java.io.IOException: Invalid encoding: redundant leading 0s
at sun.security.util.DerInputBuffer.getBigInteger(DerInputBuffer.java:152) at sun.security.util.DerInputStream.getBigInteger(DerInputStream.java:207) at sun.security.rsa.RSAPrivateCrtKeyImpl.getBigInteger(RSAPrivateCrtKeyImpl.java:214) at sun.security.rsa.RSAPublicKeyImpl.parseKeyBits(RSAPublicKeyImpl.java:115)
     ... 21 more

Reply via email to