キーツールと次のコマンドを使用して作成したRSAキーのペアを使用して作成したファイルに署名したい:
keytool -genkeypair -alias key -keyalg RSA -keysize 2048 -sigalg SHA256withRSA -validity 365 -keystore keystore.jks
Signatureオブジェクトを初期化したいので、これを試しました。
PrivateKey privateKey = (PrivateKey) keyStore.getKey(PRIVATE_KEY_ALIAS,privateKeyPassword);
Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
signature.initSign(privateKey);
しかし、私はこの例外を受け取りました:No installed provider supports this key: Sun.security.rsa.RSAPrivateCrtKeyImpl
助けに感謝します!
RSAキーでSHA1withDSA
を使用することはできません。署名アルゴリズムをSHA1withRSA
に変更するか、DSAキーインステアを生成します