2016-04-13 103 views
0

如果声明方用公钥发送给我签名,并且他们使用sha1算法,是否意味着我需要使用相同的算法来验证签名?如果是这种情况,我们是否也需要拥有sha1证书?验证SAML签名取决于证书

回答

1

不,证书的算法用于确保证书的有效性。这是与用于Xml签名的哈希完全不同的算法。

如果Xml签名是使用SHA-2算法创建的,则在验证签名时必须使用SHA-2。 Xml Dsig库通常会自动处理它。

也就是说,使用SHA1签名不建议任何用法,因此创建断言的Idp在签名时应该使用SHA2或更好。

+0

能够,谢谢你的答复。谢谢,因为我需要更多的细节来理解这一点。假设客户使用SHA2算法发送了我的签名。我有几个问题是客户如何签名的:1)当客户签名时,他们是否使用SHA2算法使用他们的私钥,并且为了验证,我需要使用他们的公钥使用SHA2算法?或2)当客户签名时,他们是否使用我们的公钥使用SHA2算法,并且为了验证,我需要使用我们的私钥使用SHA2算法? – richard

+0

有没有人有这个想法? – richard

+0

我已经更新了我的答案,并提供了有关您的原始问题的更多详细信息。对于使用什么关键的问题 - 这是一个不同的问题。由于堆栈溢出格式不能很好地处理后续问题,因此请将其作为新问题发布。 –