We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I need really your support.
I have a big problem that I don't understand why happens.
I used this plugin because I want to communicate with protocol https.
So, Firstly I install this plugin, and write in component.ts this code:
enableSSLpinning() { let certificate: any; Https.enableSSLPinning({ host: 'xx.xxx.xx.xx:3333', certificate, allowInvalidCertificates: true, validatesDomainName: false }) Https.request({ url: 'https://xx.xxx.xx.xx:3333/user', method: 'GET', headers: { "Content-type": "application/x-www-form-urlencoded", }, }).then(function (response) { console.log('Https.request response', response); }).catch(function (error) { console.error('Https.request error', error); }) }
in https.android.js I modify only certificate in this part:
function enableSSLPinning(options) { if (!peer.host && !peer.certificate ) { var certificate = void 0; var InputSteram = void 0; try { var inputStream = new java.io.ByteArrayInputStream(new java.lang.String("-----BEGIN CERTIFICATE-----\n" + "MIIFjDCCA3SgAwIBAgIJAMOXpEn+QQSVMA0GCSqGSIb3DQEBCwUAMIGBMQswCQYD\n" + "VQQGEwJVUzELMAkGA1UECAwCTUExDzANBgNVBAcMBkJvc3RvbjETMBEGA1UECgwK\n" .................. + "1AYJwo2yFqmetdmOYaFh6Cli8OerUERDqPB1UKPmYQE=\n" + "-----END CERTIFICATE-----").getBytes("UTF-8")); var x509Certificate = java.security.cert.CertificateFactory.getInstance('X.509').generateCertificate(inputStream); peer.x509Certificate = x509Certificate; certificate = okhttp3.CertificatePinner.pin(x509Certificate); inputStream.close(); } catch (error) { try { if (inputStream) { console.log('inputStream', inputStream) inputStream.close(); } } catch (e) { } console.error('nativescript-https > enableSSLPinning error', error); return; } peer.host = options.host; peer.certificate = certificate; if (options.allowInvalidCertificates == true) { peer.allowInvalidCertificates = true; } if (options.validatesDomainName == false) { peer.validatesDomainName = false; } } peer.enabled = true; getClient(true); console.log('nativescript-https > Enabled SSL pinning');
}
This parts execute correct, in console print 'nativescript-https > Enabled SSL pinning'
'nativescript-https > Enabled SSL pinning'
Error show in this part: console.error('Https.request error', error);
console.error('Https.request error', error);
JS: Https.request error javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
And in https.android.js call this function
https.android.js
function request(opts) { console.log('opts', opts) return new Promise(function (resolve, reject) { try { var client = getClient(); var request_1 = new okhttp3.Request.Builder(); request_1.url(opts.url); var reqheads_1 = opts.headers; Object.keys(reqheads_1).forEach(function (key) { request_1.addHeader(key, reqheads_1[key]); }); if (opts.method == 'GET') { request_1.get(); } else if (opts.method == 'POST') { var type = okhttp3.MediaType.parse('application/json'); var body = okhttp3.RequestBody.create(type, opts.content); request_1.post(body); } client.newCall(request_1.build()).enqueue(new okhttp3.Callback({ onResponse: function (task, response) { var content; try { content = JSON.parse(response.body().string()); } catch (error) { return reject(error); } var statusCode = response.code(); var headers = {}; var heads = response.headers(); var i, len = heads.size(); for (i = 0; i < len; i++) { var key = heads.name(i); var value = heads.value(i); headers[key] = value; } resolve({ content: content, statusCode: statusCode, headers: headers }); }, onFailure: function (task, error) { reject(error); }, })); } catch (error) { reject(error); } }); }
Please, can you ask me any idea, which is the problem in my code? Thank you
Thanks!
Update:
I think that a problem is in this part of code:
onResponse: function (task, response) { console.load('testfdsfsdfsdfsd') var content; console.log('content', content) try { content = JSON.parse(response.body().string()); console.log('content1', content) } catch (error) { console.log('error111111', error) return reject(error); } var statusCode = response.code(); var headers = {}; var heads = response.headers(); var i, len = heads.size(); for (i = 0; i < len; i++) { var key = heads.name(i); var value = heads.value(i); headers[key] = value; } resolve({ content: content, statusCode: statusCode, headers: headers }); },
because this part is not executed, it passes directly to onFailure
onFailure: function (task, error) { reject(error); },
The text was updated successfully, but these errors were encountered:
No branches or pull requests
I need really your support.
I have a big problem that I don't understand why happens.
I used this plugin because I want to communicate with protocol https.
So, Firstly I install this plugin, and write in component.ts this code:
in https.android.js I modify only certificate in this part:
}
This parts execute correct, in console print
'nativescript-https > Enabled SSL pinning'
Error show in this part:
console.error('Https.request error', error);
And in
https.android.js
call this functionPlease, can you ask me any idea, which is the problem in my code? Thank you
Thanks!
Update:
I think that a problem is in this part of code:
because this part is not executed, it passes directly to onFailure
The text was updated successfully, but these errors were encountered: