2016-07-28 88 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中使用。