SustainSys Saml2配置伪造证书仍通过签名验证的问题咨询(Azure SSO场景)
问题分析与解答
核心结论
这种情况肯定应该验证失败,出现签名验证通过的异常,大概率是SustainSys根本没用到你配置的伪造证书,而是通过其他渠道拿到了正确的验证证书。
可能的原因及排查方向
- 元数据自动更新没关:SustainSys Saml2默认可能会从IdP的元数据URL自动拉取证书,哪怕你手动配了伪造的,只要元数据自动加载开着,库就会优先用元数据里的有效证书。去检查配置里的
LoadMetadata选项是不是开着,有没有自动同步元数据的逻辑。 - 证书缓存没清:之前正确的证书可能还在缓存里没过期,验证时用的还是旧证书,不是你刚配的伪造证书。试试重启服务、清掉内存缓存后再测。
- 配置优先级搞反了:SustainSys的配置有优先级,比如元数据里的证书优先级比手动配置的高。确认你的配置是不是覆盖了元数据里的证书,或者有没有多个IdP配置条目,导致用错了证书来源。
- Azure AD集成的特殊处理:如果是Azure AD当IdP,可能SustainSys和Azure的集成做了优化,跳过了手动配置证书的验证,转而依赖Azure的信任机制。检查有没有开针对Azure AD的特殊集成选项。
验证方法
- 先把元数据自动加载关掉:配置里设
LoadMetadata = false,同时删掉元数据相关的URL配置,确保只用到手动配的伪造证书。 - 开Debug级日志:把SustainSys的日志级别调到Debug,看日志里具体用了哪个证书做签名验证,确认是不是你配的伪造证书。
- 改伪造证书的内容:比如篡改公钥部分,再测一次,如果这时候验证失败了,说明之前的伪造证书可能碰巧和IdP的签名匹配(概率极低,但得排除)。
内容的提问来源于stack exchange,提问作者Phil
相关产品推荐
相关产品推荐

