Наш сетевой администратор недавно включил проверку HTTPS на нашем брандмауэре / маршрутизаторе. Для пользователей IE это нормально, потому что все сертификаты распространяются через Active Directory для машин, присоединенных к домену. Однако у нас есть несколько пользователей Firefox, которые теперь выдают ошибки сертификатов практически на каждом HTTPS-сайте.
Firefox использует собственное хранилище CA, И они тоже этим гордятся. Есть ли способ заставить Firefox по умолчанию доверять хранилищу сертификатов системы? Я вижу много сообщений о том, как это сделать в Linux, но ничего для Windows.
Я подозреваю от эта почта что это невозможно, но этому посту почти 4 года.
Начиная с Firefox 49 существует некоторая поддержка сертификатов Windows CA и поддержка Active Directory обеспечивала корневые сертификаты предприятия начиная с Firefox 52. В macOS также поддерживается чтение из Связки ключей, начиная с версии 63.
Начиная с Firefox 68, эта функция включена по умолчанию в версии ESR (Enterprise), но не в (стандартной) быстрой версии.
Вы можете включить эту функцию для 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-authorities-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
Это также можно сделать из Консоли управления, щелкнув много окон, если вы предпочитаете использовать мышь (Как: просматривать сертификаты с помощью оснастки MMC).
Думали ли вы о развертывании этих сертификатов в Firefox, а также в хранилище сертификатов Windows?
https://wiki.mozilla.org/CA:AddRootToFirefox подробно описывает несколько вариантов:
certutil
.Используйте функцию автонастройки Firefox, поместив файл javascript рядом с двоичным файлом, чтобы добавить сертификаты:
var certdb = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB);
var certdb2 = certdb;
try {
certdb2 = Cc["@mozilla.org/security/x509certdb;1"].getService(Ci.nsIX509CertDB2);
} catch (e) {}
cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.
certdb2.addCertFromBase64(cert, "C,C,C", "");
Там есть бесплатный проект который предоставляет возможность управлять корневыми сертификатами Firefox с помощью групповых политик. Вы можете установить или удалить корневые сертификаты из базы данных Firefox.
Не существует хорошего способа принудительного использования системного хранилища, но есть хороший обходной путь (принудительное использование настраиваемого хранилища, совместимого с 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
}