服务器要有X.509数字证书,苹果在建立连接时会检查这个证书,此证书需要满足以下要求。
1. 有完整的数字签名
2. 没有过期
3. 名字与服务器的DNS名字相符
4. 签名由可靠的其它证书发布,最终链接到的锚证书要由CA发布。此锚证书要被苹果信任。
还有额外的安全检查
1. 服务器的证书签名要有2048位的RSA秘钥,或者256位的ECC秘钥
2. 证书要使用SHA-2算法,fingerprint要至少256位(也就是SHA-256以上)
3. 支持TLS协议1.2版本或以上
4. 数据交换要使用AES-128或者AES-256对称加密
5. 链接支持PFS,通过ECDHE交换秘钥
官网资料:https://developer.apple.com/documentation/security/preventing_insecure_network_connections