2016-02-23 2 views
1

Я пытался связаться с сервисом с двухсторонним SSL.Ошибка двухстороннего SSL на WatchOS2.1, но тот же код работает на iOS9.1

Я обнаружил, что соединение было отменено сразу же после того, как клиент (часы) предоставить сертификат клиента, позвонив по телефону completeHandler(NSURLSessionAuthChallengeUseCredential, credential)

Ошибка получил это:

NSURLErrorDomain Code = -999 отменен

Но я пробовал использовать один и тот же код на телефоне, но это удалось. Кроме того, другие запросы отлично работают на часах.

Поскольку рамки WatchOS и iOS разные, мне интересно, может ли это быть проблемой для WatchOS? Или нужно что-то специально настроить для часов?

Вот код

- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential *))completionHandler 
{ 
    NSURLProtectionSpace *protectionSpace = [challenge protectionSpace]; 
    NSString *authMethod = [protectionSpace authenticationMethod]; 
    if (authMethod == NSURLAuthenticationMethodServerTrust) { 
     completionHandler(NSURLSessionAuthChallengeUseCredential, [NSURLCredential credentialForTrust:serverTrust]); 
    } else if (authMethod == NSURLAuthenticationMethodClientCertificate) { 
     // cancelled immediately after calling the method below. 
     completionHandler(NSURLSessionAuthChallengeUseCredential, self.credential); 
    } else { 
     completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil); 
    } 
} 
+0

Можете ли вы показать больше кодов? – Raptor

ответ

1

Подтверждено инженером Apple. Это ограничение Watch OS. На данный момент поддержка SSL не поддерживается.

+0

Все еще не работает в watchOS 3 GM. – Florian

Смежные вопросы