-
-
Notifications
You must be signed in to change notification settings - Fork 264
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Jellyfin Android app ignores Android system certificate store, fails to connect to HTTPS server using self signed certificates #1225
Comments
Just tested, 2.6.0 exhibits the same behaviour and also fails to connect with the same generic error message |
Self-signed CAs installed to the settings are supported by the app, so I'm not sure what's actually causing it in your case. |
I'm trying to use a custom private CA and I'm getting this error when trying to log in :( |
I'm going to hazard a guess that ktor using okhttp doesn't by default use system store ca root certs - which is why this exists : https://github.com/charleskorn/okhttp-system-keystore |
Sorry got busy with other things, which logs do you need specifically? I'll try and track them down and send them |
I think this is an issue that extends to the androidtv client too.. client stops automatically logging in.. 'server unavailable'.. solved by clearing data from android settings and re-entering credentials. reolise tonight that my certificate renewed only a couple of days ago.. strong correlation.. [?] |
I am having the same issue, and in my case I have added the CA and the intermediate certificates to the system store using the magisk module, still it fails with
Android 14 |
Hello there,
|
this worked for you ? i tried it and it as the same problem. |
Yes it did... What is your setup like? Do you use a reverse proxy or put certificate directly into jellyfin. |
using traefik as a reverse proxy. i did the new certs with your command, updating just the local domain name, but jellyfin on my android tv's has the same problem as before. Probably need to be on jellyfin config directly or on android tv. |
Ohhhh yea I tried it on android tv last week and mine doesn't even have a feature for importing CA certificates so I put it off. Mind trying it on your phone? I also use a reverse proxy... I don't think thats an issue. |
the problem is the self signed cert for sure and probably because not being from trusted CA. because its works in the browser (in the android tv's) and if i remove https and certs from the config it works fine in all clients. the android app doest like untrusted CA's/ self signed certs... already test on the phone with or without cert, does not work :( |
To my understanding Android has its own certificate store which you can add CA certificates to. They should be recognised regardless of the app. For example when I added my self signed certificate to my phone's store I stopped getting insecure warnings when accessing jellyfin from browser and the native app started working. Just to be on the same page, did you install the certificate in you client's certificate store? |
yes. i did restart the wifi and now it works on the app and in the browser without any warnings! but not on the tv's probably have to add manually the cert in all clients. and im not going to do that 😢 probably going for a let's encrypt solution or something. for now im going to disabled https and enjoy some tv show in the bedroom. thanks for the help tho! 👍 |
Fyi, I think many of the people in this thread are having issues where the CA cert is installed in Android root store and jellyfin is reverse proxied using a different certificate signed either by the CA or an intermediate. The CA and intermediate certs chain is provided by the reverse proxy and would otherwise work fine (eg browsing to the page via a browser works fine) however jellyfin app doesn't work. Installing the server cert directly or even the immediate certificate isn't a great solution. I've noticed an issue with another app (keyguard with bitwarden i think) where name constraint checks fail when the intermediate cert check fails (can't remember if this is because the intermediate is missing the name constraint check it if the failing because the name isn't in the intermediate). Not sure if this is related to the issue |
So some apps recognise intermediate certificates and others don't? That would mean the way certificate is checked against the root store depends on the app. It kinda feels like a mess imo... Also @nunoaleixogoncalves in no world would I buy a domain for letsencrypt just to use it LOCALLY with MY OWN server and clients. Its just so sad we are expected to do it that way. But thats just my take. Glad it worked for you! |
Same problem here. I think it would be really helpful if there was a checkbox like "Allow self-signed certificate" on the login screen |
Describe the bug
Android version 14, app version 2.5.3
Steps to reproduce
Host Jellyfin using a self made HTTPS certificate (in my case using my own CA).
Install the certificate on Android in the certificate store
Attempt to connect to the Jellyfin server in the app - app indicates connection failed
Attempt to connect to the same server in Chrome - connects successfully with no SSL errors reported
Expected behaviour: the app connects to the server.
This behaviour applies both when using inbuilt HTTPS support and when using a reverse proxy, and does not seem to involve the alternate server URI thing as plaintext HTTP connections through the same reverse proxy work correctly in the app.
Logs
No response
Application version
2.5.3
Where did you install the app from?
Google Play
Device information
Google Pixel Fold
Android version
Android 14
Jellyfin server version
10.8.13
Which video player implementations does this bug apply to?
The text was updated successfully, but these errors were encountered: