Ho una convalida del certificato autofirmato sul server. Quando provo a usare l'API https://wikiroutes.info/test/api/ios/getCities nel browser su mac, funziona solo quando accetto il certificato .p12. Non riesco a trovare dove posso inserire la password per .p12 in AFNetworking. Ho anche file der, ma quando lo uso, ho errore kSecTrustResultRecoverableTrustFailure
sul codice SecTrustEvaluate(allowedTrust, &result)
AF Certificato autofirmato https
mio codice
NSString* fileRoot = [[NSBundle mainBundle] pathForResource:@"cert.pem" ofType:@"der"];
NSData *certData = [[NSData alloc] initWithContentsOfFile:fileRoot];
AFSecurityPolicy *securityPolicy = [[AFSecurityPolicy alloc] init];
securityPolicy.SSLPinningMode = AFSSLPinningModeCertificate;
[securityPolicy setAllowInvalidCertificates:YES];
securityPolicy.pinnedCertificates = @[certData];
AFHTTPRequestOperationManager *operationManager = [[AFHTTPRequestOperationManager alloc] initWithBaseURL:[NSURL URLWithString:@"https://wikiroutes.info"]];
operationManager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];
operationManager.securityPolicy = securityPolicy;
[operationManager GET:@"test/api/ios/getCities" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"response %@",responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"error %@",error);
}];
È il mio progetto di test. https://www.dropbox.com/s/410w5bau3e3slx9/testApp.zip
sue file dei certificati
https://www.dropbox.com/s/hk9hywri37wxpet/cert.pem.der https://www.dropbox.com/s/2cpfhokh59jo15d/cert.p12 (la password - nM123456)