nativescript-community / https

Secure HTTP client with SSL pinning for Nativescript - iOS/Android
https://nativescript-community.github.io/https/
Other
50 stars 42 forks source link

Error: Trust anchor for certification path not found #82

Open dpdragnev opened 3 years ago

dpdragnev commented 3 years ago

Hello,

Following the documentation I am trying to implement a simple call to test the plugin but I when I execute the call I get the following error: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found

I am testing it on an Android simulator, but I get the same error on a physical device as well.

Here is my code:

adding the cert to webpack

new CopyWebpackPlugin([
    { from: { glob: "fonts/**" } },
    { from: { glob: "**/*.jpg" } },
    { from: { glob: "**/*.png" } },
    { from: { glob: "certs/*.cer" } },
]

enable the pinning

const dir = knownFolders.currentApp().getFolder('certs');
const cert = dir.getFile('<cert_name>.cer').path;
https.enableSSLPinning({
        host: <domain>',
        certificate: cert
 });

then

https.request({
       url: '<url>',
       method: 'GET'
}).then((res) => {
       console.log(res.statusCode);
}).catch((err) => {
       console.error(err);
});

The code runs without an issue and the certificate is valid. I checked it using the openssl x509 -in -text -noout command.

Am I missing something? Thank you