NoSuchAlgorithmException:http://www.w3.org/2001/04/xmldsig-more#rsa-sha256

问题描述

我正在尝试用 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);

    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...