我们已启动并运行了 ADFS 服务器,用于在云中为 Skype 提供 SSO,运行正常。最近,我们与外部合作伙伴建立了信赖方信任,他们使用自己的联合服务(他们自己编写/配置的服务)。他们是资源合作伙伴,我们是 IDP
当尝试访问他们的应用程序时,我们访问了他们的网站,但无法登录。在 AD FS 管理事件日志中,我们看到以下 2 个事件;
事件 ID 303 - 联合服务在处理 SAML 身份验证请求时遇到错误:MSIS0037:未找到颁发者的签名验证证书'https://xxxxxxxxx.com‘
事件 ID 364 - 联合被动请求期间遇到错误:MSIS0037:未找到颁发者的签名验证证书'https://xxxxxxxxx.com‘
依赖方信任的属性将 SignedSAMLRequestsRequired 设置为 False,将 SamlResponseSignature 设置为 False。
我有点困惑如何解决此问题。我假设我的 ADFS 服务器正在等待签名的 SAML 身份验证请求,但无法验证签名。有人能向我解释一下标识符在 RPT 配置中到底起什么作用吗?
短暂性脑缺血发作
答案1
根据Technet 上有关 Set-ADFSRelyingPartyTrust 的文档,SAMLResponseSignature
“[指定]依赖方期望的响应签名”(不接受“False”作为参数)。因此它不会执行您希望它执行的操作(服务是依赖方,而不是 ADFS)。
也就是说SignedSAMLRequestsRequired
,它将接受未签名的请求和无法验证签名的未签名的请求。
因此,我会查看服务使用的证书,尤其是它是否受 ADFS 服务器信任。我猜它要么是自签名的,要么是由内部 CA 签名的。