unnexlained simpleSAMLphp行为,说有些SAML响应有效且有些无效

时间:2014-01-08 00:57:18

标签: saml-2.0 simplesamlphp

IdP正在使用Ping Federate v6.10。服务提供商正在使用simpleSAMLphp。

我们已确认IdP正在向SP发送SAML断言。但是在simpleSAMLphp中我们得到以下错误:

Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] Backtrace:
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 0 C:\inetpub\wwwroot\simplesamlphp\www\module.php:180 (N/A)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] Caused by: Exception: Reference validation failed
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] Backtrace:
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 8 C:\inetpub\wwwroot\simplesamlphp\lib\xmlseclibs.php:1028 (XMLSecurityDSig::validateReference)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 7 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\Utils.php:52 (SAML2_Utils::validateElement)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 6 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\Assertion.php:469 (SAML2_Assertion::parseSignature)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 5 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\Assertion.php:240 (SAML2_Assertion::__construct)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 4 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\Response.php:37 (SAML2_Response::__construct)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 3 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\Message.php:471 (SAML2_Message::fromXML)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 2 C:\inetpub\wwwroot\simplesamlphp\lib\SAML2\HTTPPost.php:88 (SAML2_HTTPPost::receive)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 1 C:\inetpub\wwwroot\simplesamlphp\modules\saml\www\sp\saml2-acs.php:16 (require)
Jan 07 12:42:37 simplesamlphp ERROR [0ed1b9806f] 0 C:\inetpub\wwwroot\simplesamlphp\www\module.php:135 (N/A)

奇怪的是,有些用户在工作,有些则没有。你们之前见过这种行为吗?是否可能是因为从Active Directory中提取的属性包含奇怪的字符(即objectGUID)?

任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

一般,simpleSAMLphp中的这个错误表示验证签名的问题,我会说确保适当的cers到位。但是,如果它只发生在来自同一连接的某些用户身上,则必须有其他事情发生。

您可以询问IdP是否已将ObjectGUID定义为binary attribute,并将verify the encoding定义为该属性 - 我认为它可能会破坏验证中的某些内容...这是关于只有我能想到的可能会破坏simpleSAMLphp和PingFederate之间的其他工作联系(披露 - 正如我在个人资料中所说,我支持Ping的工作)。

如果您的合作伙伴与我们签订了有效合同,如果他们需要帮助,他们可以随时打开支持问题,我们很高兴与他们(以及您)通电话来解决问题。