Proxyman でカスタムルート証明書を作成して使う

Proxyman でカスタムルート証明書を作成して使う のカバー画像

この記事では、Apple の新しいセキュリティ要件(iOS 13 以降および Catalina)に準拠した自己署名証明書を手動で作成し、それをカスタムのルート証明書として使う方法を解説します。

1. Apple の新しいセキュリティ要件とは?

iOS 13 および macOS 10.15(Catalina)以降では、正しく動作させるために、すべての証明書が Apple の新しいセキュリティ要件に準拠している必要があります。

要約すると、次のとおりです。

  • RSA 鍵のサイズは 2048 ビットより大きくする必要があります
  • ハッシュアルゴリズムは SHA-2 ファミリーである必要があります
  • SHA-1 で署名された証明書は、TLS ではもう信頼されません
  • サーバーの DNS 名は Subject Alternative Name に含まれている必要があります。Common Name はもう信頼されません
  • 証明書が有効であること(現在の日時が Not Before と Not After の範囲内にあること)
  • 有効期間は 825 日以内である必要があります
  • TLS サーバー証明書には、id-kp-serverAuth OID を含む ExtendedKeyUsage(EKU)拡張が必要です

詳しくは https://support.apple.com/en-us/HT210176 をご覧ください。

2. 自己署名証明書の作成方法

1/ デスクトップフォルダーに cert.config ファイルを用意します

[ ca ]
default_ca    = CA_default
[ CA_default ]
default_md    = sha256
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = critical,CA:true
keyUsage=critical,keyCertSign
extendedKeyUsage = serverAuth,clientAuth
[ req ]
prompt = no
distinguishedname    = reqdistinguished_name
[ reqdistinguishedname ]
C=US
L=US
O=Self-signed Certificate 
CN=my.server.dev
OU=Self-signed Certificate
  • C、L、O、CN、OU のパラメータの値を更新してください。

2/ ターミナルアプリで RSA 鍵を生成します。(your_password を実際のパスワードに置き換えてください)

cd ~/Desktop
openssl genrsa -aes256 -passout pass:your_password -out key.pem 2048

3/ 自己署名証明書と秘密鍵を生成します。(your_password を実際のパスワードに置き換えてください)

openssl req -x509 -new -nodes -passin pass:your_password -config cert.config -key key.pem -sha256 -extensions v3_ca -days 825 -out root-ca.pem

4/ p12 形式に変換します。(your_password を実際のパスワードに置き換えてください)

openssl pkcs12 -export -out root-ca.p12 -in root-ca.pem -inkey key.pem -passin pass:your_password -passout pass:your_password

5/ これで root-ca.p12 ファイルが作成されます。次の手順に進みましょう。

3. Proxyman でカスタムサーバー証明書として使用する

  1. Certificate メニュー -> Custom Certificate -> Root Certificate タブを選択します
  2. Import ボタン -> P12 をクリックします
  3. root-ca.p12 を選択し、パスワードを入力します
  4. キーチェーンアプリでカスタム証明書を信頼します:
  • キーチェーンアプリを開きます
  • 追加した証明書を検索します。名前は証明書の Common Name(CN)になっている場合があります
  • ダブルクリックして開き、「常に信頼」(Always Trust)を選択します
  • 「X」をクリックして変更を保存します

カスタムのルート証明書

証明書が正しくインストールされ、信頼されていることを示す緑色のチェックマークが表示されていることを確認してください。

カスタムのルート証明書

詳しくは Custom Certificate のドキュメント をご覧ください。

秘密鍵は厳重に管理する

ほとんどのテストでは、Proxyman が生成する証明書の方が手軽です。カスタムのルート証明書は、チームに明確な必要性がある場合にだけ使ってください。P12 ファイル、パスワード、秘密鍵をソース管理にコミットしないでください。また、チャットやメールで送信しないでください。テストプロジェクトで不要になったら、信頼済みストアから証明書を削除してください。


Proxyman は高性能な macOS アプリで、iOS デバイス、iOS シミュレータ、Android デバイス上のアプリやドメインからの HTTP/HTTPS リクエストをキャプチャできます。

ダウンロード:https://proxyman.com

Noah Tran
Noah Tran

2026年7月18日 に改訂。 証明書の安全性に関するアドバイスを追加し、可能な場合は組み込みの証明書を優先することを促す注意書きを加えました。

テスト環境に合った証明書を使いましょう

Proxyman は通常の利用向けにローカル証明書を作成します。チームで必要な場合は、カスタムのルート証明書にも対応しています。

Proxyman を入手する