MSIS7093:邮件未使用预期的签名算法签名。 (但它是)
MSIS7093: The message is not signed with expected signature algorithm. (But it is)
我有一个信任 SP 的 ADFS。
我添加了 signature verification certificate
对于我的依赖方信任,但出现以下错误:
MSIS7093: MSIS7093: The message is not signed with expected signature algorithm. Message is signed with signature algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1. Expected signature algorithm http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
看起来很清楚,但与实际上下文不一致:签名验证证书是generated by SHA-256,而不是SHA-1。
如果我按照正确的错误消息并更改安全散列算法 from SHA-256 to SHA-1,它会起作用并且我可以执行 SSO 身份验证。但我对此并不满意,原因有二:
- SHA1 不再安全
- 我不知道为什么要将安全哈希算法设置为 SHA-1,而使用的证书实际上是 SHA-256。
证书是使用 openssl 生成的:
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout samlkratos.key -out samlkratos.crt
有人知道为什么会这样吗?
证书的散列值与用于存储数据的散列值没有真正的关系。
例如,当 XML 被签名时,规范的 XML 使用多种受支持的哈希算法之一进行哈希处理。 XML 然后用像 http://www.w3.org/2000/09/xmldsig#rsa-sha1 这样的签名算法更新,以告诉服务器这是使用的算法。
在服务器端,IdP 通常有一个设置,其中指定了签名算法。本质上告诉 IdP 它应该使用特定算法验证请求
如果您发送的是 sha1,而错误是它期望的是 sha256,则存在不匹配,SP(应用程序)可能需要更改设置。
您通常可以使用 SAML 解码器插件查看从浏览器发送的内容。
同样,这取决于 SP 应用程序配置为发送的内容以及 IdP 配置为接受的内容(如果适用)并且与证书(rsa-sha256 中的 RSA)关系不大,需要基于 RSA 的证书但是只要支持组合,就可以有很多东西(例如 DSA 证书不能支持 sha512,因为规范不允许)
我有一个信任 SP 的 ADFS。
我添加了 signature verification certificate 对于我的依赖方信任,但出现以下错误:
MSIS7093: MSIS7093: The message is not signed with expected signature algorithm. Message is signed with signature algorithm http://www.w3.org/2000/09/xmldsig#rsa-sha1. Expected signature algorithm http://www.w3.org/2001/04/xmldsig-more#rsa-sha256
看起来很清楚,但与实际上下文不一致:签名验证证书是generated by SHA-256,而不是SHA-1。
如果我按照正确的错误消息并更改安全散列算法 from SHA-256 to SHA-1,它会起作用并且我可以执行 SSO 身份验证。但我对此并不满意,原因有二:
- SHA1 不再安全
- 我不知道为什么要将安全哈希算法设置为 SHA-1,而使用的证书实际上是 SHA-256。
证书是使用 openssl 生成的:
openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout samlkratos.key -out samlkratos.crt
有人知道为什么会这样吗?
证书的散列值与用于存储数据的散列值没有真正的关系。
例如,当 XML 被签名时,规范的 XML 使用多种受支持的哈希算法之一进行哈希处理。 XML 然后用像 http://www.w3.org/2000/09/xmldsig#rsa-sha1 这样的签名算法更新,以告诉服务器这是使用的算法。
在服务器端,IdP 通常有一个设置,其中指定了签名算法。本质上告诉 IdP 它应该使用特定算法验证请求
如果您发送的是 sha1,而错误是它期望的是 sha256,则存在不匹配,SP(应用程序)可能需要更改设置。
您通常可以使用 SAML 解码器插件查看从浏览器发送的内容。
同样,这取决于 SP 应用程序配置为发送的内容以及 IdP 配置为接受的内容(如果适用)并且与证书(rsa-sha256 中的 RSA)关系不大,需要基于 RSA 的证书但是只要支持组合,就可以有很多东西(例如 DSA 证书不能支持 sha512,因为规范不允许)