3 4行まとめ
- Charles の証明書は発行から1年間しか使えないので、期限切れになっていたら再発行が必要
- 期限切れの証明書が見当たらなければ キーチェーンアクセス > 表示 > 有効期限の切れた証明書を表示 で探す
- 再発行は Charles の Reset Charles Root Certificate から
- iOS のプロファイルの有効化には「VPNとデバイス管理」と「証明書信頼設定」の2つが必要
問題1:Charles Help > SSL Proxying > Install Charles Root Certificate ができない
症状: キーチェーンアクセス.app は起動するものの Charles の証明書が見つからない
確認:キーチェーンアクセス 表示 > 有効期限の切れた証明書を表示 してみよう
「表示」メニューから有効期限切れの証明書の表示/非表示を切り替えられるのですが、私の場合「非表示」になっていたので上述の症状になっていたようです。
「表示」にしてからキーチェーンアクセスの右上の検索フォームから「Charles」などと入力すると見つけられました。
問題2:Charles の証明書・プロファイルが期限切れ
症状: キーチェーンアクセス.app に入れた証明書や iOS 端末にインストールしたプロファイルが期限切れになっていて、プロキシがうまく動かない
確認: Reset Charles Root Certificate ... してみよう
期限切れなので新しく作り直したい、ということで Charles Help > SSL Proxying > Reset Charles Root Certificate ... からリセットします。
選択すると「証明書を全部再設定しないといけないけどいい?」みたいなことを聞かれるのでOKします。
そこから再度証明書・プロファイルをインストールします。手順は初回のセットアップとほぼ同様です。
-
macOS
- Install Charles Root Certificate で Mac に証明書をインストールし、キーチェーンアクセス.app で「常に信頼」にする
- 期限切れの証明書は削除しておく(ログインパスワードの入力が必要でした)
- 残っているとiOSのプロファイルインストールでエラーになるっぽい?
-
iOS
- iOS 端末を Mac と同じネットワークに接続しておいて、プロキシも設定しておく
- 端末の Safari で http://www.charlesproxy.com/getssl を開き、プロファイルをダウンロード
- iOS の 設定 > 一般 > VPNとデバイス管理 > 構成プロファイル で Charles のプロファイルを信頼する
- ついでに期限切れのプロファイルは削除しておいた方が無難?
- iOS の 設定 > 一般 > 情報 > 証明書信頼設定 > ルート証明書を全面的に信頼する で 「Charles Proxy CA」を有効にする
おわり?
Charles・プロキシ全然分からない勢なのでこれでちゃんとできたのかいまいち自信がないですが、対処する前よりは赤い×が減ってて多少は動いている気がする…。
参考にした記事