Search code examples
sslhttpselectronself-signed

How do I trust a self signed certificate from an electron app?


I have an electron app that syncs with a server I own at a https://XXX.XX.XX.XXX:port that has a self signed certificate. How can I trust that certificate from my electron app?

Right now I get:

Failed to load resource: net::ERR_INSECURE_RESPONSE

Solution

  • You need to put the following code into your "shell" (core electron init) file:

    // SSL/TSL: this is the self signed certificate support
    app.on('certificate-error', (event, webContents, url, error, certificate, callback) => {
        // On certificate error we disable default behaviour (stop loading the page)
        // and we then say "it is all fine - true" to the callback
        event.preventDefault();
        callback(true);
    });
    

    This would allow insecure (invalid) certificates like self-signed one.

    ⚠ Please note that this is NOT a secure way of connecting to the server.

    For more, check the documentation:
    https://electron.atom.io/docs/api/app/#event-certificate-error