使用 BouncyCastle 配置嵌入式 Tomcat 以提供符合 FIPS 标准的 HTTP2

Configuring embedded Tomcat to serve FIPS-compliant HTTP2 with BouncyCastle

我正在尝试配置嵌入式 Tomcat 服务器,以便它可以使用 BouncyCastle 的 FIPs 库以 FIPs 模式提供 HTTP2。我已将接受的协议设置为 TLSv1.2+TLSv1.3。我已经尝试了各种建议的密码套件,但似乎无论我设置什么密码套件,Chrome/FF 都会以“安全性不足”为由拒绝连接。如果我禁用 HTTP2,我将密码套件设置为什么都没有关系 - 它会正常工作。

我有点懵

当 BC 处于 FIPS 模式时,它需要 PKIX 作为 KeyManagerFactoryTrustManagerFactory 的算法:

Security.setProperty("ssl.KeyManagerFactory.algorithm", "PKIX");
Security.setProperty("ssl.TrustManagerFactory.algorithm", "PKIX");

没有这两行,服务器将无法检索密码套件所需的密钥。