Gets rid of for loop to check if public key is present.

This commit is contained in:
Oliver Letterer 2012-12-29 13:10:14 +01:00
parent 3b1a098701
commit 80bb2ea527

View file

@ -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;
}
}