如何在 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(SAN)中,不再信任 Common Name(CN)
  • 证书必须有效(当前日期位于 Not Before 与 Not After 之间)
  • 有效期不超过 825 天
  • TLS 服务器证书必须包含 ExtendedKeyUsage(EKU)扩展,且其中包含 id-kp-serverAuth OID。

更多信息请参阅: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/ 在“终端”App 中生成 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. 在“钥匙串访问”App 中信任你的自定义证书:
  • 打开“钥匙串访问”App
  • 搜索你添加的证书。证书名称可能是其 Common Name(CN)
  • 双击打开证书,并选择“始终信任”
  • 点击 “X” 关闭窗口并保存更改

自定义根证书

请确认你能看到绿色对勾,表示证书已正确安装并受信任。

自定义根证书

请查阅 Custom Certificate 文档。

妥善保管私钥

大多数测试场景下,使用 Proxyman 生成的证书更简单。只有团队确实有明确需求时,才使用自定义根证书。切勿将 P12 文件、密码或私钥提交到版本控制系统,也不要通过聊天工具或邮件发送。测试项目不再需要该证书时,请将其从受信任的证书存储中移除。


Proxyman 是一款高性能的 macOS 应用,可帮助开发者抓取并查看来自 iOS 设备、iOS 模拟器和 Android 设备上的应用与域名的 HTTP/HTTPS 请求。

下载地址:https://proxyman.com

Noah Tran
Noah Tran

最后修订于 2026年7月18日。 新增证书安全建议,并提醒在可能的情况下优先使用内置证书。

为你的测试环境选择合适的证书

Proxyman 会为日常使用自动创建本地证书;如果团队有需要,也支持使用自定义根证书。

获取 Proxyman