让asihttprequest v1.8.1-61支持tlsV1.0 sslV3

现象:

  访问google places api,返回错误:

    ASIHTTPRequestErrorDomain Code=1 *** SSL problem ****

 

解决方法:

方法:startRequest

        if (![self validatesSecureCertificate]) {
            // see: http://iphonedevelopment.blogspot.com/2010/05/nsstream-tcp-and-ssl.html
            
            NSDictionary *sslProperties = [[NSDictionary alloc] initWithObjectsAndKeys:
                                      [NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredCertificates,
                                      [NSNumber numberWithBool:YES], kCFStreamSSLAllowsAnyRoot,
                                      [NSNumber numberWithBool:NO],  kCFStreamSSLValidatesCertificateChain,
                                      kCFNull,kCFStreamSSLPeerName,
                                      nil];
            
            CFReadStreamSetProperty((CFReadStreamRef)[self readStream],
                                    kCFStreamPropertySSLSettings,
                                    (CFTypeRef)sslProperties);
            [sslProperties release];
        }

加上一行:

 

        if (![self validatesSecureCertificate]) {
            // see: http://iphonedevelopment.blogspot.com/2010/05/nsstream-tcp-and-ssl.html
            
            NSDictionary *sslProperties = [[NSDictionary alloc] initWithObjectsAndKeys:
                                      [NSNumber numberWithBool:YES], kCFStreamSSLAllowsExpiredCertificates,
                                      [NSNumber numberWithBool:YES], kCFStreamSSLAllowsAnyRoot,
                                      [NSNumber numberWithBool:NO],  kCFStreamSSLValidatesCertificateChain,
                                      kCFNull,kCFStreamSSLPeerName,
                                           @"kCFStreamSocketSecurityLevelTLSv1_0SSLv3", kCFStreamSSLLevel,
                                      nil];
            
            CFReadStreamSetProperty((CFReadStreamRef)[self readStream],
                                    kCFStreamPropertySSLSettings,
                                    (CFTypeRef)sslProperties);
            [sslProperties release];
        }

posted @ 2012-07-23 20:25  musée  阅读(1470)  评论(0编辑  收藏  举报