2013-04-22 37 views
1

有没有办法限制SSL/HTTPS连接iOS端的加密位/类型?假设我们希望最大位数为1024或128等数字。iOS iPhone iPad限制SSL/HTTPS加密位

我们可以只将加密类型设置为DES吗?

+0

为什么?你想达到什么目的? – 2013-04-22 19:11:32

+0

为什么,因为。请回答这个问题,是或否。如果是,如果可以解释如何。 – ort11 2013-04-22 19:27:42

+0

我在问,因为你的问题基本上是“我怎样才能让我的SSL连接尽可能简单地打破?”这通常不是一个好主意。如果有一个特定的原因,那么可能会有一个更好的解决方案,然后使SSL工作效果不佳 – 2013-04-22 19:39:05

回答

2

但是也有一些在这个问题解决SSL的两个不同的方面:

  1. 控制SSL会话
  2. 控制在SSL通信
  3. 使用的RSA密钥的密钥大小时使用的密码套件

如果您通过使用this SO answer中记录的代码使用CFSockets,则可以控制第一个。请记住,您需要选择服务器实际支持的密码套件,否则SSL将不起作用。可以找到一个密码组列表here。如果你想设置的DES加密套件(我强烈,强烈反对指教),你会使用类似SSL_RSA_FIPS_WITH_DES_CBC_SHA

二是伸出你的双手,从客户端的角度...关键大小(1024位,2048位,128位等)由服务器上的SSL证书中的密钥大小设置。您可以使用第一步中列出的步骤来计算SSLContextRef中的密钥大小,如果没有您喜欢的值,请关闭连接。

最后,如果你想从Safari内部做到这一点,你完全是out of luck

+0

感谢您的意见。我们有服务器的控制权,所以没有问题获得正确的类型。确定位和证书。我们的证书的“位”是2048,但是这不仅适用于身份验证,而且不适用于数据的实际下载?这些“位”是在客户端(iOS)和服务器之间协商的?我想这些是我们希望“设置”的位。对我们来说,这个问题现在没有想法(不同的路径),但从现在开始只是好奇。另外,我知道DES是坏的/旧的,但以此为例。 – ort11 2013-04-24 17:36:33

+0

在第二个链接(带有CipherSpecs列表)中,您可以看到一个名为“bits”的列,它表示用作密码组的一部分的对称密钥的密钥大小。所以你可以指定AES128和AES256,并获得不同的密钥。证书中的RSA密钥本身仅用于身份验证和(通常)密钥交换,所有数据均使用对称密码进行加密 – 2013-04-24 19:26:34