1

在另一位同事离开公司之前,我为 SSO 放弃了一个项目。我们正在使用 SimpleSamlPHP。我猜当 Idp 转发用户时,他们会收到一条通知,上面写着:

“找不到与配置的指纹匹配的证书。候选人:'***********************************' ; certFingerprint: '************************************'。"

请注意,我在显示真实指纹或候选人的位置添加了 *****。

我不明白这到底意味着什么,或者我应该怎么做。错误中的 certFingerprint 与我们的 metadata/saml20-idp-remote.php 匹配

Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] SimpleSAML_Error_Error: UNHANDLEDEXCEPTION
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] Backtrace:
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 0 /var/www/simplesamlphp/www/module.php:180 (N/A)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] Caused by: SimpleSAML_Error_Exception: Unable to find a certificate matching the configured fingerprint. Candidates: '**********************'; certFingerprint: '************************'.
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] Backtrace:
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 5 /var/www/simplesamlphp/modules/saml/lib/Message.php:116 (sspmod_saml_Message::findCertificate)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 4 /var/www/simplesamlphp/modules/saml/lib/Message.php:165 (sspmod_saml_Message::checkSign)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 3 /var/www/simplesamlphp/modules/saml/lib/Message.php:556 (sspmod_saml_Message::processAssertion)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 2 /var/www/simplesamlphp/modules/saml/lib/Message.php:528 (sspmod_saml_Message::processResponse)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 1 /var/www/simplesamlphp/modules/saml/www/sp/saml2-acs.php:81 (require)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] 0 /var/www/simplesamlphp/www/module.php:135 (N/A)
    Aug 13 08:37:53 518537-web5 simplesamlphp[20692]: 3 [20fd4d449a] Error report with id 40d74688 generated.
4

1 回答 1

1

可以发布 x509 公共证书或其指纹。你只需要注意不发布私钥,所以你不需要把****

似乎您已经使用 certFingerprint 而不是证书配置了 IdP 远程元数据,因此它永远不会查看证书目录中的证书。

从这个输出看,您的 certFingerprint 选项设置不正确。要么更正它,要么将 certFingerprint 选项替换为“keys”选项(您从 XML 元数据解析器获得)、“certData”选项或“certificate”选项。

在 simpleSAMLphp 文档中获取更多信息: https ://simplesamlphp.org/docs/stable/simplesamlphp-reference-idp-remote#section_1

于 2015-08-14T15:13:51.747 回答