BoringSSLが採用されたAndroid6.0について
Android6.0でOpenSSLライブラリから、BoringSSLライブラリに移行をしました。
Android6.0 Changesの所にBoringSSLについての記載があるのですが、さらっと書いてあり、まぁそういうことねでさらとスルーしがちですが、具体的にどういう事なの?という事がはっきりしなかったので検証を以前行いました。
そういえばブログに記載してなかったなーと気が付いて、もう、Android6.0ネタも旬はすぎているので、誰か記事にしているだろうと思って、ググってみましたが誰も書かれていなかったので、ちょっと掘り起こして記事にしてみました。
(調査してから、期間をあけてブログに書くのはだめですね、色々と忘れてしまっています)
Andoid6.0のChangesのBoringSSL部分は短いので全訳すると以下となります。
Android6.0 Changesの所にBoringSSLについての記載があるのですが、さらっと書いてあり、まぁそういうことねでさらとスルーしがちですが、具体的にどういう事なの?という事がはっきりしなかったので検証を以前行いました。
そういえばブログに記載してなかったなーと気が付いて、もう、Android6.0ネタも旬はすぎているので、誰か記事にしているだろうと思って、ググってみましたが誰も書かれていなかったので、ちょっと掘り起こして記事にしてみました。
(調査してから、期間をあけてブログに書くのはだめですね、色々と忘れてしまっています)
Android6.0 Changes
Andoid6.0のChangesのBoringSSL部分は短いので全訳すると以下となります。
AndroidはOpenSSLライブラリからBoringSSLライブラリに移行しています。当初この文章を見たときに、OS付属のライブラリをダイナミックリンクするようなアプリなんてあまりないでしょうと思っていたのですが、その後結構存在する事がある事がわかりました。
NDKを使用しているアプリケーションで、libcrypto.soやlibssl.so等NDKの一部ではない暗号化ライブラリをリンクしないでください。
これらのライブラリはパブリックなAPIではなく予告なく変更したり中断したりする可能性があります。
さらに、セキュリティの脆弱性問題に遭遇する可能性があります。
その代わりに、JNI経由でJavaの暗号APIをよびだすようにネイティブコードを変更したり、静的に暗号化ライブラリをリンクするようにしてください。