Merge pull request #1450 from mdornseif/pinningNoKeyWarning_1.x
1.x: Assert that no impossible pinning configuration exists
This commit is contained in:
commit
ebe5c7af31
1 changed files with 3 additions and 1 deletions
|
|
@ -623,7 +623,8 @@ willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challe
|
||||||
switch (self.SSLPinningMode) {
|
switch (self.SSLPinningMode) {
|
||||||
case AFSSLPinningModePublicKey: {
|
case AFSSLPinningModePublicKey: {
|
||||||
NSArray *pinnedPublicKeys = [self.class pinnedPublicKeys];
|
NSArray *pinnedPublicKeys = [self.class pinnedPublicKeys];
|
||||||
|
NSAssert([pinnedPublicKeys count] > 0, @"AFSSLPinningModePublicKey needs at least one key file in the application bundle");
|
||||||
|
|
||||||
for (id publicKey in trustChain) {
|
for (id publicKey in trustChain) {
|
||||||
for (id pinnedPublicKey in pinnedPublicKeys) {
|
for (id pinnedPublicKey in pinnedPublicKeys) {
|
||||||
if (AFSecKeyIsEqualToKey((__bridge SecKeyRef)publicKey, (__bridge SecKeyRef)pinnedPublicKey)) {
|
if (AFSecKeyIsEqualToKey((__bridge SecKeyRef)publicKey, (__bridge SecKeyRef)pinnedPublicKey)) {
|
||||||
|
|
@ -639,6 +640,7 @@ willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challe
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case AFSSLPinningModeCertificate: {
|
case AFSSLPinningModeCertificate: {
|
||||||
|
NSAssert([[self.class pinnedCertificates] count] > 0, @"AFSSLPinningModeCertificate needs at least one certificate file in the application bundle");
|
||||||
for (id serverCertificateData in trustChain) {
|
for (id serverCertificateData in trustChain) {
|
||||||
if ([[self.class pinnedCertificates] containsObject:serverCertificateData]) {
|
if ([[self.class pinnedCertificates] containsObject:serverCertificateData]) {
|
||||||
NSURLCredential *credential = [NSURLCredential credentialForTrust:serverTrust];
|
NSURLCredential *credential = [NSURLCredential credentialForTrust:serverTrust];
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue