2016-01-15 26 views
0

我正在构建一个iOS客户端,该套接字使用SSL/TLS和预共享密钥连接到TCP套接字,没有证书文件。我试图弄清楚iOS中是否有内置的TLS-PSK支持,但我似乎无法在任何地方找到任何信息。我是否错过了某些东西,或者我是否必须使用OpenSSL之类的东西(这已经让我哭了两次)才能使它工作?iOS - 使用TLS-PSK连接到套接字

我一直在玩CFStream,NSStream和CocoaAsyncSocket没有成功。

对于Android我使用的是SpongyCastle

真的很感激,如果有人能指出我在正确的方向。

谢谢!

回答

1

如果您使用OpenSSL,您肯定可以使用TLS-PSK。您需要启用PSK密码套件,并使用SSL_set_psk_client_callback设置客户端回调,然后从中提供PSK。

P. S.在Android上,自API Level 21(请参阅https://developer.android.com/reference/android/net/PskKeyManager.html)以来,TLS-PSK也由平台默认TLS堆栈提供。

+0

是否可以将OpenSSL与CFStream一起使用?仅用于TLS部件。 – nilsd

+0

@nilsd你有这个工作吗?特别是与CocoaAsyncSocket? –

+0

@NiallMccormack我真的不记得,但我相信我设法只用OpenSSL解决它。 – nilsd