Nativescript ssl固定问题

问题描述 投票:0回答:1

我必须在我的应用程序中启用ssl pining。所以,我不得不使用https://github.com/gethuman/nativescript-https插件。我已正确遵循实施步骤。但是当我发出https请求时,iOS应用程序在AFNetworking EXC_BAD_Access错误中崩溃

enter image description here

Android应用程序出现此错误

JS: nativescript-https > Disabled SSL pinning by default
JS: nativescript-https > enableSSLPinning error ReferenceError: okhttp3 is not defined
JS: Https.request error ReferenceError: okhttp3 is not defined

Certs文件夹enter image description here

reference.d.ts

/// <reference path="./node_modules/tns-core-modules/tns-core-modules.d.ts" />
/// <reference path="./node_modules/tns-platform-declarations/android.d.ts" />
/// <reference path="./node_modules/tns-platform-declarations/ios.d.ts" />

进口

import { File, Folder, knownFolders, path } from 'file-system'
import * as Https from 'nativescript-https'

在构造函数中

let dir = knownFolders.currentApp().getFolder('certs')
let certificate = dir.getFile('httpbin.org.cer').path
Https.enableSSLPinning({ host: 'httpbin.org', certificate: certificate});

方法

clickLogin(){
        Https.request({
            url: 'https://httpbin.org/get',
            method: 'GET',
            headers: {
                'content-type': 'application/json'
            },
        }).then(function(response) {
            console.log('Https.request response', response)
        }).catch(function(error) {
            console.error('Https.request error', error)
        })
}

请帮我确定这里的问题是什么。

tns版本4.0.1节点v6.11.5

nativescript angular2-nativescript
1个回答
0
投票

Android:删除并重新添加Android平台。 Clean build解决问题iOS:降级到Afnetworking 3.1.0解决问题

© www.soinside.com 2019 - 2024. All rights reserved.