1

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)吗?

任何建议都会很棒。

4

1 回答 1

1

一般来说,simpleSAMLphp 中的这个错误表明验证签名存在问题,我会说确保正确的 cers 到位。但是,如果它只发生在来自同一连接的某些用户身上,那么一定是发生了其他事情。

您可以询问 IdP 他们是否已将 ObjectGUID 定义为二进制属性,并验证他们用于该属性的编码 - 我想它可能会破坏验证中的某些内容......这是我唯一能想到的可能打破 simpleSAMLphp 和 PingFederate 之间的其他工作连接(披露 - 正如我的个人资料中所述,我确实支持 Ping 的工作)。

如果您的合作伙伴与我们签订了有效合同,他们可以在需要帮助时随时提出支持问题,我们很乐意与他们(和您)通电话以解决问题。

于 2014-01-09T13:03:45.780 回答