2016-07-28 53 views
0

AFAIK Android javax.net.ssl类对于任何SSL/TLS都使用C/Low级别的openSSL/BoringSSL库。Android javax.net.ssl和FIPS合规性openSSL

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

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

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

感谢

+2

[使Android应用程序使用FIPS 140-2 valiated cryptography]可能重复(http://stackoverflow.com/questions/38353513/make-a-android-application-use-fips-140-2-valiated-密码学) –

回答

0

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

现在任何https请求都会转到WolfSSL图层而不是股票android BoringSSL/OpenSSL。

0

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