This may be more of an Android issue than self-hosting, but i run Radicale on my personal server to host caldav/carddav services. I want to login with uname&pword with a certificate. I found this video in Davx5 github page showing that a user can select the cert:
I generated a self-signed cert from my server and installed that to my Android phone via Settings > Security&Privacy > Encryption&Credentials. But i dont get the same as the video. It keeps telling me No certificate found
Clicking the install button and selecting my cert will say
Install CA certificates in Settings This certificate from null must be installed in Settings. Only install CA certificates from organizations you trust.
Do you install the CA certificate or the client certificate? Because both aren’t the same. The app needs to authenticate with a client certificate file. The server has a server certificate that is checked against the CA certificate. So you’d install that (CA) in the android system certificate store and additionally give a client certificate file to the app.
Oh i thought they are the same. I look into how to create a self-signed CA and see if it helps
I have a self-hosted Baikal server with self-signed CA on Android 14 and it works.
However, I didn’t had to add the certificate to Davx⁵ itself. Adding a rootCA into your device and your reverse proxy handling the request should work as expected over https.
Those kind of things are difficult to troubleshoot, this could be:
- Bad rootCA certificate, missing the necessary options ?
- Wrong certificate handled by your reverse proxy ?
- Radicale doesn’t recognize your certificate extension ?
- Wrong networking configuration ?
- Bug ?
- …
We need more infos about your setup:
- Do you use a reverse proxy ?
- Had you already any success with this certificate within an other application ?
- Any logs from your Android, Davx⁵?
like the other commenter said, CA is different from a client cert. I’ll try that and see how it goes
Just use Login with URL and user name 😁
Yeah that’s what im using right now. But i want to add security by using a certificate when logging in
Add a certificate to the endpoint using your reverse proxy