objective-c - iOS 采用https 请求,请问我需要修改一些代码吗?

 黄晓敏3023 发布于 2022-10-27 22:22

问题大致描述如下:

我用的不是自签名的证书,是向CA购买的ssl证书,请问如何在iOS App中引用并访问Https,具体该如何做呢?
目前我已经处理。但是同时产生了一个问题,如何在UIWebview中不验证子域名的域名地址。

2 个回答
  • iOS 支持 https 不需要你修改什么代码
    检查服务端吧


    问题修改了。。不验证子域名又是什么
    你定义了 abc.com 和 d.abc.com 然后其中一个配置了 ca 证书另外一个没有?

    2022-10-29 05:19 回答
    • 有CA证书的话不需要你做什么。

    • 有些域名没有证书的话,http请求可以禁用安全验证,比如用AFNetworking:

    AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeNone];
    securityPolicy.allowInvalidCertificates = YES;
    
    [AFHTTPSessionManager manager].securityPolicy = securityPolicy;
    • UIWebView 里据我所知,不使用私有方法的话做不到跳过验证。不过你可以接管整个网页加载,在shouldRequest...里返回NO,然后使用 AFNetworking 下载然后 loadHTML

    • 既然域名没有https证书,那就直接用http好了,在Info.plist里配置下域名白名单:

    <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSExceptionDomains</key>
            <dict>
                <key>your-domain.com</key>
                <dict>
                    <key>NSIncludesSubdomains</key>
                    <true/>
                </dict>   
             </dict>
       </dict>

    或者直接允许全部http,因为有些第三方库可能还用的是http:

    <key>NSAppTransportSecurity</key>
        <dict>
            <key>NSAllowsArbitraryLoads</key>
            <true/>
        </dict>
    • 建议将app内使用的所有域名都搞成 https ,因为明年苹果会强制所有app内请求都得是 https

    2022-10-29 05:20 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有