Android app + SSL can't login (self hosted)

Hi there,

I configured Invoice Ninja to use HTTPS, configured a self signed certificate and enabled it in Apache.

It works fine when I go to https://myserver and I just have to allow an exception since it’s a self signed certificate.

When I try to login via the Android app, it says:

CERTIFICATE_VERIFY_FAILED: self Signed certificate (handshake: cc:354).

So how can I allow signing in via the Android app with a self signed certificate?

App was logging in to my self host just fine prior to using SSL.

Hi, I suggest using

Thanks Hillel, I changed to a letsencrypt cert and am able to login fine via the Android app now.

Awesome, glad to hear it!


I have the same issue, however i am using local CA cert not a self signed, and the root CA i have is added to my trusted authorities in my phone.

Other apps hosted on the same server is working fine with no issues, and i don’t have the option to use letsencrypt as this is not a public domain.

Any idea how to get it working ??


I suggest using Let’s Encrypt instead


I don’t have a public domain to use for letsencrypt cert, so it is not a option as far as i know.

As i mentioned, this is an in-house CA cert and the root CA is trusted by the phone.

Using Let’s Encrypt typically solves cert problems


Not sure which part of the article you sent should help me.

When I read the article it is not supported to issue a cert for localhost.

Similar to my situation i am using domain abc.loc which not a public domain.

Sorry, I misread the article.

I’m not sure, I assume the problem is with the certificate. If you’re a developer it should be possible to build a custom version of the app which overrides the certificate check.

I am jot unfortunately, which CA store the app use to verify the certificate though?

My certificate is signed by a CA that my phone trust.

I assume the app should use the phone’s default but I see many matches on Google when searching “CERTIFICATE_VERIFY_FAILED: self Signed certificate”

I have bitwarden application on the same phone, and using the same certificate, and it is working fine after i have installed the root CA into my phone.

Hopefully we can have someone who can look deeper at the code and help me to get this fixed.

I’m the main developer of the Android app…

I think the problem is that the programming language we’re using doesn’t support self signed certificates. I don’t have a solution for v4 but we’ll look into this for v5.

I can acces invoice ninja using the web browser, the issue is on the android mobile app.

Also it I can access the app perfectly using my mobile internet browser and it doesn’t complain about the certificate either which means the browser recognized the root certificate i added to phone.

Thanks for your answers anyway, and i have disabled theb auto forward to ssl for now and hopefully will get a working version at some point.

The problem is caused by the mobile app’s programming language. Dart uses a virtual machine which has it’s own root certificate, there are more details here:

Thanks, this post is 4 years old, do we know when V5 is expected?