[PM-23409] feat: Add client certificate authentication (mTLS) support for self-hosted environments#1720
[PM-23409] feat: Add client certificate authentication (mTLS) support for self-hosted environments#1720jalenfran wants to merge 46 commits intobitwarden:mainfrom
Conversation
|
|
|
Thank you for your contribution! We've added this to our internal Community PR board for review. Details on our contribution process can be found here: https://contributing.bitwarden.com/contributing/pull-requests/community-pr-process. |
|
Any updates on this implementation? |
Just waiting on any comments |
|
Hey @jalenfran, thanks a lot for your PR! Please excuse the long silence, an automation issue unfortunately kept this ticket off our review board. We do want to support mTLS and will be reviewing the PR shortly. |
|
@maxkpower do you have any Updates on this. I would love to fully entroll Bitwarden but without mTLS it is to insecure. Is there and ETA or new Status? Probably soon to be in the IOS Beta? |
|
Adding a bump here. Would love to see this functionality landed |
@maxkpower May I ask if there are any updates on the implementation of this feature? |
|
@maxkpower Is there any updates on this feature? Really looking forward to use this feature |
|
I fixed the merge conflicts. |
|
@maxkpower Ready to release now?) |
|
@maxkpower do you have any Updates on this. |
|
@matt-livefront any Updates on this? You are the one assigned as reviewer. |
|
It’s been several weeks now and this PR is still waiting without any visible progress. The implementation seems to be complete, tested, and the community is clearly interested. Could we please get an update on what exactly is blocking this from moving forward? |
I don’t want to be pessimistic, but at the moment it seems something is going wrong with Bitwarden’s development. For weeks we’ve suddenly had so many issues with the browser extensions. It’s confusing how such buggy versions could be released to the public. They also don’t do any rollback. instead they leave the broken extensions in place, trying to fix the issues while customers have to wait and continue using buggy versions for so long. Sorry for this post, but this is my subjective feeling at the moment. Something just isn’t right… I hope everything will get back on track again soon :( |
|
can owner rewiew this, upgrade to iOS26 recently and client cerfiticate is even tricky, system level confgure profiles is not work for bitwarden client, we need this feature |
|
We are eagerly waiting this to be merged and deployed to app store. Very much needed feature. |
|
I think this is not going to be merged in the near Future. This PR is opened since 6 Months at this Point. All other Clients are capable of MTLs besides IOS. Bitwarden Self states they want to implement this feature but there is no progress. Even after asking over and over no one of the Bitwarden team is responding. |
Thanks for the information. Could you suggest any other iOS client for bitwarden-compatible protocol server behind mTLS? |
|
@vvolkgang you were involved in bitwarden/android#4486 over on the android side for this. Any help you can offer here to move this one along...? it's been stuck a while |
|
What is the status of this feature? Is there still one "requested change" open or is the implementation finished? Thanks for the good work so far! |
The last comment I got on Friday was "Thanks @jalenfran! I need to do some additional testing next week, but this is looking to be in a good spot." |
|
@jalenfran Just a heads up, I added a few commits to build on your changes here: mostly filling in some tests, aligning a few things with our conventions, and trimming a bit of extra functionality to keep things simpler. |
|
Great job! No new security vulnerabilities introduced in this pull request |
Hi Matt, I was taking a look and I really appreciate the quickness and helping me get this through! |
You bet! Thank you for all of your work on putting this PR together and working through the changes! |

🎟️ Tracking
📔 Objective
This PR implements client certificate authentication (mTLS) support for iOS app when connecting to self-hosted Bitwarden environments that require client certificates.
Key Features:
Technical Implementation:
ClientCertificateConfigurationmodel for certificate data and metadataClientCertificateServicefor secure certificate management operationsCertificateHTTPClientwith URLSession delegate for mTLS authenticationThis enables users to authenticate with self-hosted Bitwarden servers that require client certificates for enhanced security.
📸 Screenshots
⏰ Reminders before review
🦮 Reviewer guidelines
Key Areas for Review:
Files to Focus On:
ClientCertificateService.swift- Core certificate management logicCertificateHTTPClient.swift- mTLS HTTP client implementationSelfHostedView.swift- UI integration and user experienceStateService.swift&AppSettingsStore.swift- Secure storage implementation:+1:) or similar for great changes:memo:) or ℹ️ (:information_source:) for notes or general info:question:) for questions:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion:art:) for suggestions / improvements:x:) or:warning:) for more significant problems or concerns needing attention:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt:pick:) for minor or nitpick changes