根据我在互联网上所做的知识和研究,目前OPENAM似乎不支持SHA-256加密。我在我的项目中使用SAML身份验证,并且当前使用不支持SHA 256加密的旧的openfed jar。我也经历了最新的jar,发现openam不支持它。 FYI .. 以下是QuerySignatureUtil.java的片段:OPENAM是否支持SHA-256加密
final String querySigAlg;
final String alg = privateKey.getAlgorithm();
switch (alg) {
case "RSA":
//Defaulting to RSA-SHA1 for the sake of interoperability
querySigAlg = SystemPropertiesManager.get(SAML2Constants.QUERY_SIGNATURE_ALGORITHM_RSA,
XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1);
break;
case "DSA":
//Defaulting to SHA1WithDSA as JDK7 does not support SHA256WithDSA
querySigAlg = SystemPropertiesManager.get(SAML2Constants.QUERY_SIGNATURE_ALGORITHM_DSA,
XMLSignature.ALGO_ID_SIGNATURE_DSA);
break;
case "EC":
querySigAlg = SystemPropertiesManager.get(SAML2Constants.QUERY_SIGNATURE_ALGORITHM_EC,
XMLSignature.ALGO_ID_SIGNATURE_ECDSA_SHA512);
break;
default:
SAML2Utils.debug.error(classMethod + "Private Key algorithm not supported: " + alg);
throw new SAML2Exception(SAML2Utils.bundle.getString("algorithmNotSupported"));
}
虽然经历上网我发现票https://bugster.forgerock.org/jira/browse/OPENAM-8627
但它似乎做只为.NET Fedlet添加。
可有人
该主题提到了加密,但代码是关于签名...相当不同。你真的需要知道什么? –
首先感谢回复......实际上,我们希望saml响应能够以256位解密/解密,并且还可以用SHA-256进行数字签名。但它似乎最新的openam jar也不支持SHA-256。 我认为这里有两个不同的东西。第一个是SAML响应的加密/解密,第二个是数字签名的saml响应。 如果你意识到这一点,那么你也可以解释一下(我在这方面的知识有限)。 – user1753210