问题
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!
回答1:
You can't use SHA1withDSA
with an RSA key. Change signature algorithm to SHA1withRSA
or generate a DSA key instea
来源:https://stackoverflow.com/questions/41534827/java-signature-object-no-installed-provider-supports-this-key-sun-security-rs