Spring Security SAML IdP 元数据证书和签名

Yst*_*ter 2 spring metadata certificate saml spring-saml

我看过很多问题,包括/sf/answers/1776944711/。我有 IdP 元数据和证书,但似乎无法获得 Spring,所以请查看。

  • 将证书添加到密钥库:keytool -importcert -alias adfssigning -keystore samlKeystore.jks -file certificate.crt
  • 在元数据中有多个证书(2 个不同的)和一​​个 SignatureValue。
  • 我尝试使用相同的 keytool 命令添加签名值,但它不是证书。
  • 我还尝试添加在元数据中找到的 2 个证书。

我启用了调试日志,这就是我得到的:

  • 使用 KeyInfo 派生凭证成功验证签名
  • 尝试建立对 KeyInfo 派生凭证的信任
  • 提供的受信任名称为空或为空,跳过名称评估
  • 尝试对不受信任的凭证进行 PKIX 路径验证:[subjectName='O=novell,OU=accessManager,CN=test-signing']
  • 对于不受信任的凭证,PKIX 路径构建失败:[subjectName='O=novell,OU=accessManager,CN=test-signing']:无法找到到请求目标的有效证书路径
  • 无法通过签名凭据的 PKIX 验证建立签名信任
  • 未能建立对 KeyInfo 派生凭证的信任
  • 无法使用任何 KeyInfo 派生凭据验证签名和/或建立信任
  • PKIX 签名验证失败,无法解析有效且可信的签名密钥
  • 元数据条目的签名信任建立失败http://idp.ppd.com/nidp/saml2/metadata
  • http://idp.ppd.com/nidp/saml2/metadata org.opensaml.saml2.metadata.provider.FilterException过滤元数据时出错:org.opensaml.saml2.metadata.provider.SignatureValidationFilter 元数据条目的签名信任建立失败.verifySignature(SignatureValidationFilter.java:312)

Vla*_*fer 5

Spring SAML 手册在第 7.2.4 章中描述了元数据信任验证。一种选择是禁用信任检查,或从元数据中手动删除签名 XML。正如您发现的那样,导入 samlKeystore.jks 的证书是用于生成元数据签名的证书,而不是特定 SP 或 IDP 实体的签名/加密证书。