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

RsaPrivateKeySpec is always recognized as RSAPrivateCrtKeySpec in RSAKeyFactory.engineGetKeySpec

XMLWordPrintable

    • b16
    • Verified

        This is a regression introduced by JDK-8254717. @kganapureddy reported this bug.

        In RSAKeyFactory.engineGetKeySpec, when the input key is a private key, the method tries to cast the key to RSAPrivateCrtKey when the keySpec class is RSAPrivateCrtKeySpec or its subclasses.

        JDK-8254717 fixes all isAssignableFrom checks in engineGetKeySpec. But it introduces the regression that RSAKeyFactory.engineGetKeySpec tries to cast the private key when the keySpec is RSAPrivateCrtKeySpec or its **superclasses** (i.e., RSAPrivateKeySpec). This caused the following exception when the input key is only a RSAPrivateKey:
        java.security.spec.InvalidKeySpecException: RSAPrivateCrtKeySpec can only be used with CRT keys.

              luoziyi Ziyi Luo (Inactive)
              luoziyi Ziyi Luo (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

                Created:
                Updated:
                Resolved: