我正在使用Spring SAML扩展来连接ping federate IDP服务器。我导出了ping federate IDP元数据xml并将其放入我们的应用程序(并在securityContext.xml文件中引用相同的文件)。现在,当我尝试启动我的应用程序时,弹出saml抛出异常:
Caused by: org.opensaml.saml2.metadata.provider.MetadataProviderException: Error filtering metadata from C:\Drive E\workspace\enigma_master\etc\saml\idp.xml
at org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider.processNonExpiredMetadata(AbstractReloadingMetadataProvider.java:399)
at org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider.processNewMetadata(AbstractReloadingMetadataProvider.java:355)
at org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider.refresh(AbstractReloadingMetadataProvider.java:261)
... 100 more
Caused by: org.opensaml.saml2.metadata.provider.FilterException: Signature trust establishment failed for metadata entry
at org.opensaml.saml2.metadata.provider.SignatureValidationFilter.verifySignature(SignatureValidationFilter.java:327)
at org.opensaml.saml2.metadata.provider.SignatureValidationFilter.processEntityDescriptor(SignatureValidationFilter.java:178)
at org.opensaml.saml2.metadata.provider.SignatureValidationFilter.doFilter(SignatureValidationFilter.java:156)
at org.opensaml.saml2.metadata.provider.AbstractMetadataProvider.filterMetadata(AbstractMetadataProvider.java:493)
at org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider.processNonExpiredMetadata(AbstractReloadingMetadataProvider.java:395)
... 102 more
我在samlkeystore文件中导入了证书(标记<ds:X509Certificate>
下的证书),但问题仍然存在。我用谷歌搜索了错误并按照建议:
<ds:Signature>
标记。以上为我工作的方法。但我不想修改/删除IDP xml文件中的标记,它应该按原样工作。请让我知道我在做什么错?
另外,我想知道元数据xml中<ds:Signature>
标记的用法以及为什么即使在samlKeystore文件中导入证书后它也无法正常工作。每个子标记的含义是什么,例如<ds:SignedInfo>
,<ds:CanonicalizationMethod>
,<ds:SignatureMethod>
,<ds:Reference>
,<ds:Transform>
,<ds:DigestMethod>
,{{1} },<ds:DigestValue>
。
示例IDP元数据xml文件
<ds:SignatureValue>
答案 0 :(得分:0)
此问题通常是由于缺少Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for JDK/JRE 8
的安装造成的同时仔细检查证书是否真正正确导入samlKeystore.jks
答案 1 :(得分:0)
我发布此邮件是为了以防万一。
我也遇到了这个问题,我添加了IDP的元数据文件并将其证书导入到我的应用程序密钥库中。但是仍然存在签名信任验证问题。我确实在Intellij中从IDP格式化了metadata.xml,这确实搞砸了。一旦我导入了他们的元数据文件而不进行格式化,一切就一切顺利了。