我的 java 8 应用程序通过 REST 与其他系统进行通信,并使用 TLS1.2 进行保护。最后 2 个 java 补丁(261、271)已经破坏了连接,因为它们添加了一些与 TLS1.3 的向后兼容性。在握手期间,它开始使用一些较新的签名方案 -rsa_pss_rsae_sha256而不是以前工作的签名方案rsa_pkcs1_sha256(SHA256withRSA在 java8u251 中命名),该方案不起作用,因为它试图访问我的私钥(在CertificateVerify握手步骤期间),该私钥受 HSM 保护,因此它不工作可以阅读它。
我想禁用这个新的签名方案,因为旧的签名方案仍然足够,并且它适用于以前的 java 补丁,并且它也在我的应用程序的其他一些连接中使用。
我找到了这个解决方案 - https://bugs.openjdk.java.net/browse/JDK-8227445但是当我通过直接签名方案名称设置此设置时rsa_pss_rsae_sha256,它不起作用。您知道我应该在那里传递什么名称来禁用此特定签名方案(或所有rsa_pss_*签名方案组)吗?