Java 12 之后,删除了内部包 com.sun.net.ssl。有什么方法可以让我以编程方式检查 JVM 上是否启用了 FIPS?
您可以使用java.security.Security集中安全配置和提供程序的类,然后检查 FIPS 提供程序是否已注册。
Javadoc:安全性
\n您可以迭代安全提供程序并检查您是否有 FIPS 提供程序,例如BouncyCastleFipsProvider或任何其他 FIPS 提供程序。
\n此外,您还可以检查是否有处于兼容模式的 SunJSSE FIPS(SunPKCS11-NSS 提供程序)。请记住,SunJSSE Fips 兼容模式在 JDK13 中被删除,并且正如评论所说,该提供程序在 Java 13 之前可用,但从 Java 9 开始它可能无法正常工作。这是一个需要考虑和测试的点。
\nJavadoc 提供者:此处为 javadoc)。
\n例如:
\nProvider[] providers=Security.getProviders();\nfor (int i=0; i < providers.length;i++){\n if (providers[i].getName().contains(\xe2\x80\x9cFips\xe2\x80\x9d)) return true;\n}\nRun Code Online (Sandbox Code Playgroud)\n希望能帮助到你。
\n