Alex Rivera | Logout

Request to web service over SSL

Asked 2013-02-15T09:51:29.423
8

i am struggling to request web service using https. I am getting this kind of error:

An error occured : The certificate for this server is invalid. You might be connecting to a server that is pretending to be “SERVER_ADDRESS” which could put your confidential information at risk.

I am not using NSUrlConnectionDelegate. Here is my method:

- (void)sendRequestWithUrl:(NSURL*)url block:(void (^)(NSDictionary *dict, NSError *error)) block{
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
    [request setHTTPMethod:@"POST"];
    [[NSRunLoop currentRunLoop] runMode:NSDefaultRunLoopMode beforeDate:[NSDate distantFuture]];
    NSError* err = nil;
    NSHTTPURLResponse* rsp = nil;
    // Perform the request synchronously on this thread
    NSData *rspData = [NSURLConnection sendSynchronousRequest:request returningResponse:&rsp error:&err];
    if (rspData && err == nil) {
        NSDictionary *result = [NSJSONSerialization JSONObjectWithData:rspData options:NSJSONReadingMutableLeaves error:&err];
        if(result) {
            block(result, err);
        } else {
            block(nil, err);
        }
    }else{
        DLog(@"Requesting URL: %@  An error occured : %@",url,[err localizedDescription]);
        block(nil, err);
    }
}

How i could solve this problem ?

Edit
Report

1 Answer

2

Apple has a technote that covers this very well:

"Technical Note TN2232: HTTPS Server Trust Evaluation"

https://developer.apple.com/library/ios/#technotes/tn2232/_index.html

answered 2013-02-19T02:45:59.990

Your Answer