iphone: secure erholsamen server "Das Zertifikat für diesen server ist ungültig

Ich versuche zu verbrauchen sicher restful-service, der Fehler gibt

Error = Error Domain=NSURLErrorDomain Code=-1202 "Das Zertifikat für diesen server ist ungültig. Sie könnte die Verbindung zu einem server, der vorgibt, “xxx.xxx.xxx.xxx" setzen könnte, Ihre vertraulichen Daten gefährdet."

arbeiten auf xCode 4.2, wo ist der Fehler oder irgendein Schritt fehlt.

mit dem folgenden code

RegisterUser.f

@interface RegisterUser : UIViewController<UITextFieldDelegate,
UIScrollViewDelegate, NSURLConnectionDelegate>

RegisterUser.m

- (IBAction)SubmitBtnAction:(id)sender {

    NSURL *url = [NSURL URLWithString:@"https://xx.xx.xx.xxx:8223/jaxrs/tunedoorgateway/getCountries"];
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url];

    [NSURLConnection sendAsynchronousRequest:urlRequest queue:[[NSOperationQueue alloc] init]
     completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
     {

         if ([data length] >0 && error == nil)
         {
             NSLog(@"Data = %@", data);
             //DO YOUR WORK HERE

         }
         else if ([data length] == 0 && error == nil)
         {
             NSLog(@"Nothing was downloaded.");
         }
         else if (error != nil){
             NSLog(@"Error = %@", error);
         }

     }];

}


- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
    NSLog(@"This is canAuthenticateAgainstProtectionSpace");
    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];
    NSLog(@"This is didReceiveAuthenticationChallenge");
  // [[challenge sender] cancelAuthenticationChallenge:challenge];
}
Ich würde dieses Problem durch die richtige Einstellung von Datum und Uhrzeit für mein Gerät.
Gelöst gleiche Problem mit nur die Einstellung Geräte' Datum & Zeit automatische.

InformationsquelleAutor Azhar | 2012-09-10

Schreibe einen Kommentar