我们如何在Delphi iOS中使用Open SSL?

时间:2016-02-11 19:38:00

标签: ios security delphi ssl firemonkey

Apple在使用Open SSL时使用它的App Transport Security进行了一些更改,但我无法在iOS上使用它。

  

“App Transport Security是一项可以提高安全性的功能   应用程序和Web服务之间的连接。该功能包括   符合最佳实践的默认连接要求   安全连接。应用可以覆盖此默认行为并转向   运输安全。 iOS 9.0或更高版本中提供传输安全性   稍后,在OS X v10.11及更高版本中。“

尝试连接到我们的服务器时,出现以下响应错误:

  

“发生了SSL错误,无法与服务器建立安全连接。”

然后,我发现this tutorial并发现我们需要做的就是将单位IdSSLOpenSSLHeaders_Static包含在项目的一个用语中。

我确实将单元以及libcrypto.alibssl.a.库添加到项目中,但到目前为止,我得到了相同的响应错误。

我可能做错了什么?

1 个答案:

答案 0 :(得分:1)

要停用 ATS ,您需要在this official embarcadero documentation中另外执行以下步骤:

打开 Info.plist 并添加以下行:

<key> NSAppTransportSecurity</key>
<dict>
     <key>NSAllowsArbitraryLoads</key>
     <true/>
</dict>

这将禁用Apple针对应用程序使用的所有 HTTP通信的应用传输安全功能,例如,如果您使用TWebBrowser或Project Indy的HTTP组件。

每次部署完成后,

您项目的Info.plist文件重新生成。您需要将文件保存到其他位置,例如项目目录。 (请注意,32位和64位版本略有不同)。

在新保存的文件中进行更改,然后转到部署管理器(项目 - &gt;部署)。确保正确设置配置并取消选中默认Info.plist

添加新的自定义版本,确保将远程名称设置为“Info.plist”(区分大小写)。为64位和32位部署执行此操作。