Self-signed certificates for advanced sync

I would like to use my own CouchDB server for synchronization. It is a remote machine with SSL enabled serving a self-signed certificate. Inkdrop refuses to sync with it, because it does not trust my CA. I tried adding my certificate to the trusted CA store of my OS, but I think Electron/Chromium maintains its own list of trusted CAs. Is it possible to add an option to Inkdrop to provide my server certificate so it can be used during synchronization?

Here is the console output:

2018-03-08T23:48:31.880Z app:error Failed to check remote db: { Error: self signed certificate
    at TLSSocket.<anonymous> (_tls_wrap.js:1088:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:188:7)
    at TLSSocket._finishInit (_tls_wrap.js:610:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:440:38)
  code: 'DEPTH_ZERO_SELF_SIGNED_CERT',
  rawStack: [ CallSite {}, CallSite {}, CallSite {}, CallSite {}, CallSite {} ],
  config: 
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 0,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers: 
      { Accept: 'application/json, text/plain, */*',
        'User-Agent': 'axios/0.15.3' },
     method: 'get',
     url: 'https://user:pass@mydomain.name:6984/my-inkdrop-notes/_all_docs?startkey_docid="note:"',
     data: undefined },
  response: undefined }
(node:5856) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): SyntaxError: Unexpected token E in JSON at position 0
(node:5856) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Hi Hoopy,

Thank you for the question.
Electron’s main process is node.js.
You can ignore invalid self-signed certs by specifying environment variables from terminal like so:

NODE_TLS_REJECT_UNAUTHORIZED=0 /Applications/Inkdrop.app/Contents/MacOS/Inkdrop

But it is insecure and not recommended.
Please buy a SSL cert or set up Let’s Encrypt (it’s free).

Thank you! Let’s encrypt certs are working as expected. I did not try the other option.

Connections to CouchDB are getting established fine now. There is still a problem remaining with synchronization process. I created a new topic for that.