问题描述
我正在尝试用 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 (将#修改为@)