使用ExplicitKeySignatureTrustEngine验证元数据文件

时间:2018-11-21 09:52:30

标签: spring spring-boot spring-saml

我目前正在将Spring SAML 1.0.3实施到我的Spring Boot 2服务器中。

我是SAML联盟的成员,并且在一个巨大的元数据文件中获得了所有IdP和SP的元数据,并为验证元数据提供了单独的公钥。

服务器在启动时无法使用公钥(存在于密钥库中)验证元数据,并抛出

org.opensaml.saml2.metadata.provider.FilterException:
        Signature trust establishment failed for metadata entry

我想我已经得出结论,问题出在以下事实:元数据<KeyInfo/>元素内没有<Signature/>元素。

使用的默认SignatureTrustEngine实现是PKIXSignatureTrustEngine,似乎在<KeyInfo/>元素内有一个<Signature/>元素。如果找不到,则元数据验证失败。


我认为我的问题可以通过使用ExplicitKeySignatureTrustEngine实现来解决,该实现似乎不依赖于<KeyInfo/>元素进行元数据验证。此实现仅检查已配置密钥库(我将密钥放置在其中)中的密钥。


在验证元数据文件时,如何正确地告诉Spring SAML使用ExplicitKeySignatureTrustEngine而不是PKIXSignatureTrustEngine来使用SignatureTrustEngine

0 个答案:

没有答案