SAML 配置保存失败: Okta IdP 证书被错误拒绝(验证器要求证书 CN 与 okta.com 域名相等)
SAML 配置保存失败: Okta IDP 证书被错误拒绝( CN 必须等同 okta.com 域名)
** 组件:** 开放元数据服务——安全/SAML ** 类型:** 错误 ** 严重性:** 高- 块编辑/保存 SAML SSO 配置,用于通过 UI 进行基于 Okta 的部署 ** 受影响的版本:** 1.12.x和目前的 " 主要 " (验证码不变)
□ 总结 保存一个使用 Okta IDP 的 SAML SSO 配置,使用 “ IDP X. 509 证书” 错误的验证失败, 即使证书有效且不变 。 证书验证员要求IdP证书的通名(CN)等于Okta域名("www.okta.com"或"`*.okta.com"),但Okta应用程序签名证书以"CN="org name"(例如"CN=my-company","O=Okta")签发,决不是okta.com域名. 因此,支票基本上拒绝所有合法的Okta SAML签名证书。
□ 复制步骤
- 将 SAML SSO 配置为 Okta IP. IdP实体ID是标准Okta表格:
http://www.okta.com/<appId>'. - 提供从奥克塔元数据(CN为Org名)获得的IDP X.509签名证书.
- 编辑并保存安全配置(UI → PATCH `/api/v1/system/security/config, 验证).
** 预测:** 配置保存;证书被接受,因为它解析并位于其有效性窗口内。 ** 实际:** 在 IDP X.509 证书上以字段错误拒绝保存 : `Okta 证书验证失败。 证书 CN “” 与实体 ID 域名“ www.okta.com” 不符
□ 根源 `SamlValidator.validate Idp 证书获得者(.)',Okta分支:
贾瓦 if(实体IDDomain!=无效 {实体IDDomain.contains (.okta.com")){ 如果 (! certCN.equals(实体IDDomain) ) {! certCN.equals (" *.okta.com"){ 丢出新的证书例外( “ Okta 证书验证失败 ” ) ; {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢? {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?
- " 实体IDDomain " 来源于IDP实体ID主机 -- -- www.okta.com。
- Okta 应用程序签名证书的`certCN'是**org名称**,而不是域名。
因此,对有效的奥克塔证书,平等检查总是失败。
该证书在`validateX509Certificate (.)'中(pars as X.509,未过期 / not-yt-valid))的较早时间已经进行了结构验证。 CN-等域假设只对Auth0风格的租户证书有意义,而不是奥克塔.
□ 影响
- 任何 Okta SAML 客户端都无法通过验证路径(UI)保存/编辑 SSO 配置 。 通常在域名更改或常规配置编辑时会浮出水面,其中再保存首次触发验证.
- 错误是误导性的:它指向证书字段,导致用户反复重新格式化/重新加载从未出现问题的证书.
□ 建议修正
放松奥克塔分行,使其不需要`certCN = 实体IDDomain'。 选项 :
1. 放弃奥克塔的硬故障并降级到通用供应商使用的同一种非致命警告(如果CN不匹配,则不要扔). 重置现有剖面+有效性检查.
2. 如果
. . . . . . .内容来源: open-metadata/OpenMetadata