几天前我正在开发我的iOS 8应用程序,但今天早上我的XCode更新到版本7,iOS模拟器更新到iOS 9.因此,为了满足iOS9 ATS要求,我必须更新MAMP以便它支持TLS 1.2和其他要求。到目前为止,我还没有找到对我有用的东西,所以我想问一下你是否可以解释我设置MAMP以支持iOS9 ATS和TLS 1.2。我的应用尝试使用的网址如下:
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的要求启用Forward Secrecy密码
在我的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 ......有没有办法强迫它?