English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Como es sabido, Apple ha dicho que desde2017A partir del año, se bloquearán los recursos http y se promoverán enérgicamente https
El propietario del foro ha cambiado recientemente http a https y comparte algunos consejos con los amigos que aún no han comenzado
1.Preparar certificados
Primero, busque un certificado en el backend (certificado SSL, generalmente le dice al backend que desee configurar https, luego le da un certificado, él sabe), lo que necesitamos es el certificado .cer. Pero el backend puede darnos un certificado .crt. Necesitamos convertirlo: abra el terminal -> cd a la ruta del certificado.crt -> ingrese openssl x509 -in tu certificado.crt -out tu certificado.cer -outform der, el certificado está listo, arrástrelo al proyecto, recuerde copiar.
2.Cree una clase o un método de clase
El siguiente código se toma prestado, el autor lo coloca en una clase llamada FactoryUI
//soporta https + (AFSecurityPolicy *)customSecurityPolicy { //Primero, importe el certificado, encuentre la ruta del certificado NSString *cerPath = [[NSBundle mainBundle] pathForResource:@"tu nombre de certificado" ofType:@"cer"]; NSData *certData = [NSData dataWithContentsOfFile:cerPath]; //AFSSLPinningModeCertificate utiliza el modo de verificación de certificados AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate]; //allowInvalidCertificates si permite certificados inválidos (es decir, certificados autoconstruidos), el valor predeterminado es NO //Si es necesario verificar el certificado autoconstruido, debe establecerse en YES securityPolicy.allowInvalidCertificates = YES; //validatesDomainName si necesita verificar el nombre de dominio, el valor predeterminado es YES; //Si el nombre de dominio del certificado no coincide con el nombre de dominio solicitado, debe establecer este ítem en NO; si se establece en NO, es decir, el servidor utiliza un certificado emitido por otra institución de confianza, también se puede establecer una conexión, lo que es muy peligroso, se recomienda activarlo. //Se establece en NO, se utiliza principalmente en esta situación: el cliente solicita un subdominio, mientras que el certificado es otro dominio. Porque el nombre de dominio del certificado SSL es independiente, si el nombre de dominio registrado en el certificado es www.google.com, entonces mail.google.com no puede ser verificado; por supuesto, si tiene dinero, puede registrar un nombre de dominio de wildcard.*.google.com, pero esto es bastante caro. //Si se establece en NO, se recomienda agregar lógicamente de verificación del dominio correspondiente por su cuenta. securityPolicy.validatesDomainName = NO; NSSet *set = [[NSSet alloc] initWithObjects:certData, nil]; securityPolicy.pinnedCertificates = set; return securityPolicy; }
3.modificar la solicitud de AFNetWorking (AFNetworking3Por ejemplo).0
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager]; manager.responseSerializer = [AFHTTPResponseSerializer serializer]; manager.requestSerializer.timeoutInterval = 5.0; [manager setSecurityPolicy:[FactoryUI customSecurityPolicy]];//como2Si se mencionan los métodos de clase FactoryUI
··· lo que sigue es lo mismo
Añadir: aún así, las configuraciones de seguridad de transporte de aplicaciones deben configurarse
Este es el contenido completo del artículo. Esperamos que sea útil para su aprendizaje y que todos nos apoyen y alentemos el tutorial.
Declaración: El contenido de este artículo se ha obtenido de la red, y pertenece al autor original. El contenido ha sido contribuido y subido por usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado artificialmente y no asume responsabilidad por responsabilidades legales relacionadas. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez verificada, este sitio eliminará inmediatamente el contenido sospechoso de infracción.