我在尝试使用 IBM 的 JRE 6.0 签署 SAML2 断言时遇到了一个有趣的问题。如果我在 Sun JDK 下运行代码,它会正确签署断言并验证签名。如果我在 IBM JRE 下运行完全相同的代码,则会正确创建断言,但不会验证签名。同样,这是相同的代码,事实上,因为它是从 Jetty 运行的,它也是完全相同的 Jetty 配置和 WAR 文件。我有两个 Jetty 实例在具有不同 JRE 的不同端口上运行,但指向同一个 Jetty 主页。在 Sun JRE 下生成的签名有效,但在 IBM JRE 下生成的签名无效。坦率地说,我很难过,我已经没有东西可以尝试了,所以任何建议都会有所帮助。