我正在开发一个通过安全通道与对等方对话的应用程序。数据通过 Apple 的安全传输框架进行保护。我实际上是在尝试通过配置 SSLContextRef 对象从 Client Hello 消息中删除 TLS 扩展,但扩展仍然存在。
是否可以从发送到服务器的 Client Hello 消息中删除 TLS 扩展?如果可能的话,可以配置哪些扩展?
谢谢。
最佳答案
我最近创建了一个用于处理 TLS 的代码包,其中考虑了苹果对 iOS 13 施加的新 TLS 限制。这是一个链接:
https://github.com/eamonwhiter73/IOSObjCWebSockets
根据我的结构,您想要更改的代码点可能在这里(如果您使用的是 Network.h 包):
nw_parameters_configure_protocol_block_t configure_tls = NW_PARAMETERS_DISABLE_PROTOCOL;
nw_parameters_t parameters = nw_parameters_create_secure_tcp(
configure_tls,
NW_PARAMETERS_DEFAULT_CONFIGURATION
);
而不是冗长的困惑
configure_tls
block (就像在我的代码中一样),如果你想禁用 TLS,你可以通过 NW_PARAMETERS_DISABLE_PROTOCOL
代替您将通过 configure_tls
的位置 block (如果您要配置安全连接)。希望这可以帮助。
关于iOS 安全传输 TLS 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42805148/