我遇到了一个有趣的问题,试图使用IBM的JRE 6.0签署SAML2断言。如果我在Sun JDK下运行代码,它将正确地签署断言并验证签名。如果我在IBM JRE下运行完全相同的代码,则可以正确创建断言,但是签名无法验证。同样,这确实是相同的代码,它与从码头运行一样,它也是完全相同的码头配置和战争文件。我有两个实例的码头在不同的端口上运行不同的JRE,但指向同一码头房屋。在Sun Jre验证下产生的签名,但在IBM JRE下产生的签名却没有。坦率地说,我很难过,并且无法尝试,因此任何建议都会有所帮助。

有帮助吗?

解决方案

迟到了几年,但我会自己回答这个问题。问题是DOM1(非Namespace Aware)和DOM2+(名称空间意识)调用的混合物。通过将所有内容转移到名称空间Aware Dom2+调用中,问题就消失了。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top