Habilitar conexiones HTTPs en IOS9 con certificados viejos

En ios9 me encuentro con que las conexiones https que utilizaba han dejado de funcionar

NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9802)2015-12-14 10:07:25.497 app[24699:660001] Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef: 0x7ff8f14a4080>, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9802,

Buscando por internet encuentro la siguiente información en pagina de soporte de Apple:

Exactly. iOS 9 forces connections that are using HTTPS to be TLS 1.2 to avoid recent vulnerabilities. In iOS 8 even unencrypted HTTP connections were supported, so that older versions of TLS didn’t make any problems either.

El problema entonces viene porque el certificado https no soporta TLS 1.2.
Hay que configurar la aplicación para que acepte conexiones con version del certificado anterior.

Para ellos en el fichero info.plist añadimos la siguiente entrada:

NSAppTransportSecurity 
    
  NSAllowsArbitraryLoads  
   
   
    
    

O de forma grafica:

Captura de pantalla 2015-12-14 a las 9.16.54

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

* Please enter the Biggest Number