iOS支持TLS压缩吗?

iOS支持TLS压缩吗?,ios,cocoa-touch,compression,ssl,Ios,Cocoa Touch,Compression,Ssl,我需要在iOS应用程序中压缩通过安全通道发送的数据,我想知道是否可以使用同样的方法。我无法确定苹果的TLS实现安全传输是否支持同样的功能 其他人知道iOS是否支持TLS压缩吗?我试图确定苹果的SSL/TLS实现是否支持压缩,但我不得不说,恐怕它不支持压缩 起初我希望有一个errSSLPeerDecompressFail错误代码,必须有一种方法来启用压缩。但是我找不到它 苹果不支持压缩的第一个明显原因是,我从我的设备(6.1)上截取了几条线,打开了不同端口的安全套接字。在所有这些方法中,客户端He

我需要在iOS应用程序中压缩通过安全通道发送的数据,我想知道是否可以使用同样的方法。我无法确定苹果的TLS实现安全传输是否支持同样的功能


其他人知道iOS是否支持TLS压缩吗?

我试图确定苹果的SSL/TLS实现是否支持压缩,但我不得不说,恐怕它不支持压缩

起初我希望有一个
errSSLPeerDecompressFail
错误代码,必须有一种方法来启用压缩。但是我找不到它

苹果不支持压缩的第一个明显原因是,我从我的设备(6.1)上截取了几条线,打开了不同端口的安全套接字。在所有这些方法中,客户端Hello数据包只报告了一种压缩方法:
null

然后我查看了苹果公司最近提供的代码。这是Mac OS X 10.7.5的实现,但有些东西告诉我,iOS one将非常相似,如果不是相同的话,但肯定不会比Mac OS X one更强大

您可以在文件第186-187行(
sslprocesserverhello
)中找到:

该错误代码听起来很像“如果服务器发送另一个压缩,但是
null
(0),我们没有实现它,所以失败”

同样,相同的文件,第325行(
SSLEncodeClientHello
):

除此之外,没有其他方法(
DEFLATE
是方法1,根据RFC3749)

下面,第469、476和482-483行(
SSLProcessClientHello
):

我认为很明显,这个实现只处理
null
压缩:它是在客户端Hello中发送的唯一一个,在服务器Hello中理解的唯一一个,当接收到客户端Hello时,压缩方法被忽略(
null
必须由每个客户端实现并提供)


因此,我认为你和我都必须实现应用程序级压缩。祝你好运。

谢谢你深入了解这一点!
if (*p++ != 0)      /* Compression */
    return unimpErr;
*p++ = 0; /* null compression */
compressionCount = *(charPtr++);
...
/* Ignore list; we're doing null */
...
/* skip compression list */
charPtr += compressionCount;