一、需要先检查服务器证书:
(三种方法,推荐最后一种)
1,在腾讯云ATS上检测,
https://www.qcloud.com/product/ssl
2,直接看证书,注意证书签名算法,
3,mac终端检查,(以百度为例)
nscurl --ats-diagnostics https://baidu.com
一堆测试结果,注意看Result是PASS的,
如:
这种result是通过的,说明需要在info.plist里面添加该属性为false,即可通过。
二、在info.plist里面添加以下属性
(用到webview,最好在info.plist里面设置一下属性,这样uiwebview不用再单独设置)
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>对应域名</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
</dict>
</dict>
</dict>
主要是
NSExceptionRequiresForwardSecrecy,默认值为YES,置为NO后,访问该域名时TLS ciphers可以不支持完全正向保密(PFS);(注意----腾讯云检测时候可能提示支持完整正向加密,但是如果算法是SHA-1,则需要设置改属性为NO)
注意
NSAllowsArbitraryLoads、
NSAllowsArbitraryLoadsForMedia、
NSAllowsArbitraryLoadsInWebContent、
NSExceptionAllowsInsecureHTTPLoads任一属性置为YES
或设置NSExceptionMinimumTLSVersion,
都会触发App Store的额外审核并需要提交对应说明