有没有办法在 SSL/HTTPS 连接的 iOS 端限制加密位/类型?假设我们希望最大位是某个数字,例如 1024 或 128 等。
我们可以将加密类型设置为仅 DES 吗?
最佳答案
这个问题涉及 SSL 的两个不同方面:
- 控制 SSL session 期间使用的密码套件
- 控制 SSL 通信中使用的 RSA key 的 key 大小
如果您使用 CFSockets
,则可以通过使用 this SO answer 中记录的代码来控制第一个。 .请记住,您需要选择服务器实际支持的密码套件,否则 SSL 将无法工作。可以找到密码套件列表 here .如果您想将 DES 设置为密码套件(我强烈、强烈 建议反对),您可以使用类似 SSL_RSA_FIPS_WITH_DES_CBC_SHA
从客户端的角度来看,第二个是您无法控制的... key 大小(1024 位、2048 位、128 位等)由服务器上 SSL 证书中的 key 大小设置。您可能可以使用第一步中概述的过程从 SSLContextRef
中计算出 key 的大小,然后如果您没有得到您喜欢的值,则关闭连接。
最后,如果你想在 Safari 中执行此操作,你完全是 out of luck
关于iOS iPhone iPad 限制 SSL/HTTPS 加密位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16154545/