2013-11-27 11 views
12

sto provando a chiamare il mio url usandoOttenere CFNetwork SSLHandshake falliti (-9806) Errore

NSDictionary *landingDetails=[appDelegate landingPage]; 

     NSString *devinf=[UIDevice currentDevice].systemVersion; 
     NSString *appVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; 

     NSMutableDictionary *reqDict=[NSMutableDictionary dictionary]; 
     [reqDict setObject:@"refillByScan" forKey:@"appId"]; 
     [reqDict setObject:@"extest1" forKey:@"affId"]; 
     [reqDict setObject:[landingDetails objectForKey:@"token"] forKey:@"token"]; 
     [reqDict setObject:@"0124400-59382" forKey:@"rxNo"];//medication or prescription id 
     [reqDict setObject:@"appName://handleControlFromScanRefill" forKey:@"appCallBackScheme"]; 
     [reqDict setObject:@"callBackAction" forKey:@"appCallBackAction"]; 
     [reqDict setObject:@"chkExpRx" forKey:@"act"]; 
     [reqDict setObject:@"" forKey:@"trackingId"]; 
     [reqDict setObject:devinf forKey:@"devinf"]; 
     [reqDict setObject:appVersion forKey:@"appver"]; 

     NSString *landingUrl=[landingDetails objectForKey:@"landingUrl"];//my url 
     request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:landingUrl]]; 
     NSString *jsonRequest = [reqDict JSONRepresentation]; 
     NSLog(@"jsonRequest is %@", jsonRequest); 
     NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]]; 

     [request setHTTPMethod:@"POST"]; 
     [request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"]; 
     [request setHTTPBody: requestData]; 

     con=[[NSURLConnection alloc]initWithRequest:request delegate:self]; 
     [con start]; 

sto ottenendo questo errore nel mio ceppo

2013-11-27 19:43:30.754 WallGreen[5594:3a03] CFNetwork SSLHandshake failed (-9806) 
2013-11-27 19:43:31.273 WallGreen[5594:3a03] CFNetwork SSLHandshake failed (-9806) 
2013-11-27 19:43:31.799 WallGreen[5594:3a03] CFNetwork SSLHandshake failed (-9806) 
2013-11-27 19:43:31.800 WallGreen[5594:3a03] NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9806) 
+0

Il certificato SSL/TLS dell'URL è autofirmato o firmato da un'autorità di certificazione elencata nel portachiavi del sistema? OpenSSL include un eccellente strumento s_client per il debug di questi tipi di problemi: http://www.openssl.org/docs/apps/s_client.html –

+0

penso che il suo ssl/tls sia certificato –

+1

http://stackoverflow.com/questions/19922717/how-to-handle-cfnetwork-sslhandshake-failed-in-ios –

risposta

5

FWIW: ho ottenuto lo stesso numero di errore ed era dovuto a un certificato scaduto, quindi questa è un'altra potenziale fonte per il problema.

+4

Questo non fornisce una risposta al domanda. Per criticare o richiedere chiarimenti da un autore, lascia un commento sotto il loro post. – Stonz2

+1

Non sono sicuro di comprendere appieno questo commento. Stai dicendo che "potrebbe essere dovuto a un certificato scaduto" non è una risposta perché non è sicuro al 100%? O che ha bisogno di dettagli su come generare un nuovo certificato se uno è effettivamente il problema (dettagli che variano in base alla CA di emissione)? Tutti i dettagli che puoi offrire riguardo a carenze specifiche nella mia risposta sarebbero apprezzati. – Arkaaito

+0

Ho questo errore con certificato non valido (il nome host nel certificato non corrisponde). –

1

C'è un bug su iOS 8 quando si usa un certificato con la funzione hash SHA512, meglio usare lo SHA256. Ho bloccato questo errore per settimane.

1

Normalmente quando ricevo CFNetwork SSLHandshake falliti - (*) Il suo perché della mia rete wifi locale (dispositivo è connesso alla rete, ma non internet)

provare di nuovo su un'altra rete (3G è la soluzione più rapida per me)

Problemi correlati