Как заставить Firefox доверять системе сертификаты CA?

Наш сетевой администратор недавно включил контроль HTTPS на нашем брандмауэре/маршрутизаторе. Для пользователей IE это прекрасно, потому что сертификаты были все распределены через Active Directory для присоединенных доменом машин. Однако у нас есть много пользователей Firefox, которые теперь бросают ошибки сертификата на практически каждый сайт HTTPS.

Firefox использует их собственное хранилище CA, и они реальны гордящийся им также. Там какой-либо путь состоит в том, чтобы заставить Firefox доверять системному хранилищу сертификатов по умолчанию? Я вижу много сообщений о том, как сделать это в Linux, но ничем для Windows.

Я подозреваю из этого сообщения, что это не возможно, но что сообщению почти 4 года.

29
задан 16 September 2015 в 00:24
4 ответа

Рассматривали ли вы возможность установки этих сертификатов в Firefox, а также в хранилище сертификатов Windows?

https://wiki.mozilla.org/CA:AddRootToFirefox подробно описывает несколько вариантов:

  1. Изменение базы данных сертификатов непосредственно с помощью certutil.
  2. Используйте функцию автоконфигурации Firefox, поместив файл javascript рядом с бинарным файлом, чтобы добавить сертификаты:

    var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
    var certdb2 = certdb;
    попробовать {
     certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
    } catch (e) {}
    cert = "MIIHPT...zTMVD"; // Это должно быть содержимое сертификата без разрывов строк.
    certdb2.addCertFromBase64(cert, "C,C,C", "");
    
  3. Распространяйте напрямую файлы базы данных сертификатов.
  4. Пакет Firefox для установки, включая сертификаты в вашем дистрибутиве.
  5. Используйте CCK2 для создания расширения, которое добавляет сертификаты.
2
ответ дан 28 November 2019 в 20:01

Нет хорошего способа заставить использовать системный магазин, но есть хороший обходной путь (заставить использовать настраиваемый магазин, совместимый с Firefox).

Бит скрипта ниже хорошо работает при входе / выходе из системы.

Stop-Process -processname firefox

$DBPath="\\yourserver\yourshare\cert8.db"
$FirefoxProfiles=Get-ChildItem $Env:appdata\Mozilla\Firefox\Profiles     
$DB=Get-Item $DBPath    
ForEach ( $Profile in $FirefoxProfiles )
{
    $FullPath=join-path $Env:appdata\Mozilla\Firefox\Profiles $Profile
    Copy-Item $DB $FullPath
    $FullPath
}
1
ответ дан 28 November 2019 в 20:01

Начиная с Firefox 49 имеется некоторая поддержка сертификатов CA Windows и поддержка корневых сертификатов предприятия, предоставленных Active Directory, начиная с Firefox 52. В macOS также поддерживается чтение из Связка ключей начиная с версии 63.

Начиная с Firefox 68 эта функция включена по умолчанию в версии ESR (корпоративная), но не в (стандартной) быстрой версии.

Вы можете включить эту функцию для Windows и macOS в ] about: config , создав это логическое значение:

security.enterprise_roots.enabled

и установив его в true .

Для GNU / Linux это обычно управляется p11-kit-trust, и флаг не

Развертывание всей системы конфигурации

Начиная с Firefox 64, существует новый и рекомендуемый способ использования политик, описанных на https://support.mozilla.org/en-US/kb/setting -certificate-sizes-firefox

Для устаревших версий папку установки Firefox можно получить из реестра Windows, а затем перейти к defaults \ pref \ подкаталог и создайте новый файл со следующим:

/* Allows Firefox reading Windows certificates */    
pref("security.enterprise_roots.enabled", true);

Сохраните его с расширением .js , например trustwincerts.js и перезапустите Firefox. Запись будет отображаться в about: config для всех пользователей.

Развертывание сертификатов Windows для всей системы

В Firefox с 49 по 51 он поддерживает только «Корневое» хранилище. Начиная с Firefox 52, он поддерживает другие хранилища, в том числе добавленные из домена через AD.

Это немного выходит за рамки, но объясняет, какое хранилище сертификатов было единственным, поддерживаемым Firefox для версий с 49 по 51 или только для локального тестирования. Поскольку это развертывается для всех пользователей локальных компьютеров, для этого требуются права администратора в вашем окне CMD / PowerShell или в вашем собственном сценарии автоматического развертывания. [

certutil -addstore Root path\to\cafile.pem

] Это также можно сделать из Консоли управления, щелкнув много окон, если вы предпочитаете mouse way ( Как просмотреть сертификаты с помощью оснастки MMC ).

46
ответ дан 28 November 2019 в 20:01

Существует свободный проект , который предоставляет возможность управлять корневыми сертификатами Firefox с помощью групповых политик. Вы можете установить или удалить корневые сертификаты из базы данных Firefox.

.
1
ответ дан 28 November 2019 в 20:01

Теги

Похожие вопросы