TLS(TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256)を使用してBluetooth経由でデバイス(Bluetoothモジュールを備えたARMベースのデバイス)と通信するAndroidアプリケーションを開発しています。私が考えたこと:
- Android のjavax.net.ssl 。問題は、エフェメラル (ECDH E ) 暗号化キーが API 20 から開始されていることですが、API 11 が必要です。スイートを追加する方法が見つかりませんでした。このライブラリはandroid版との関係が強いようです。API のバージョンと概要
- Bouncycastle(spongycastle)ソケットを作成せずに使用する方法が見つかりませんでした。ネットワーク接続ではなく使用できるように、イン/アウトストリームのようなものが必要です。また、TLS/SSL はまったく見つかりませんでした。
- すべてを自分で実装します。選択したスイートからすべてのアルゴリズムを取得し、自分でプロトコルを実装することはできますが、何がわからないのかがわからず、セキュリティを台無しにすることを恐れています。そのようなことをするのが良い習慣であるかどうかはわかりません(十分にレベルが高いので、自分で実装するのはそれほど危険ではないかもしれません)
私の質問は、どのライブラリを TLS に推奨できますか? 自分でプロトコル(アルゴリズムではない)を実装するのは良い方法ですか?