mirror of
https://github.com/moonlight-stream/moonlight-ios.git
synced 2026-06-17 06:01:13 +00:00
Use default auth handling if the pinning fails
This commit is contained in:
@@ -279,28 +279,28 @@ static const NSString* HTTPS_PORT = @"47984";
|
|||||||
{
|
{
|
||||||
if (SecTrustGetCertificateCount(challenge.protectionSpace.serverTrust) != 1) {
|
if (SecTrustGetCertificateCount(challenge.protectionSpace.serverTrust) != 1) {
|
||||||
Log(LOG_E, @"Server certificate count mismatch");
|
Log(LOG_E, @"Server certificate count mismatch");
|
||||||
completionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, NULL);
|
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SecCertificateRef actualCert = SecTrustGetCertificateAtIndex(challenge.protectionSpace.serverTrust, 0);
|
SecCertificateRef actualCert = SecTrustGetCertificateAtIndex(challenge.protectionSpace.serverTrust, 0);
|
||||||
if (actualCert == nil) {
|
if (actualCert == nil) {
|
||||||
Log(LOG_E, @"Server certificate parsing error");
|
Log(LOG_E, @"Server certificate parsing error");
|
||||||
completionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, NULL);
|
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
CFDataRef actualCertData = SecCertificateCopyData(actualCert);
|
CFDataRef actualCertData = SecCertificateCopyData(actualCert);
|
||||||
if (actualCertData == nil) {
|
if (actualCertData == nil) {
|
||||||
Log(LOG_E, @"Server certificate data parsing error");
|
Log(LOG_E, @"Server certificate data parsing error");
|
||||||
completionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, NULL);
|
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!CFEqual(actualCertData, (__bridge CFDataRef)_serverCert)) {
|
if (!CFEqual(actualCertData, (__bridge CFDataRef)_serverCert)) {
|
||||||
Log(LOG_E, @"Server certificate mismatch");
|
Log(LOG_E, @"Server certificate mismatch");
|
||||||
CFRelease(actualCertData);
|
CFRelease(actualCertData);
|
||||||
completionHandler(NSURLSessionAuthChallengeRejectProtectionSpace, NULL);
|
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, NULL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user