El uso de SSL para las conexiones de red es el método de facto para garantizar la transmisión segura de datos en las aplicaciones móviles actuales.
SSL Pinning se asegura de que el cliente verifique el certificado del servidor con una copia conocida de ese certificado. Simplemente agrupe el certificado SSL de su servidor dentro de su aplicación y asegúrese de que cualquier solicitud SSL primero valide que el certificado del servidor coincide exactamente con el certificado del paquete.
{
SecTrustRef serverTrust = challenge.protectionSpace.serverTrust;
SecCertificateRef certificate = SecTrustGetCertificateAtIndex (serverTrust, 0);
NSData * remoteCertificateData = CFBridgingRelease (SecCertificateCopyData (certificado));
NSString * cerPath = [[NSBundle mainBundle] pathForResource: @ “MyLocalCertificate” ofType: @ “cer”];
NSData * localCertData = [NSData dataWithContentsOfFile: cerPath];
if ([remoteCertificateData isEqualToData: localCertData]) {
NSURLCredential * credential = [NSURLCredential credentialForTrust: serverTrust];
[[remitente del desafío] useCredential: credencial paraAuthenticationChallenge: challenge];
}
más {
[[remitente del desafío] cancelAuthenticationChallenge: challenge];
}
- ¿Cómo podemos limitar una señal WiFi a una región pequeña y definida?
- ¿Es peligroso conectarse a un wifi público?
- ¿Cómo verifico y veo si estoy usando 5Ghz con mi MacBook en un Airport Extreme reciente?
- ¿Cuál es el mejor dispositivo de punto de acceso wifi?
- ¿Cuáles son las diversas cosas que uno podría hacer en una red WiFi siendo el administrador?
Arriba hay un código de muestra utilizado para verificar el certificado
El certificado incrustado en su aplicación finalmente caducará. Debe planificar una actualización de la aplicación que contenga un certificado actualizado o codificar una forma para que la aplicación descargue el nuevo certificado.