0

Java (org.opensaml) で SAML 応答 XML を生成しようとしています。rsa-sha256 アルゴリズムを使用して署名を生成しようとすると、例外が発生します。

java.security.NoSuchAlgorithmException: http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 Signature not available

正確な理由はわかりません。署名は私には正しいようです。依存関係を追加する必要がありますか? 誰でもこれで私を助けてもらえますか? 署名値も生成するコードを追加しました。

public static String generateSignatureValue(String signatureMessage, String signatureAlgorithm,
            String privateKeyString)
                    throws NoSuchAlgorithmException, InvalidKeySpecException, InvalidKeyException, SignatureException {

        KeyFactory kf = KeyFactory.getInstance("RSA");

        PKCS8EncodedKeySpec keySpecPKCS8 = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(privateKeyString));
        PrivateKey privateKey = kf.generatePrivate(keySpecPKCS8);

        Signature rsaSha256Signature = Signature.getInstance(signatureAlgorithm);
        rsaSha256Signature.initSign(privateKey);
        rsaSha256Signature.update(signatureMessage.getBytes());
        byte[] signed2 = rsaSha256Signature.sign();

        return Base64.getEncoder().encodeToString(signed2);

    }
4

0 に答える 0