我正在使用 Apache CXF 3.1.5 与 PingFederate 7.2 一起工作。在 PingFederate 中,如果 SAML 断言未加密,我将创建一个 WS-Trust SP 连接。它运作良好。如果 SAML 断言已加密,则它不起作用,因为CXF需要PingFederate的RSTR中的元素EncryptedAssertion或EncryptedData的Id属性。而 PingFederate不提供这样的 Id 属性。所以我有两个问题。
为什么CXF需要Id属性(类AbstractSTSClient中的createSecurityToken方法)?似乎标准规范说Id属性是可选的。
如何在 PingFederate 中为 Element EncryptedAssertion或EncryptedData添加Id属性?或者还有什么我可以做的吗?
非常感谢!