Android javax.net.ssl 和 FIPS 合规性 openSSL

Android javax.net.ssl and FIPS compliance openSSL

AFAIK Android javax.net.ssl 类 在 C/Low 级别对任何 SSL/TLS.

使用 openSSL/BoringSSL 库

意图: 在我的应用程序中加载 FIPS 合规性 openSSL 库并使 javax.net.ssl(okhttp) 类 使用该库?

类似于WolfSSL provider,但不兼容 JSSE。

这在 FIPS openSSL+ 上是否可行 android,android java 级别的配置是什么?

谢谢

这是未经测试的,因为我的 Android 工具链目前已关闭,但我相信您应该能够捆绑一个符合 FIPS 的 OpenSSL 库,构建一个 java.security.Provider 使用 JNI 调用到捆绑库,然后使用 java.security.Security.insertProviderAt 将该提供程序安装为首选提供程序。在 http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider.html and http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html#Provider 有更多关于如何编写这些提供程序之一并使用它的信息,因为 Android 的 javax.net.SSL 使用常规的 Java 密码体系结构。

修改 OKHTTP 和 OKIO 代码以使用 WolfSSL java 包装器并使其工作。

现在发出的任何 https 请求都将转到 WolfSSL 层,而不是库存 android BoringSSL/OpenSSL。