1

直到几天前,我还在开发我的 iOS 8 应用程序,但今天早上我的 XCode 更新到了版本 7,iOS 模拟器更新到了 iOS 9。所以,为了满足 iOS9 ATS 要求,我必须更新 MAMP 以便它支持 TLS 1.2 和其他要求。到目前为止我还没有发现任何对我有用的东西,所以我想问一下你是否可以解释一下我设置 MAMP 以支持 iOS9 ATS 和 TLS 1.2。我的应用尝试使用的 URL 如下所示:

https://localhost:443/excogitoweb/mobile/loginM.php

如果我在浏览器中键入它们,它们会完美运行,但如果我运行我的应用程序,我会得到:

2015-09-21 20:55:10.217 ExcogitoWeb[3848:34387] CFNetwork SSLHandshake failed (-9824)
2015-09-21 20:55:10.218 ExcogitoWeb[3848:34387] NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9824)

所以要么我在 MAMP 配置中犯了一个错误,我错过了一些东西,但我不知道是什么。这是我到目前为止所做的:

  • 创建运行 sha256 的自签名证书

    openssl req -x509 -nodes -sha256 -days 365 -newkey rsa:2048 -keyout server.key -out server.crt

并配置我的 httpd-ssl.conf 文件,在该文件中我尝试根据 ATS 的要求启用前向保密密码

在我的 httpd-ssl.conf 文件中,我有类似的内容:

<VirtualHost localhost:443>
  DocumentRoot "/Applications/MAMP/htdocs/protected"
  ServerName localhost
  SSLEngine on
  SSLProtocol all -SSLv2 -SSLv3
  SSLHonorCipherOrder on
  SSLCertificateFile "/Applications/MAMP/conf/apache/server.crt"
  SSLCertificateKeyFile "/Applications/MAMP/conf/apache/server.key"
      SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
</VirtualHost>

我也以同样的方式进行了配置。因此,当我运行我的应用程序时,它会因上述错误而崩溃,错误代码 9824 根据我在此处阅读的内容,表示有关 TLS 协议握手的错误。所以我担心我的 MAMP 3.3 没有运行 TLS 1.2。

有人可以帮助我并告诉我我缺少什么吗?

感谢大家的关注

更新 我刚刚尝试过

SSLProtocol +TLSv1.2

现在 Apache 服务器将不再启动。日志上没有写任何东西。我需要在我的 MAC Yosemite 上更新 ssl 吗?如何?

无论如何,恢复

SSLProtocol all -SSLv2 -SSLv3

如果我输入https://localhost,这就是我从浏览器中得到的

在此处输入图像描述

所以 MAMP 仍然使用 TLS 1.0 ......有没有办法强制它?

4

0 回答 0