From 80bb2ea52730e16f70456919ff9f587740662647 Mon Sep 17 00:00:00 2001 From: Oliver Letterer Date: Sat, 29 Dec 2012 13:10:14 +0100 Subject: [PATCH] Gets rid of for loop to check if public key is present. --- AFNetworking/AFURLConnectionOperation.m | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/AFNetworking/AFURLConnectionOperation.m b/AFNetworking/AFURLConnectionOperation.m index 4633b8b..c8d411c 100644 --- a/AFNetworking/AFURLConnectionOperation.m +++ b/AFNetworking/AFURLConnectionOperation.m @@ -546,16 +546,12 @@ willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challe } case AFURLConnectionOperationSSLPinningModePublicKey: { id publicKey = (__bridge_transfer id)SecTrustCopyPublicKey(serverTrust); - for (id allowedPublicKey in [self.class pinnedPublicKeys]) { - if ([allowedPublicKey isEqual:publicKey]) { - NSURLCredential *credential = [NSURLCredential credentialForTrust:serverTrust]; - [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge]; - - return; - } + if ([[self.class pinnedPublicKeys] containsObject:publicKey]) { + NSURLCredential *credential = [NSURLCredential credentialForTrust:serverTrust]; + [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge]; + } else { + [[challenge sender] cancelAuthenticationChallenge:challenge]; } - - [[challenge sender] cancelAuthenticationChallenge:challenge]; break; } }