私が抱えている課題は、コードを書き直さずに、HTTP接続を使用するAndroidアプリをHTTPS接続に変換することです。
ルートアクセスのないデバイスで上記の課題を達成するために利用できるオプションは何ですか?
サーバー側のリダイレクト (HTTP から HTTPS へ) に依存するソリューションは、MITM 攻撃に対して脆弱になります (この回答を参照してください)。
このアプリのアドレスが構成可能な場合は、HTTPS URL を使用するように変更してください。
それ以外の場合は、もちろんサーバー側のリダイレクトを使用してリスクをわずかに軽減できますが、ダウングレード MITM 攻撃を防ぐことはできません (これは、モバイル デバイスを使用している場合に特に発生する可能性があります)。
書き直すことはあまりありません。あなたは基本的にあなたのhttp://
リンクをに変更します、https://
そしてそれはそれです。エンドポイントの証明書が自己署名されているか、あまり一般的でない CA によって署名されている場合、いくつかの問題が発生する可能性がありますが、HttpClient をこれに簡単に置き換えて、発行者の CA をアプリに追加し、基本的に 1 つのコード画面で完了することができます。
アプリがあなたのものではなく、コードがない場合は、ssh トンネルや VPN などを介して透過的にパケットを再ルーティングするアクセス ポイントを介してネットにアクセスすることで、アプリをトンネリングしようとすることができます。
アプリがあなたのものではないが、コードを持つことができる場合-それが私見の最善の方法です。
あなたの制御下にある既知のエンドポイントに常に接続している場合は、リダイレクトする対象サーバー側に何かを実装できます。Apache サーバーの場合は、おそらく mod_rewrite のようなものです。