ASIHTTPRequest https请求和SSL

Sta*_*ash 2 iphone objective-c asihttprequest ipad ios

我正在尝试使用https发送一个非常简单的ASIHTTPRequest.虽然我已将validatesSecureCertificate标志设置为"NO",但我的请求仍然得到奇怪的响应:

A connection failure occurred: SSL problem (Possible causes may include a bad/expired/self-signed certificate, clock set to wrong date)
Run Code Online (Sandbox Code Playgroud)

我使用的代码非常简单,我出于安全原因删除了实际参数:

NSURL *url = [NSURL URLWithString:@"https://secured.cet.ac.il/KotarServices/getMyBooks.aspx?username=xxxxxxxx&password=xxxxx&packageid=x"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setDidFailSelector:@selector(getMyBooksFailedWithError:)];
    [request setDidFinishSelector:@selector(getMyBooksFinishedWithResult:)];
    [request setDelegate:self];
    [request setValidatesSecureCertificate:NO];
    [request startAsynchronous];
Run Code Online (Sandbox Code Playgroud)

深入研究代码,我看到请求失败了"-9807"错误代码,该错误代码仅与操作系统有关,与我正在与之交互的服务器无关(SecureTransport.h将此映射为"无效的证书链").任何想法如何克服这个问题?提前致谢.

try*_*dis 8

我记得我在使用GoDaddy证书时遇到了类似的问题,并且必须在ASIHTTPRequest.m中进行以下更改,在if(![valid validatesSecureCertificate])内的注释"处理SSL证书设置"下面,在第1160行附近:

[sslProperties setObject:(NSString*)kCFBooleanTrue forKey:(NSString*)kCFStreamSSLAllowsAnyRoot];