当我使用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)
}
最佳答案
您正在尝试连接PMK(配对主密钥),但是API需要PSK(预共享密钥,又名wifi密码)。像这样从网络SSID和PSK计算PMK:
PMK = PBKDF2-SHA1(PSK, ESSID, 4096)
因此,如果API不接受预先计算的PMK,则必须使用SSID + PSK进行连接。
关于ios - NEHotspotConfiguration无效的WPA/WPA2密码长度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54213518/