当我使用NEHotspotConfigurationManager
加入具有64个十六进制数字的wpa2网络时,出现错误:
NEHotspotConfiguration WPA / WPA2密码长度无效
我从文档中得到了原因:
对于WPA或WPA2个人网络,为8-63个字符
但是有解决方案吗?
我的代码:
let pwd = "123456789012345678901234567890123456789012345678901234567890abcd"
let hotspot = NEHotspotConfiguration(ssid: ssid, passphrase: pwd, isWEP: false)
NEHotspotConfigurationManager.shared.apply(hotspot) { (error) in
completionHandler?(error)
}
答案 0 :(得分:0)
您正在尝试连接PMK(配对主密钥),但是API需要PSK(预共享密钥,又名wifi密码)。像这样从网络SSID和PSK计算出PMK:
PMK = PBKDF2-SHA1(PSK, ESSID, 4096)
因此,如果API不接受预先计算的PMK,则必须使用SSID + PSK进行连接。