0
我試圖讓SSL釘在我的應用程序。所有導遊之後,我得到這個:AFNetworking SSL pinning無法正常工作
AFSecurityPolicy *policy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];
policy.allowInvalidCertificates = YES;
NSData *localCertificate = [NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"my" ofType:@"cer"]];
policy.pinnedCertificates = [[NSSet alloc] initWithObjects:localCertificate, nil];
self.securityPolicy = policy;
「自我」是AFHTTPSessionManager的子類。
我在兩臺服務器上測試了這個。 第一臺服務器有my.cer,當我提出一些請求時,AFURLSessionManager
的方法URLSession:didReceiveChallenge:completionHandler
被調用。然後證書比較,一切都很好。
第二臺服務器沒有my.cer。當我提出請求URLSession:didReceiveChallenge:completionHandler
AFURLSessionManager
沒有調用和сertificate檢查沒有發生,但我可以提出請求並得到迴應。
如果我沒有收到服務器的證書,有沒有辦法取消請求?
謝謝!