Closed
Bug 1300420
Opened 8 years ago
Closed 6 years ago
macOS (Mac OS X) platform support for trusting enterprise roots
Categories
(Core :: Security: PSM, defect, P1)
Tracking
()
VERIFIED
FIXED
mozilla63
People
(Reporter: yuki, Assigned: keeler)
References
(Blocks 1 open bug)
Details
(Whiteboard: [psm-assigned])
Attachments
(1 file)
The bug 1265113 treats only Windows platform. Grev told that another bug for Mac OS X (macOS) must be filed as a separate bug (at https://bugzilla.mozilla.org/show_bug.cgi?id=1265113#c27 ) but I couldn't find out it, thus I've filed this.
Assignee | ||
Updated•8 years ago
|
Priority: -- → P3
Whiteboard: [psm-backlog]
+1 I was just about to file this same bug. Please incorporate similar functionality provided by the security.enterprise_roots.enabled setting on the Windows platform of Firefox. On the Mac OS platform this should allow for honoring certificates present in the System section of the Keychain.
Comment 2•8 years ago
|
||
+1. I'm surprised this is setting wouldn't be enabled by default either. What's the idea? Aren't system certs and trusts meant to be respected by all applications? Why maintain a duplicate set of certs in every application. Doesn't make a lot of sense. Chrome seems to do the right thing.
Reporter | ||
Comment 3•7 years ago
|
||
Possible related information to implement the feature:
macOS Keychain Services Tasks
https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/03tasks/tasks.html#//apple_ref/doc/uid/TP30000897-CH205-TP9
Keychain Services Concepts
https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html#//apple_ref/doc/uid/TP30000897-CH204-TP9
cocoa - Get Certificates in Keychain - Stack Overflow
https://stackoverflow.com/questions/5767957/get-certificates-in-keychain/5768464#5768464
Reporter | ||
Comment 4•7 years ago
|
||
Because Firefox 57 (public release) doesn't support any legacy addons, we need this feature on macOS to use custom certs. And this is also need to be fixed before Firefox 59, because it will be the next ESR and after Firefox 52ESR becomes outdated we lose the way to import custom certs automatically.
Assignee | ||
Comment 5•7 years ago
|
||
Hi Yuki,
Unfortunately, due to engineering and time constraints, this will not be implemented in time for 57. It's also unlikely to make it into 59. Here are some options to address automatically installing new trust anchors:
* Write a program to modify the user's NSS certificate database directly. This would be just like the add-on you had before, except it would operate on a lower level: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS
* Use the certificate manager to import the necessary root certificates once, and then use the resulting cert8.db file as a basis for all future installs of Firefox (if you put that file in the user's profile and then run Firefox, the new trust anchors will be available for them).
* Propose a new WebExtension API that allows for specifying additional trust anchors: https://webextensions-experiments.readthedocs.io/en/latest/
* Host the additional trust anchor(s) on a server protected with a publicly-trusted certificate. Users can request the URL for the certificates and Firefox should offer to import and trust them.
Hope this helps.
Updated•7 years ago
|
Blocks: fx-enterprise
Comment 6•7 years ago
|
||
it is actually quite simple to programmatically import a root CA into Firefox. Although it would make an admins life much easier if Firefox could just use Certificates in the System.keychain.
Here is a quick guide on how to implement the Certificates into Firefox. (Tested on 10.12-10.13 with Firefox 57-58.0.2)
https://github.com/soberhofer/Firefox-RootCA
Comment 7•6 years ago
|
||
There was already a bug for this.
https://bugzilla.mozilla.org/show_bug.cgi?id=963354
Should we dupe there?
Assignee | ||
Comment 8•6 years ago
|
||
From my reading that's for client certs, not root certs.
I agree with keeler. I consider this slightly different behavior. It's our request that something similar to the security.enterprise_roots.enabled be implemented on the MacOS version of Firefox. This specifically allows for instructing Firefox to trust root certs trusted by the OS. This functionality on Windows machines has allowed for much smoother implementation of Firefox in an Enterprise environment.
I understand there are a few ways that you could script or automate importing certificates into Firefox but none of those are clean enough, in my opinion, for automating a large scale environment. Particularly not if you have any concerns about overwriting settings that the end-user has previously configured.
Assignee | ||
Comment 10•6 years ago
|
||
If the preference security.enterprise_roots.enabled is set to true, the platform will import trusted TLS certificates from the OS X keystore.
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → dkeeler
Priority: P3 → P1
Whiteboard: [psm-backlog] → [psm-assigned]
Assignee | ||
Comment 11•6 years ago
|
||
:spohl, could you also have a look at this from the point of view of API correctness? Thanks! (It doesn't look like you're in the phabricator system yet, otherwise I would have marked you for review there...)
Flags: needinfo?(spohl.mozilla.bugs)
Comment 12•6 years ago
|
||
Comment on attachment 8992447 [details]
bug 1300420 - add enterprise root support for OS X r?franziskus
Stephen A Pohl [:spohl] has approved the revision.
https://phabricator.services.mozilla.com/D2169
Attachment #8992447 -
Flags: review+
Comment 13•6 years ago
|
||
Comment on attachment 8992447 [details]
bug 1300420 - add enterprise root support for OS X r?franziskus
Franziskus Kiefer [:fkiefer or :franziskus] has approved the revision.
https://phabricator.services.mozilla.com/D2169
Attachment #8992447 -
Flags: review+
Comment 14•6 years ago
|
||
Pushed by dkeeler@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7635ef4a997d
add enterprise root support for OS X r=spohl,franziskus
Assignee | ||
Comment 15•6 years ago
|
||
Thanks for the reviews!
Comment 16•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox63:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
Updated•6 years ago
|
Flags: needinfo?(spohl.mozilla.bugs)
Comment 17•6 years ago
|
||
Once we've got some testing on this, can we request uplift?
Also, how risky do you think this is for ESR?
Assignee | ||
Comment 18•6 years ago
|
||
Steps for verifying:
1. Install some sort of TLS-intercepting software that puts its root in the OS X keystore. I used avast, but NB avast actually also adds its root to your Firefox profile directory (maybe only on installation? I'm not quite sure), so to verify this bug you have to manually remove it in the certificate manager (about:preferences -> search for "certificates" -> "View Certificates" -> Authorities -> scroll down to "Avast", select it and "delete/distrust", and then restart Firefox)
2. Confirm that if the about:config preference "security.enterprise_roots.enabled" is set to false, https pages don't load ("Your connection is not secure")
3. Confirm that if the preference is set to true, https pages do load (both if the preference is set during a session and if the preference is set and the browser is restarted)
Let me know if I can provide further detail.
If testing goes well, I'll make the case for ESR uplift (although unfortunately I think this would depend on one or two other uplifts...)
Flags: qe-verify?
Updated•6 years ago
|
Flags: qe-verify? → qe-verify+
Comment 20•6 years ago
|
||
Case 1 Macbook Pro:
1) Installed Avast antivirus on a Mac OS X and activated the Web Shield.
2) After installing, the websites were not loading. (In my case also, this is available only on installation)
3) I deleted Avast from Certificates, security.enterprise_roots.enabled was still false and websites still not loading.
4) Set security.enterprise_roots.enabled to true and the web pages were loading.
Case 2 Mac:
1) Installed Avast antivirus on a Mac OS X and activated the Web Shield.
2) After installing, the websites were not loading. (In my case also, this is available only on installation)
3) I deleted Avast from Certificates, but after restarting the browser the Avast was not deleted and the sites were not loading neather
4) I set security.enterprise_roots.enabled to true, the web pages were loading and Avast was deleted from Certificates also.
Case 1, from what I understood from Comment 18 is the expected behaviour after the fix.
Case 2, is not the expected behaviour.
Keeler, can you please take a look over this and tell me you opinion? Thanks
Flags: needinfo?(dkeeler)
Assignee | ||
Comment 21•6 years ago
|
||
Hmmm - would you mind re-trying with the case 2 mac with the environment variable MOZ_LOG set to "pipnss:4" and MOZ_LOG_FILE set to some output file? (and then uploading that output file) Also, are there OS version differences between the two machines? Thanks!
Flags: needinfo?(dkeeler)
Comment 22•6 years ago
|
||
keeler:
Can you provide some info on whether or not this could be uplifted to ESR? (not for this upcoming release, but for the next).
Assignee | ||
Comment 23•6 years ago
|
||
Mike - unfortunately we'd have to either uplift a number of patches (~9, depending) or basically re-write the feature for esr60, neither of which I'm that confident about (particularly since we don't even have an automated test for this on OS X). So I think it would be best if this just rode the trains.
Comment 24•6 years ago
|
||
Is there a way to fix this as this bug is making Firefox the least desired browser to use on MacOS for those on corporate environmnets. Safari and Chrome are able to succesfully use the operating system Keychain, why Firefox cannot use it?
Comment 25•6 years ago
|
||
Just to make things even worse, when I tried to manually upload the certificate on last MacOS release (Mojave), Firefox 62.0.2 got stuck...
I had the impression that the file upload bug was supposed to be fixed before official MacOS release day... which is today Sep 24.
Comment 26•6 years ago
|
||
(In reply to Sorin Sbarnea from comment #24)
> Is there a way to fix this as this bug is making Firefox the least desired
> browser to use on MacOS for those on corporate environmnets. Safari and
> Chrome are able to succesfully use the operating system Keychain, why
> Firefox cannot use it?
Sorin,
This is fixed in Firefox 63 (currently in Beta), scheduled for release on 2018-10-23. We'd appreciate it if you'd try it out in Beta and let us know if you run into any problems.
Comment 27•6 years ago
|
||
(In reply to Sorin Sbarnea from comment #25)
> Just to make things even worse, when I tried to manually upload the
> certificate on last MacOS release (Mojave), Firefox 62.0.2 got stuck...
>
> I had the impression that the file upload bug was supposed to be fixed
> before official MacOS release day... which is today Sep 24.
We're trying to get syslogs for this probem. See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1489785
Comment 28•6 years ago
|
||
Hi,
I'm facing similar issue with Mozilla latest versions 63 and 64 in Mac OS 10.10 to 10.14 versions.
I've a trusted certificate in local keychains, but still mozilla is not detecting that as a trusted one, even after setting security.enterprise_roots.enabled to true (Same is working as trusted site in Safari and Chrome). Is this fix available for Mac firefox release.
Your help is very much appreciated.
Thanks,
Shashi
Comment 29•6 years ago
|
||
Shashi:
Please open a new bug for this issue.
Comment 30•6 years ago
|
||
I am marking this bug as verified, tested it using the steps from comment 18 on Nightly 67.0a1 (2019-02-06) and Firefox/63.0 Build ID: 20181114214635.
Comment 31•6 years ago
|
||
There is one problem with Firefox 65.0 at least: you need to restart the browser in order to validate the certificate after import. Unless you do this, it will not recognize it.
Assignee | ||
Comment 32•6 years ago
|
||
That shouldn't be the case - can you open a new bug with as much detail as you can include? https://bugzilla.mozilla.org/enter_bug.cgi?product=Core&component=Security%3A%20PSM
Flags: needinfo?(sorin.sbarnea)
Updated•5 years ago
|
Flags: needinfo?(sorin.sbarnea)
You need to log in
before you can comment on or make changes to this bug.
Description
•