NEHotspotConfigurationErrorDomain Code = 4 "неверные настройки EAP" - PullRequest
0 голосов
/ 09 октября 2018

Я использую NEHotspotConfigurationManager с iPhone на iOS 11 для подключения к определенной сети Wi-Fi, которая использует WPA2 enterprise.Сохранение сертификата в связку ключей и получение из связки ключей работает нормально.

Вот код:

let config = NEHotspotConfiguration(ssid: self.ssid)
let settings = NEHotspotEAPSettings() 
// settings.isTLSClientCertificateRequired = true 

settings.password = "********" 
settings.username = "********" 
settings.supportedEAPTypes = [NSNumber.init(value: 
NEHotspotEAPSettings.EAPType.EAPPEAP.rawValue)] 

let getquery: [String: Any] = [kSecClass as String: 
kSecClassCertificate, 
kSecAttrLabel as String: "myCert", 
kSecReturnRef as String: kCFBooleanTrue] 

var item: CFTypeRef? 
let status = SecItemCopyMatching(getquery as CFDictionary, &item) 
if status == errSecSuccess { 
  if let certificate = item as! SecCertificate? { 
    if settings.setTrustedServerCertificates([certificate]) { 
       print("completed setTrustedServerCertificates successfully 
    } 
  } 
} else { 
  print("failed to retrieve \(status)") 
} 
config = NEHotspotConfiguration(ssid: "My wifi", eapSettings: settings) 





func add(network: Network, completion: @escaping (Error?) -> Void) { 
    self.manager.apply(network.configuration) { (error) in 
    assert(Thread.isMainThread) 
    self.startUpdate() 
    completion(error) 
  } 
// Start an update now. The comments associated with `refresh()` explain 
// why I do this. 
self.startUpdate() 
} 

Примечание. Я могу без проблем установить соединение Wi-Fi для WPA2.

Вопрос: что не так в конфигурации?Почему возникает ошибка «неверные настройки EAP», как ее решить?

...