Backend TLS de Apple nativo

El TLS nativo de Apple (iohAppleTLS) es el transporte TLS de iOS y macOS de sgcWebSockets, sin ningún .dylib de OpenSSL que desplegar. Selecciona automáticamente la mejor API del sistema para el dispositivo, así que obtienes TLS 1.3 en sistemas modernos sin cambiar ninguna línea de código. Actívalo asignando iohAppleTLS a TLSOptions.IOHandler.

← Todos los backends TLS

TLS nativo de Apple (iohAppleTLS)

TLS nativo de Apple para iOS y macOS, sin ningún .dylib de OpenSSL que desplegar.

El TLS nativo de Apple permite que tus apps de iOS y macOS usen el propio TLS del sistema operativo, así que no hay ningún .dylib de OpenSSL que empaquetar, ajustar de versión ni parchear. Apple mantiene la pila TLS, lo que mantiene tu app alineada con la política de seguridad de la plataforma y elimina una dependencia de terceros de tu publicación.

El backend selecciona automáticamente la mejor API del sistema para cada dispositivo, todo tras el único ajuste iohAppleTLS. En macOS 10.14+ e iOS 12+ usa Network.framework, que trae TLS 1.3. En sistemas más antiguos recurre a Secure Transport, que llega como máximo a TLS 1.2. No te bifurcas según la versión del SO, el backend elige la ruta correcta y tu código se mantiene igual.

Es un cliente TLS completo, no uno recortado. Usa el almacén de confianza del sistema, realiza SNI y verificación del nombre de host, y expone un callback OnAppleTLSVerifyPeer para validación personalizada. Puedes confiar en una autoridad privada con una raíz CA personalizada (RootCertFile), presentar un certificado de cliente para TLS mutuo (CertFile + Password), y anunciar protocolos de aplicación como http/1.1 mediante ALPN. Elige este backend para apps de la App Store que quieran TLS 1.3 mantenido por el SO y sin criptografía de terceros que gestionar.

Activar el TLS nativo de Apple

Asigna iohAppleTLS a TLSOptions.IOHandler, y luego usa las mismas TLSOptions que cualquier otro backend.

WSClient.TLS := True;
WSClient.TLSOptions.IOHandler := iohAppleTLS;
WSClient.TLSOptions.ALPNProtocols.Add('http/1.1');
WSClient.TLSOptions.RootCertFile := '';   // optional custom CA (PEM/DER)
WSClient.TLSOptions.CertFile := '';       // optional client cert (PKCS#12) for mTLS
WSClient.TLSOptions.Password := '';       // client cert password
WSClient.TLSOptions.VerifyCertificate := True;
WSClient.OnAppleTLSVerifyPeer := DoVerifyPeer;  // optional custom validation
WSClient.Host := 'your.server.com';
WSClient.Port := 443;
WSClient.Active := True;
WSClient->TLS = true;
WSClient->TLSOptions->IOHandler = iohAppleTLS;
WSClient->TLSOptions->ALPNProtocols->Add("http/1.1");
WSClient->TLSOptions->RootCertFile = "";   // optional custom CA (PEM/DER)
WSClient->TLSOptions->CertFile = "";       // optional client cert (PKCS#12) for mTLS
WSClient->TLSOptions->Password = "";       // client cert password
WSClient->TLSOptions->VerifyCertificate = true;
WSClient->OnAppleTLSVerifyPeer = DoVerifyPeer;  // optional custom validation
WSClient->Host = "your.server.com";
WSClient->Port = 443;
WSClient->Active = true;

Sin .dylib de OpenSSL

La pila TLS viene con el sistema operativo, y el backend elige la API correcta por dispositivo.

Network.framework

En macOS 10.14+ e iOS 12+ el backend usa Network.framework, que trae TLS 1.3.

Recurso a Secure Transport

En sistemas más antiguos recurre a Secure Transport (TLS 1.2), de forma automática y tras el mismo ajuste.

Confianza del sistema y SNI

Usa el almacén de confianza del sistema con SNI y verificación del nombre de host, además de OnAppleTLSVerifyPeer para comprobaciones personalizadas.

CA personalizada y mTLS

Confía en una CA privada con RootCertFile, presenta un certificado de cliente con CertFile + Password, y anuncia protocolos ALPN.

Nota sobre ediciones

El TLS nativo de Apple (iohAppleTLS) requiere la edición Enterprise de sgcWebSockets. Consulta la matriz de funciones para el desglose completo.

TLS 1.3 nativo de Apple, cero OpenSSL

Descarga la prueba gratuita y envía apps de iOS y macOS sin ningún .dylib de OpenSSL que desplegar.