我需要使用SAML 2.0标准化算法(RSAwithSHA256)签署XML SAML消息。但我的saml插件(passport-saml)似乎只支持sha1和sha256。 SHA256听起来非常接近RSAwithSHA256,但可能不是一回事?有什么区别,我怎么能用RSAwithSHA256呢?我可能需要编辑passport-saml库,以允许使用RSAwithSHA256算法?
答案 0 :(得分:2)
我尝试解释差异,但不解释如何解决问题。
RSA是一种公钥加密算法(公钥和私钥对算法),它保证了机密性,真实性(包括识别)和不可否认性。
SHA-256是一种哈希算法,它产生一个唯一的,固定大小的256位(32字节)哈希值,它可以确保消息完整性。
采用如下的哈希算法,
在这里,接收方如何确认该消息及其散列确实是由预期发送者发送的?在上述情况下,接收方没有对发送方进行认证或识别。
为此,我们必须同时使用公钥加密和哈希算法(如RSAWithSHA256)来满足上述要求。
因此,当同时使用公钥加密和散列算法时,