Self-Signed SSL Certificate. OK on desktop but not Android

Hi,

I’ve installed OwnCloud on one of my servers and everything works fine(localhost and remotely). I use a Self-Signed SSL Certificate on my apache2 server, so everything is HTTPS.

When I access the Joplins data from a Joplin desktop client, I need to enable: “Ignore TLS certificate errors” in the settings. That is OK. The desktop clients works.

But on the Joplin Android version I just get a “Network request failed”. This is a print of the log:

I can’t find an “Ignore TLS certificate errors” option in the Android version?
How can I get it to work?

Joplin Android version: 1.0.331
Joplin Linux(Mint 19,3) version: 1.0.201

Regards
Henrik

https://joplinapp.org/faq/#how-can-i-use-self-signed-ssl-certificates-on-android

OK, RTFM :wink:
But it still does not work.

The address owncloud says I should use as root dir for files: https://<ip of server>/owncloud/remote.php/dav/files/<user>/

Joplin Linux client works with "Ignore TLS certificate errors: https://localhost/owncloud/remote.php/dav/files/<user>/Noter

I have installed the certificate in my mobile phone.

To test the certificate I installed the app: "File Manager - Local and cloud Explorer" and added the cloud storage: https://<ip of server>/owncloud/remote.php/dav/files/<user>/Noter. It asks to trust the certificate, and creates the drive showing the Joplin files. It works.

In Joplin I use the same WebDAV url: https://<ip of server>/owncloud/remote.php/dav/files/<user>/Noter. Joplin does not ask for trusting the certificate, but writes the error, as in my first post.

I tried to uninstall and reinstall Joplin but it still does not work.

I tried to browse after Joplin related files(i.e. configuration) in the filesystem of the mobile phone, when Joplin is installed and after a remove, but I can't find any related configuration files. I know that no Joplin data should be able to "survive" an app install, but I was desperate :slight_smile:

I just don't understand why the Joplin client works on my Linux client, and on my mobile with the filemanager app, but not with Joplin.

Maybe I am doing something wrong?
Or am not able to read the FAQ properly?
Anyone?

Regards
Henrik

Unfortunately I am not sure why it fails. The error message is not very useful.

Maybe someone on this forum uses self signed certs with Android. It could be a combination of several things. My mobile dev env has a few glitches, so I can’t test it locally.

It would help others to know the version (8, 9, 10) and flavor (Google, Samsung, …) of Android you are using.

I think this may be the reason it's not working:

By default, react-native-fetch-blob does NOT allow connection to unknown certification provider since it's dangerous. To connect a server with self-signed certification, you need to add trusty to config explicitly. This function is available for version >= 0.5.3

1 Like

Hi again.

Now I have Joplin 1.0.333 installed and it still does not work.

I have no problems using “FolderSync Pro” which have a setting to “Trust self-signed certificates”, and I have no problem using DAVx5 which just asked me if I waned to trust my self-signed certificate which is on the phone.
I also installed the OwnCloud client which also works without problems (As I remember I just had to trust the self-signed certificate).

I am using Android version 10 on a “OnePlus 7T” but I don’t think that’s the problem?

The Joplin app does not have an option to trust self-signed certificates. Is that the reason for my problem?
Is it something that can be implemented?

Maybe roman_r_m have a point? (I am not a programmer anymore…)

Regards
Henrik

I tried to install Joplin Server on my home server via Nginx proxy. I created a self-signed SSL certificate, enabled the "Ignore TLS certificate errors" option on my two Joplin desktop clients, and it syncronized over the internet with no problem.

But on my OnePlus 6 I just get a “Network request failed” too! What I tried:

  1. added .crt to Android certificate storage (after this chrome opened Joplin Server login link without problem)
  2. used this instruction: Self-signed certificate for Android devices

But the problem was not solved. I was forced to get a free certificate for ZeroSSL and then it worked.

I have had this issue some weeks ago after a server migration (and only on my HTC 10 while all desktop clients was synching well) in the end the "Network request failed" error disappeared when I configured correctly OCSP stapling, I'm using letsencrypt certs btw, so I'm wondering if the same can apply to self signed certs too.

Unfortunately, self-sign certificates do not currently work on mobile devices as there is no option to ignore ssl errors at the moment.

I had this same issue today with a self-signed certificate. Joplin for Android now has the Ignore SSL Errors and that worked for me. Everything is syncing. I also added the path to the certificate on the Joplin desktop app and that resolved the issue there.