web-dev-qa-db-ja.com

チャールズプロキシがSSL接続方法で失敗する

Android 4.3 IPTABLESを介してCharlesプロキシを使用することを強制。charles証明書は電話にインストールされます。ブラウザでhttpsウェブサイトのような通常のSSLトラフィックをキャプチャできます。すべてPOSTおよびGETメソッドは正常に機能するようです。特定のアプリでは、SSL CONNECTメソッドを使用すると失敗します。

  • URL: https://XX.XX.XXX.XXX/
  • ステータス:失敗
  • 失敗:SSLHandshake:致命的なアラートを受信しました:unknown_ca
  • 応答コード:-プロトコル:HTTP/1.0
  • 方法:CONNECT

助けてください!

34
user1318504

IOS 10.3からは、Settings> General> About> Certificate Trust Settingsに移動し、Charles証明書を信頼する必要があります。

enter image description here

47
Tomer Even

FacebookやInstagramなどのアプリケーションでこの問題に直面する可能性があります。チャールズ証明書は、SSL-PINNINGと呼ばれる手法を使用しているため、一部の新しいアプリでは機能しません。まず、アプリケーションのssl-pinningシステムを壊すか、古いバージョンのアプリケーションをインストールする必要がありますが、それでも動作する場合がありますが、この種のアプリケーションのトラフィックを記録するには、ssl pinningに関する新しいソリューションが必要です。

14
Berkay Yıldız

一部の人々は、ここでAndroid N証明書をインストールした後でもチャール経由でSSLを実行しないデバイス-現在 http:// chls。 pro/ssl

Nでは、xmlファイルとセキュリティ構成も追加する必要があります。この投稿ではさらに詳しく説明します: Android 7 nougat? でチャールズプロキシを動作させる方法

9
bsautner

同じ問題に遭遇しました。そして、最新の証明書をインストールした後、解決されます。 enter image description here

4
zhuguowei

電話で http://charlesproxy.com/getssl にアクセスして証明書をダウンロードします。 Androidで証明書をダウンロードすると、証明書をインストールするよう求められ、証明書に名前を付けて続行します。これで動作するはずです。

注:iPhoneでも同様のはずです

4
Leo Lei

@BerkayYıldızが言うように、おそらくssl/certificate pinningを使用しています。

sSLピンニングを修正/回避/無効にする方法は?

全体のロジックは次のとおりです。

レベル1normal httpの場合:コアロジック:

  • PC:Mac/Windows
    • チャールズはhttpプロキシを設定しました
    • ポートを設定
  • アプリはCharlesプロキシを使用します
    • wifi内で、セット
      • ホストIP

注:コンピューター側、wired network[〜#〜] not [〜#〜]ワイヤレスを使用する必要があります。そうでない場合、モバイル側ネットワークは使用できません

レベル2:for encrypted https

  • PC
    • charlesルート証明書をインストールします
      • Mac:Key Chainを使用してCharles Root CAを信頼します
    • チャールズ
      • Enable SSL Proxying
        • 特定のAPIアドレスの場所フィルターを設定します
  • 電話
    • アプリ
      • charles Root CA をインストールします
        • 注:タイプはVPN and Application を選択する必要があります。
          • 選択しない:WLAN
        • 証明書のインストールが成功したことを確認します
          • Trusted Credentials -> User、インストールされたチャールズ証明書を見ることができます

レベル3ssl pinningを使用するSPECIAL httpsの場合:

  • 電話:
    • ルートまたはジェイルブレイクを確認してください
      • Android:定着している
        • 後でツールをインストールするため:Xposed
      • iOS:ジェイルブレイクがあります
        • 後でツールをインストールするため:Cydia
    • ssl pinning を回避/無効化できるプラグイン/ツールをインストールします

より詳細な要約は私の投稿を参照してください(中国語で書かれています): 1 および 2

4
crifan

このリンクでは http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ Charles証明書を適切にインストールするために必要なすべての情報があります。

インストール後、「SSLHandshake:致命的なアラートを受信しました:unknown_ca」エラーを取り除きます。

0
manuelgos

Android電話でfacebookログインを使用してアプリでこれを取得した場合、fbアプリをアンインストールすることで回避できます。代わりにモバイルfbウェブが使用され、すべてをチャールできます。 fbアプリをインストールしたfb APIはSSLエラーで失敗します。

0
cmbellman

Nexus 6pに証明書をインストールしようとすると、Android 6.0。(charlesの指示に従って http:// chls.pro/ssl 。):

証明書ファイルを読み取れなかったため、インストールできませんでした。

この問題の解決策は、次を介してインストールすることでした:Settings> Security> Install from storage証明書ファイルに移動してインストールすると、すべてが期待どおりに機能しました。

0
lejonl