Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8242620

Cannot serialize RSASSA-PSS keys with non-null params

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P3
    • None
    • None
    • security-libs
    • None

    Description

      The following program

              //CASE#4 Fails
              int dgLen = MessageDigest.getInstance(DIGEST).getDigestLength();
              int saltLength = K_SIZE / 8 - dgLen - 2;
              PSSParameterSpec params = new PSSParameterSpec(DIGEST, "MGF1", new MGF1ParameterSpec(DIGEST),
                      saltLength, PSSParameterSpec.TRAILER_FIELD_BC);
              try {
                  kpg.initialize(new RSAKeyGenParameterSpec(K_SIZE, RSAKeyGenParameterSpec.F4, params));
                  KeyPair kp3 = kpg.generateKeyPair();
                  testSerialize(kp3);
              } catch (Exception e) {
                  pass = false;
                  System.out.println("####### CASE#4 FAILED #########");
                  e.printStackTrace(System.out);
              }
      fails with an InvalidKeySpecException that is

      java.io.NotSerializableException: java.security.Key: [PRIVATE] [RSASSA-PSS] [PKCS#8]
      at java.base/java.security.KeyRep.readResolve(KeyRep.java:185)
      at java.base/jdk.internal.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at java.base/java.io.ObjectStreamClass.invokeReadResolve(ObjectStreamClass.java:1291)
      at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2200)
      at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1685)
      at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:499)
      at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:457)
      at KeySerialization.deserialize(KeySerialization.java:225)
      at KeySerialization.deserializedCopy(KeySerialization.java:213)
      at KeySerialization.testSerialize(KeySerialization.java:189)
      at KeySerialization.test(KeySerialization.java:115)
      at KeySerialization.main(KeySerialization.java:95)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:564)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:832)
      Caused by: java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: java.security.ProviderException: Unsupported algorithm 1.2.840.113549.1.1.10
      at java.base/sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:251)
      at java.base/java.security.KeyFactory.generatePrivate(KeyFactory.java:390)
      at java.base/java.security.KeyRep.readResolve(KeyRep.java:176)
      ... 19 more
      Caused by: java.security.InvalidKeyException: java.security.ProviderException: Unsupported algorithm 1.2.840.113549.1.1.10
      at java.base/sun.security.rsa.RSAPrivateCrtKeyImpl.<init>(RSAPrivateCrtKeyImpl.java:138)
      at java.base/sun.security.rsa.RSAPrivateCrtKeyImpl.newKey(RSAPrivateCrtKeyImpl.java:82)
      at java.base/sun.security.rsa.RSAKeyFactory.generatePrivate(RSAKeyFactory.java:356)
      at java.base/sun.security.rsa.RSAKeyFactory.engineGeneratePrivate(RSAKeyFactory.java:247)
      ... 21 more

      Attachments

        Issue Links

          Activity

            People

              valeriep Valerie Peng
              ssahoo Sibabrata Sahoo
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: