我正在构建一个 iOS 客户端,它使用 SSL/TLS 和预共享 key 连接到 TCP 套接字,没有证书文件。我试图弄清楚 iOS 中是否内置了对 TLS-PSK 的支持,但我似乎无法在任何地方找到任何信息。我是否遗漏了什么,或者我是否必须使用 OpenSSL 之类的东西(这已经让我哭了两次)才能让它工作?
我一直在研究 CFStream、NSStream 和 CocoaAsyncSocket没有成功。
对于 Android,我使用的是 SpongyCastle .
如果有人能指出我正确的方向,我将不胜感激。
谢谢!
最佳答案
如果您使用 OpenSSL,您绝对可以使用 TLS-PSK。您需要启用 PSK 密码套件,还需要使用 SSL_set_psk_client_callback 设置客户端回调,然后从中提供 PSK。
P. S. 在 Android 上,自 API 级别 21 以来,平台默认 TLS 堆栈也提供 TLS-PSK(请参阅 https://developer.android.com/reference/android/net/PskKeyManager.html)。
关于iOS - 使用 TLS-PSK 连接到套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34812834/