我正在尝试验证 SAML 断言签名,但收到以下错误:
org.opensaml.xml.validation.ValidationException:Apache xmlsec IdResolver 无法解析 id 引用的元素:P_ZoIp8bCaGCKuf8Tqy1EckkF4_
在 org.opensaml.security.SAMLSignatureProfileValidator.validateReferenceURI(SAMLSignatureProfileValidator.java:153)
在 org.opensaml.security.SAMLSignatureProfileValidator.validateSignatureImpl(SAMLSignatureProfileValidator.java:84)
在 org.opensaml.security.SAMLSignatureProfileValidator.validate(SAMLSignatureProfileValidator.java:56)
在 com.test.AssertionValidator(AssertionValidator.java:341)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
在 javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
在 org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
在 java.util.concurrent.ThreadPoolExecutor.runWorker(未知来源)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(未知来源)
在 java.lang.Thread.run(未知来源)“
我正在使用 OpenSAML 2.6.1、XMLSec 1.5.6 和 JDK7u51。有什么办法可以摆脱这个错误?