web-dev-qa-db-ja.com

GenymotionとCharlesを使用したSSLプロキシ?

Charlesプロキシで動作するGenymotion(x86 Androidエミュレータ))を取得しようとしています。デバイスのwifiプロキシ設定でデバイスをプロキシに接続し、ゲートウェイip(vmはホストオンリーアダプターfwiwを使用するように構成されています)とhttpトラフィックは正常にプロキシされています。charles証明書がvmにインストールされていますが、すべてのssl接続がまだ失敗し、「SSL:認識されないSSLメッセージです。プレーンテキスト接続? "エラー。Charlesをsslプロキシとして使用するようにgenymotionを設定できましたか?virtualbox設定を通じて実装できるより一般的なソリューションはありますか?

前もって感謝します。

24
CtrlF

Charles 3.10以降の変更を反映して2016年7月21日更新

SSL接続でプレーンテキスト通信を有効にするために、Charlesは中間者として機能します。 Charles httpプロキシを介して通信するようにデバイスを管理したら、Charlesの実行中のインスタンスから証明書をダウンロードしてインストールする必要があります。このインスタンスはCharlesのルート証明書によって生成および署名されます。

基本的に2つの方法が可能です(私は最初の方法を好みます)。

デバイスに直接ダウンロードしてインストールする

Charles経由で通信するようにデバイスを設定する必要があります!

  1. ブラウザを起動
  2. 開く http://charlesproxy.com/getssl
  3. 証明書のダウンロードが開始されます
  4. 挿入ダイアログを確認

Charles UIから証明書を保存する

  1. 「ヘルプ-> SSLプロキシ-> Charlesルート証明書の保存...」で証明書を保存します。
  2. デバイスに配置し(adb Push、電子メールなどで)、ファイルをクリックしてインストールします。

注1:証明書をインストールすると、デバイスのセキュリティPIN /パターン/パスワードを作成するように強制されます。

注2:Charles v3.10以降、単一のSSLルート証明書はサポートされなくなりました。

13
Michal Harakal

Genymotionエミュレータにアクセスします

設定-> Wifi->アクティブなネットワークを押し続けます

「ネットワークの変更」を選択します

「詳細オプションを表示」を選択します

「プロキシ設定->手動」を選択します

プロキシを次のように設定します:10.0.3.2(ローカルワークステーション用のGennymotionの特別なコード。ネットワークモード[〜#〜] nat [〜#〜]でなければなりません)

ポートを次のように設定します:8888

保存を押します。

この後、ネットワークリクエストがcharlesproxyに記録されていることがわかります。 genymotionブラウザーを開き、次のURL http://charlesproxy.com/getssl にアクセスして、証明書をダウンロードしてインストールします。あなたは行ってもいいはずです。 : http://rexstjohn.com/using-genymotion-charles-proxy/ からコピー

19
Salil Kaul

Genymotionデバイスで適切にセットアップするのは難しいですが、手順は次のとおりです。1. Genymotionデバイスを起動します2.設定-> Wifi->押し続けるかAdvanceタブを開きます3.プロキシ設定と手動を選択します4. Mitmのポートに設定しますアプリ。 Charlesは8888、Proxymanは9090です5.証明書を次の場所にインストールします:- http://charlesproxy.com/getssl for Charles- http://proxy.man/ssl Proxyman 6.証明書を受け入れます。7。もう一度テストします。

基本的に、これらの手順はCharles ProxyとProxymanで一貫しています。うまくいけば、それはあなたを助けることができました。

0
Nghia Tran