【问题标题】:Call iOS webview HTTPS (self-signed certificate)调用iOS webview HTTPS(自签名证书)
【发布时间】:2016-05-09 12:16:10
【问题描述】:

我想在我的 iOS 应用程序中调用 HTTPS url(自签名证书)。它适用于移动浏览器,但不适用于 App Webview。

有针对 Xcode 7 和 Swift 2.2 的解决方案吗?

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        let url = NSURL(string: "https://xxx.xxx.x.xxx:xxxx")

        let request = NSURLRequest(URL: url!)
        Webview.loadRequest(request)
    }

【问题讨论】:

标签: ios swift ssl https


【解决方案1】:

您必须在设备上安装 自签名证书CA 以使设备信任它 那么只有设备信任 SSL 连接。

在安装自签名证书的情况下,确保URL域名通用名相同> 证书。

如果没有域名,那么IP地址就可以了。

证书安装:

您可以将其托管在网络服务器上并尝试从 safari 访问它,然后 iOS 将提示在 iOS 设备中安装证书

证书创建:

这是创建自签名证书的方法,以便您可以填写所有详细信息并在 Web 服务器中托管。

openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 1001 -nodes

(输入Common Name的值时要注意)

【讨论】:

    【解决方案2】:

    尝试在您的 plist 文件中添加以下代码。

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

    【讨论】:

      猜你喜欢
      • 2012-12-10
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-22
      • 2017-02-19
      • 1970-01-01
      • 2018-12-04
      相关资源
      最近更新 更多