特定の文字列のHmacSHA-256ハッシュを必要とするXML-RPC呼び出しを行おうとしています。私は現在、次のコードでJasyptライブラリを使用しています。
StandardPBEStringEncryptor sha256 = new StandardPBEStringEncryptor();
sha256.setPassword(key);
sha256.setAlgorithm("PBEWithHmacSHA2");
sha256.encrypt(string)を使用しようとすると、次のエラーが発生します。
スレッド「メイン」の例外org.jasypt.exceptions.EncryptionInitializationException:java.security.NoSuchAlgorithmException:PBEWithHmacAndSHA256SecretKeyFactoryは使用できません org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:597)で org.jasypt.encryption.pbe.StandardPBEStringEncryptor.initialize(StandardPBEStringEncryptor.java:488)で org.jasypt.encryption.pbe.StandardPBEStringEncryptor.encrypt(StandardPBEStringEncryptor.java:541)で nysenateapi.XmlRpc.main(XmlRpc.java:52)で 原因:java.security.NoSuchAlgorithmException:PBEWithHmacAndSHA256SecretKeyFactoryは使用できません javax.crypto.SecretKeyFactory。(DashoA13 * ..)で javax.crypto.SecretKeyFactory.getInstance(DashoA13 * ..)で org.jasypt.encryption.pbe.StandardPBEByteEncryptor.initialize(StandardPBEByteEncryptor.java:584)で ...さらに3つ
JCE Cryptography拡張機能をダウンロードし、jarをビルドパスに配置しましたが、何も実行されていないようです。上記のsetAlgorithmで、「PBE」、「PBEWithSha」(1 | 2 | 128 | 256)?、「PBEWithHmacSha」など、さまざまな組み合わせを使用してみました。
BouncyCastleも使ってみましたが、運が悪かったです。ヘルプやガイダンスをいただければ幸いです。