2012-12-01 14 views
6

Utilizzo AFNetworking per sviluppare applicazioni iPhone che stabiliscono connessioni HTTPS, desidero utilizzare un certificato autofirmato o un certificato attendibile che possa definire, ma non riesco a trovare alcuna funzione (API) in AFNetworking.Come assegnare un file .cer in AFNetworking?

E ho visto questa pagina: How to use NSURLConnection to connect with SSL for an untrusted cert?. Ma voglio sapere come assegnare un file cer?

Grazie.

+0

dai un'occhiata qui: http://stackoverflow.com/a/17267088/192819 – jpswain

risposta

2

Basta copiare il file cer nel pacchetto di progetto. In AFURLConnectionOperation.m di file, la linea 215:

NSArray *paths = [bundle pathsForResourcesOfType:@"cer" inDirectory:@"."];

Si assegnerà automaticamente il file cer.

E assicurarsi che Prefix.pch ha segue:

#define _AFNETWORKING_PIN_SSL_CERTIFICATES_ 

e

#define _AFNETWORKING_ALLOW_INVALID_SSL_CERTIFICATES_ 

se cert non attendibile.

+1

Quale prefisso dovrebbe avere la linea ??? sto usando Pods avendo due, Application-Prefix.pch && AFNetworking-Prefix.pch .. –

+0

Application-Prefix.pch – alvinhu

3

Beh, tanto per essere semplice, seguire questa procedura

  1. Copiare il file CER al progetto fascio

  2. si Supponendo che si utilizza

    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] init...

    Invoca quanto segue a opo quella linea:

    [operation setSSLPinningMode:AFSSLPinningModeCertificate]

Questo indicherà AF fare Certificato Puntare, non c'è bisogno di impostare qualsiasi altra cosa.

+0

Non capisco come AFNetworking sappia quale certificato controllare con –

+0

La tua app aggiunge i certificati che ha trovato alla catena di spinta, è fatto automaticamente ... –

+1

Utilizzo di AFNetworking 2.3.1 Non vedo il metodo 'setSSLPinningMode' –

Problemi correlati