証明書ピンニングの解除
一部のアプリは証明書ピンニングを使っており、プロキシをオンにした途端にまったく接続できなくなります。証明書ピンニングの解除は、それらにこのチェックを一時停止させてプロキシ証明書を信頼させるので、通常どおり接続でき、キャプチャして復号できるようになります。
1. 何を解決するか
Section titled “1. 何を解決するか”- 証明書ピンニングを持つアプリは、自前の組み込み証明書しか信頼せずプロキシの証明書を受け入れないため、プロキシキャプチャ中にネットワークにつながらなくなります。
- そのアプリを選んで証明書ピンニングを一時停止すれば、通常どおりネットワークにアクセスできるようになり、その HTTPS をプロキシ経由で通して復号できます。
重要:ピンニングの解除は、平文を読むことと同じではありません。 これはアプリを「プロキシ証明書を信頼する気にさせる」だけで、それ自体が内容を復号するわけではありません。復号は依然としてプロキシが行います。求めているのが「プログラム内部から直接平文を読む」ことなら、それは別の話です。本機でのアプリ層キャプチャを参照してください。
2. 対応するターゲット
Section titled “2. 対応するターゲット”3種のターゲット、それぞれ専用タブで操作します。
- 本機プログラム:ローカルプロセスを一覧表示、複数選択と、名前または PID でのフィルタリングに対応。
- iOS アプリ:デバイスを選び、アプリを一覧表示(開発証明書での再署名が必要なアプリ)、または bundle id を手動入力。
- Android アプリ:デバイスを選び(root 化が必須)、アプリを一覧表示、またはパッケージ名 / プロセス名 / PID を手動入力。
2つのスイッチ
Section titled “2つのスイッチ”- 子プロセスを自動処理(本機):一部のアプリケーションは子プロセスからネットワークリクエストを送受信するため、まとめて処理することで取りこぼしを防ぎます。
- ターゲットを再起動:アプリをまず再起動してから処理し、起動初期のリクエストをカバーします。

3. カバレッジと正直な境界
Section titled “3. カバレッジと正直な境界”- カバー対象:主流アプリの大多数の証明書ピンニング方式。各種の一般的なネイティブ暗号コンポーネントや、Android でよく見られるピンニングフレームワークを含みます。
- 結果をリアルタイムにフィードバック:成功時には、いくつのターゲット / プロセスを処理したかを伝えます。アプリがまだ未対応の珍しいネットワークコンポーネントを使っている場合は、待たせるのではなくはっきりとそう伝えます。
- 少数の適用外ケース:Go や Rust で書かれたプログラム、あるいはデスクトップの Java プログラムは、通常ピンニング解除には向きません。これらがシステム証明書を読むなら、システム / 自前の信頼ストアに証明書をインストールするだけでよく、ピンニングを解除する必要はありません。
4. 使いどころ
Section titled “4. 使いどころ”- キャプチャ対象のアプリが証明書ピンニングを使い、プロキシをオンにした途端にネットワークにつながらなくなるとき、そのアプリを選んでプロキシセッション内でピンニングを解除する。
- アプリの起動初期のリクエストをキャプチャするには:「ターゲットを再起動」をチェックする。
- マルチプロセスのデスクトップアプリケーション:「子プロセスを自動処理」をオンのままにする。
プロキシキャプチャへ戻る · 関連:証明書の管理とインストール · 本機でのアプリ層キャプチャ