Today I'm diving into Mutual TLS to securely expose my homelab services! TLS is already ubiquitous in the modern era, providing strong symmetric encryption, ...
Tried it and it was a breeze to set it up with Caddy!
Problem was… lack of client side support, specially on mobile.
Many (most?) client apps don’t support it.
Use the PWA from your browser, you said? I hope you like Google and using Chrome, because Firefox for Android doesn’t support it (mTLS) 😭 (for now, see replies)
The client cert management is the biggest hurdle with mTLS - I’ve found using a YubiKey to store certs makes it wayy more portable across devices, tho still doesn’t solve the mobile app support issue.
That’s no bug, mTLS just isn’t implemented on Firefox (for Android) currently.
There are 2 proposed solutions on that thread:
It was possible on old versions of FF, but not the current ones. I believe this to be related to the versions prior to the revamp that happened circa 2020. (the author refers to a version that was already “old” by 2022). So it was something supported on OG Firefox, not not on the new (current, by 5 years already) version.
Using the debug menu’s secret settings to enable “Use third party CA certificates”. This is available on current FF, but that’s no mutual TLS. It is about allowing CA certificates that you installed yourself on your device for server TLS auth.
How I read it is that they’ve reintroduced it in FF 139 and that you need to enable the third-party certificates to acces the client certificate in the Android cert. store. But the linked bugs in the later replies of my link mention a regression in FF 140+.
I do agree that this is still a horrible UX though. Sadly I don’t have the time currently to test it.
Tried it and it was a breeze to set it up with Caddy!
Problem was… lack of client side support, specially on mobile.
Many (most?) client apps don’t support it.
Use the PWA from your browser, you said? I hope you like Google and using Chrome, because Firefox for Android doesn’t support it (mTLS) 😭 (for now, see replies)
The client cert management is the biggest hurdle with mTLS - I’ve found using a YubiKey to store certs makes it wayy more portable across devices, tho still doesn’t solve the mobile app support issue.
Firefox for Android partially supports PWAs.
Oh, I meant mutual TLS by “it”. Edited.
I was curious so I looked it up… But it should technically work on FF for Android, although there is a bug in the UI.
See:
That’s no bug, mTLS just isn’t implemented on Firefox (for Android) currently.
There are 2 proposed solutions on that thread:
How I read it is that they’ve reintroduced it in FF 139 and that you need to enable the third-party certificates to acces the client certificate in the Android cert. store. But the linked bugs in the later replies of my link mention a regression in FF 140+.
I do agree that this is still a horrible UX though. Sadly I don’t have the time currently to test it.
Oh, you’re right.
It seems to have been implemented and working on 138, but broken since 140 (my current version), with a fix scheduled to come on 142.
I’m looking forward to that one!