我面临的问题是我试图同时支持 iOS9 和旧版本的 Internet Explorer(与 Internet Explorer 8 一样旧)。
iOS9 有一些严格的限制,例如必须在它试图联系的服务器上启用完全前向保密。我已经尽我所能编制了一个密码列表来适应这个问题,但不能同时拥有一个支持 Internet Explorer 的密码列表。我一直在使用这个密码列表:
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA TLS_DHE_RSA_WITH_AES_256_CBC_SHA TLS_DHE_RSA_WITH_AES_128_CDC_SHA SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
此密码列表提供完美的前向保密性并允许 iOS9 与服务器通信。但是,为了让 Internet Explorer 8 及更高版本正常工作,我必须包括
SSL_RSA_WITH_3DES_EDE_CBC_SHA
这当然打破了完美前向保密,从而打破了 iOS9。我知道我可以在 iOS9 上禁用 ATS 来解决这个问题,但如果没有必要,我宁愿不这样做。
是否可以使用某种密码组合来支持 Internet Explorer 8 及更高版本的使用,并提供完美的前向保密性?或者我们是否需要在 iOS9 上禁用 ATS,直到我们可以将公司从 Internet Explorer 8 中移除?
最佳答案
在做了一些研究之后,我启用了所有 DHE 和 ECDHE 密码套件,并设法让所有浏览器都得到支持,正如我预期的那样。您的里程可能会有所不同(取决于您可以使用的密码套件),但以下密码套件列表是我使用的:
关于internet-explorer - SSL:同时支持 iOS9 和旧版本的 Internet Explorer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34191796/