JAVA Signature Object - No installed provider supports this key: sun.security.rsa.RSAPrivateCrtKeyImpl

13,860

You can't use SHA1withDSA with an RSA key. Change signature algorithm to SHA1withRSA or generate a DSA key instea

Share:
13,860

Related videos on Youtube

Dor Mesica
Author by

Dor Mesica

Updated on June 04, 2022

Comments

  • Dor Mesica
    Dor Mesica almost 2 years

    I want to sign a file i created using a pair of RSA keys I created using key tool and the following command:

    keytool -genkeypair -alias key -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -validity 365 -keystore keystore.jks

    I want to initialize my Signature object so I tried this:

    PrivateKey privateKey = (PrivateKey) keyStore.getKey(PRIVATE_KEY_ALIAS,privateKeyPassword);
    Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
    signature.initSign(privateKey);
    

    But I got this exception:
    No installed provider supports this key: sun.security.rsa.RSAPrivateCrtKeyImpl

    Appreciate any help!