调用iOS webview HTTPS(自签名证书)

时间:2016-05-09 12:16:11

标签: ios swift ssl https

我想在我的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)
    }

2 个答案:

答案 0 :(得分:7)

您必须在设备上安装自签名证书 CA 才能让设备信任它 然后只有设备信任SSL连接。

如果安装自签名证书,请确保 URL 域名公用名相同证书。

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

证书安装:

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

证书创建:

以下是创建自签名证书的方法,以便您可以在Web服务器中填写所有详细信息和主机。

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

(输入公共名称值时注意)

答案 1 :(得分:-1)

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

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