2016-07-28 28 views
0

AFAIK Android javax.net.ssl Klassen verwendet openSSL/BoringSSL-Bibliothek auf C/Low-Ebene für alle SSL/TLS.Android javax.net.ssl ​​und FIPS-Kompatibilität openSSL

Intention: Load FIPS-Kompatibilität openSSL libaray in meiner Anwendung und machen javax.net.ssl(okhttp) Klassen verwenden diese Bibliothek?

Ähnlich wie WolfSSL provider, aber nicht JSSE-kompatibel.

ist dies mit FIPS openSSL + Android machbar, was sind die Konfiguration auf Android Java-Ebene?

Dank

+2

Mögliches Duplikat von [Machen Sie eine Android-Anwendung, die FIPS 140-2-Validated-Kryptographie verwendet] (http://stackoverflow.com/questions/38353513/make-a-android-application-use-fips-140-2-vali-ated- Kryptographie) –

Antwort

0

Geänderter OKHTTP und OKIO-Code, um die WolfSSL-Java-Wrapper zu verwenden und es funktioniert.

Nun werden alle HTTPS-Anfragen an die WolfSSL-Schicht gesendet, anstatt das Lager android BoringSSL/OpenSSL.

0

Dies ist nicht getestet, weil mein Android-Toolchain zur Zeit nicht erreichbar ist, aber ich glaube, dass Sie in der Lage sein sollten, eine FIPS-konforme OpenSSL-Bibliothek zu bündeln, eine java.security.Provider konstruieren, die JNI verwendet rufen zu der gebündelten Bibliothek und verwenden Sie dann java.security.Security.insertProviderAt, um diesen Provider als bevorzugten Provider zu installieren. Es gibt weitere Informationen darüber, wie man einen dieser Provider schreibt und ihn unter http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/HowToImplAProvider.html und http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html#Provider verwendet, da die javax.net.SSL von Android die normale Java Cryptography Architecture verwendet.