swift - Apple 传输安全

标签 swift ssl

我已经编写了一些快速代码来显示来自 psychicliving.co.uk 的图像

不幸的是,图像没有出现,但我可以看到来自不同服务器的图像。

我已经阅读了一些有关苹果安全政策的资料,并怀疑问题可能与服务器 SSL 证书有关。当我将 AllowAritaryLoads 设置为 YES 时,图像会正确加载。

当我检查站点 SSL 证书时,我发现 TLS 1.2 协议(protocol)未启用。

这会是图片无法加载的原因吗?还是我遗漏了什么?

let url = NSURL(string: "https://www.psychicliving.co.uk/images/Michael.jpg")
if let data = NSData(contentsOf: url as! URL) {
    cell.imgCarNane.image = UIImage(data: data as Data)
}

enter image description here

最佳答案

在没有任意加载的情况下无法加载图像的原因是因为您确实没有使用 TLS 1.2:

your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy.

https://developer.apple.com/library/content/releasenotes/General/WhatsNewIniOS/Articles/iOS9.html#//apple_ref/doc/uid/TP40016198-DontLinkElementID_12

关于swift - Apple 传输安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39973443/

相关文章:

ios - 纹理图集不起作用

c# - Xamarin iOS 覆盖自签名证书的 TLS 链验证

ios - Swift 3 HTTPS GET 请求

linux - 从源代码为 Linux 构建 openssl 和 libcurl

forms - 发送 FROM 到银行时的 ssl_error_rx_record_too_long

swift - 无法使用 swift SDK 对 aws appsync 的用户进行身份验证

ios - UITableView 可重用自定义单元格在 subview 中显示错误内容

ios - 隐藏特定 View 的导航栏的快速正确方法

swift - 如何在 swift 3 中使用 Alamofire->4.0 映射对象

angularjs - Angular 无法通过 NginX 在 SSL 下工作