`
gaobusi
  • 浏览: 199627 次
  • 性别: Icon_minigender_1
  • 来自: 安徽
社区版块
存档分类
最新评论

ios项目绕过证书访问https程序

    博客分类:
  • IOS
阅读更多

如果是单个的webview或者request请求,在请求的文件h中直接实现NSURLConnectionDelegate,并在m中添加下列实现下列两个方法:

 

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
        //if ([trustedHosts containsObject:challenge.protectionSpace.host])
            [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] 
                 forAuthenticationChallenge:challenge];  
    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}

 上述方法很不爽的是每个请求的地方都要加。

 

如果项目中用到了three20,直接修改“TTRequestLoader.m”即可,这个文件本身就已经实现了NSURLConnectionDelegate,

 

修改如下,只改这一个地方就行,处处可用。

 

///////////////////////////////////////////////////////////////////////////////////////////////////
- (void)connection:(NSURLConnection *)connection
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{
    //修改
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
        [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];
    [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
    
    TTDCONDITIONLOG(TTDFLAG_URLREQUEST, @"  RECEIVED AUTH CHALLENGE LOADING %@ ", _urlPath);
    [_queue loader:self didReceiveAuthenticationChallenge:challenge];
}

//添加
- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
    return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}
 

 

 

 

 

 

 

 

分享到:
评论
2 楼 gaobusi 2012-09-03  
wangjie1986 写道
你好,按照上面的方法,在wifi网络下可以访问https了
但是,如果换成手机网络怎么都无法访问,请求一直发不出去,URLConnectionDelegate的所有回调都一直没有被调用,楼主知道这个原因吗,是不是手机网络和wifi网络有所不同。


我以前用上面第一个方法也是在wifi环境下测试的没有问题,没注意你说的问题,再找找原因吧。这种方法比较不爽的是每个请求都要加。

后来在three20中用的上述的第二种方法,一切顺利,只需要改three20中的一个文件即可。
1 楼 wangjie1986 2012-08-30  
你好,按照上面的方法,在wifi网络下可以访问https了
但是,如果换成手机网络怎么都无法访问,请求一直发不出去,URLConnectionDelegate的所有回调都一直没有被调用,楼主知道这个原因吗,是不是手机网络和wifi网络有所不同。

相关推荐

    完美iOSapp免签程序.rar

    总结来说,"完美iOS app免签程序.rar"提供了一种方法,使开发者能够绕过传统签名流程,通过个人证书实现iOS应用的免签分发。这在测试、内部部署或小范围分享应用时非常有用。同时,它可能包含了Web封装技术,使得...

    iOS 5.1.1免证书开发+真机调试+生成IPA全攻略

    在iOS 5.1.1时代,绕过证书限制进行开发和调试的教程在互联网上非常受欢迎。本文将详细地介绍在iOS 5.1.1上实现免证书开发、真机调试以及生成IPA文件的完整攻略。 首先,开发环境的搭建至关重要。在本文提到的时间...

    Iphone 非IDP万能证书

    但非IDP万能证书则绕过了这个流程,它使用的是自签名的开发证书,这些证书在创建时并不受Apple的控制,但仍然可以在设备上生效。 **创建非IDP万能证书的步骤:** 1. **设置开发环境:** 首先,你需要在电脑上安装...

    ios-iOS-本地应用分发.zip

    综上所述,"ios-iOS-本地应用分发.zip"提供的内容可能是一个完整的流程,包括了创建配置文件、打包应用、托管和安装的步骤,帮助开发者绕过App Store实现iOS应用的本地分发。如果你对这一领域感兴趣,可以通过访问...

    MAC OS X 10.8 + Xcode 4.4 下实现无证书真机调试 IOS5.1.1

    但是,在某些特殊情况下,开发者可能希望绕过这一步骤,以简化测试流程或避免申请证书时的时间成本和费用。本文档将详细介绍如何在MAC OS X 10.8系统以及Xcode 4.4环境下,实现无证书真机调试iOS 5.1.1版本的应用...

    BypassUdid-iOS6.1

    标题 "BypassUdid-iOS6.1" 暗示了这是一个针对iOS 6.1版本的UDID(Unique Device Identifier)绕过工具。在iOS系统中,UDID是一个设备特有的唯一标识符,用于区分不同的苹果设备。开发者通常会用它来跟踪和识别设备...

    APP分发源码/APP封装打包/ios免签封装打包/H5封装打包/企业签名

    但"免签封装打包"指的是绕过这个过程,直接在设备上安装未经Apple签名的应用。这可能涉及到使用企业级证书或者使用像TestFlight这样的测试服务。这种方式主要用于内部测试或者非官方发布,因为未经签名的应用可能...

    QQ212 for IOS

    2. **越狱**:iOS设备的越狱允许用户绕过苹果的官方限制,安装未经苹果审核的应用程序。不过,越狱可能会使设备面临安全风险,且可能导致保修失效。 3. **版本控制**:软件开发商会定期发布新版本来修复问题、添加...

    iPhone IOS Hacker Handbook

    越狱是指绕过苹果施加在iOS设备上的限制,以便用户可以安装非官方来源的应用程序、更改系统设置等。虽然越狱可以带来更大的自由度,但也存在安全风险。 #### 越狱类型 根据实现方式的不同,越狱可以分为几种类型,...

    iOS开发技巧

    iOS企业账号发布允许开发者绕过App Store审核,直接分发应用程序。流程包括: 1. 注册并获取企业级开发者账号。 2. 创建并签署Ad-Hoc或In-House证书。 3. 构建并签名应用程序。 4. 通过网页或邮件分发IPA文件给目标...

    iOS Hackers Handbook

    越狱是指绕过iOS系统默认的安全限制,使用户获得最高权限的过程。本章节讨论了人们为什么要进行越狱活动以及由此带来的好处和风险。 #### 越狱类型划分 根据实现方式不同,越狱大致可以分为“未绑定型”、“绑定型...

    ios9 企业级分发

    在iOS开发领域,企业级分发是一种特殊的应用程序部署方式,它允许企业为内部员工提供无需通过App Store的自定义应用程序。iOS 9的企业级分发主要针对大型企业或组织,便于他们对内部应用进行管理和分发,尤其适用于...

    IOS基于服务端的App 安装文件

    在iOS平台上,基于服务端的App安装文件通常指的是通过企业级分发或者Ad-Hoc方式来部署应用程序。...理解并熟练掌握这些知识对iOS开发者和企业管理员来说非常重要,特别是当他们需要绕过App Store进行应用部署时。

    专注于非越狱环境下iOS应用逆向研究,从dylib注入,应用重签名到App Hook.zip

    然而,逆向工程师依然可以通过一些技巧绕过这些限制,进行分析。 1. **dylib注入**:动态链接库(dylib)是iOS应用中可共享代码的模块。dylib注入是将自定义的dylib插入到目标应用中,使得在运行时可以扩展或修改...

    Xcode_3.2.5免证书开发调试

    确保Xcode处于关闭状态,在命令行终端中执行一系列代码指令,这些指令的主要功能是修改Xcode中的某些关键文件,使其能够绕过证书检查。具体步骤包括: 1. **复制并执行破解脚本**:在指定的Xcode插件目录下,通过`...

    ios mdm文档

    - **Activation Lock Bypass**:绕过激活锁功能。 ##### 2.3 认证 - **请求格式**:包括了认证所需的信息,如用户名、密码等。 - **HTTP 响应代码**:用于指示认证结果的状态码,例如 200 表示成功,401 表示未授权...

    xcode5实现ios_safari下载的方法和plist及html文件

    在iOS平台上,Safari浏览器并不支持直接下载.ipa文件,但是通过特定的配置,开发者可以在Xcode 5中实现让iOS ...通过上述步骤,开发者可以绕过App Store实现iOS应用的直接下载安装,这对于企业内部分发或测试非常有用。

Global site tag (gtag.js) - Google Analytics