【发布时间】:2010-12-29 14:59:20
【问题描述】:
我最近需要配置CocoaHttpServer,我们在我们的应用程序中成功使用了它,以处理来自客户端应用程序(在 Android 设备上运行)的 HTTPS 连接。这很好 - 有大量的示例代码可以做到这一点,而且我们能够毫无问题地启用安全服务器。
在实践中,当客户端与我们的服务器进行握手时,我们发现 SSL 协商阶段非常长 - 超过 70 秒。
通过一连串的搜索,我发现延迟是因为在CFSocket中启用SSL时默认使用的Diffie-Hellman参数的计算。 thread 是我第一次开始寻找问题答案的地方。
为了匹配我们的 Windows 服务器正在执行的操作(使用安全性较低的 SSL 密码),我需要在 Mac 上明确设置密码,这在使用 AsyncSocket 作为套接字通信的包装器时并不容易。
我们的 Windows 服务器正在使用: TLS_RSA_WITH_RC4_128_MD5 )(0x04) RC4 128 位 MD5 RSA
我们的 Macintosh 服务器正在使用: TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x039) 使用 RSA 证书的 AES 256 位 SHA-1 临时 Diffie-Hellman 密钥交换
“安全性”差异很大,但可能不值得我们看到的努力/计算/延迟。安全剧院?
【问题讨论】:
-
为您的努力以及“安全剧院?”这个短语的工作而加一分。进入你的帖子:-)
-
这很有用,但您应该拆分答案并将其作为该问题的答案发布,因此这不会永远存在于“未回答”页面上。 (回答您自己的问题完全符合犹太教规。)
标签: objective-c sockets ssl encryption https