Нужна помощь в автоматизации развертывания Thunderbird с помощью нашего собственного корневого сертификата

Мы находимся в процессе настройки автономного почтового решения в нашей лаборатории, и мы должны быть нашим собственным центром сертификации. Проблема в том, что Thundebird жалуется на то, что наш корневой сертификат ненадежен, хотя мы знаем, что он действителен.

Проблема в том, что Thunderbird поставляется со своими собственными сертификатами, которым он доверяет, и не смотрит на компьютеры доверенные сертификаты, поэтому просто отправить объект групповой политики всем клиентам с корневым сертификатом не получится.

Нам необходимо автоматизировать развертывание импорта корневого сертификата в Thundebird, и у нас серьезные проблемы с тем, чтобы понять, как это сделать.

Autoconfig работает, и thunderbird получает правильную конфигурацию сервера, но ошибка сертификата все еще сохраняется. Единственный известный способ - вручную импортировать сертификат в доверенные сертификаты Thunderbirds.

Есть ли у кого-нибудь здесь предложения, как действовать?

4
задан 26 April 2017 в 23:20
1 ответ

Поскольку Thunderbird основан на той же платформе, что и Firefox, вы должны быть в состоянии использовать те же инструменты, что и Firefox.

Существует несколько вариантов инструментов, которые вы можете использовать, в порядке наиболее простого и сложного:

1. Он может быть встроенным!

Thunderbird имеет экспериментальную поддержку автоимпорта сертификатов из хранилища сертификатов ОС.

Вот как включить его вручную:

  1. Откройте меню и нажмите 'Опции'
  2. Перейдите на вкладку 'Дополнительно'
  3. Щелкните 'Редактор настроек'
  4. Щелкните 'Я принимаю на себя риск! ' если появится соответствующее сообщение.
  5. Ищите security.enterprise_roots.enabled
  6. Дважды щелкните по security.enterprise_roots.enabled, чтобы установить его в true.

Вы можете автоматизировать это, установив конфигурационный файл на компьютеры.

2. Установите профиль по умолчанию

Вы можете добавить сертификат в свой профиль, затем скопировать файл cert8.db вашего профиля в главную программную папку. Любой новый профиль, созданный на компьютере, будет использовать эту версию cert8.db.

К сожалению, это не поможет ни одному пользователю, который уже открыл Thunderbird, так как его профили уже созданы.

Смотрите https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Thunderbird_Enterprise_Tips#Using_a_private_CA_certificate для более подробной информации.

3. Разверните файл конфигурации

Как упоминалось и было сказано выше в варианте #1, продукты Mozilla поддерживают развертывание файла конфигурации в C:\Program Files (возможно x86)\Mozilla Thunderbird\defaults\pref\autoconfig.js.

В этот файл можно поместить скрипт, который добавляет сертификат в хранилище сертификатов. Вот пример:

var cert = "MIIHPT...zTMVD"; // This should be the certificate content with no line breaks at all.

var observer = {
  observe: function observe(aSubject, aTopic, aData) {
    var certdb = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB);
    var certdb2 = certdb;
    try {
      certdb2 = Components.classes["@mozilla.org/security/x509certdb;1"].getService(Components.interfaces.nsIX509CertDB2);
    } catch (e) {}
    certdb2.addCertFromBase64(cert, "C,C,C", "");
  }
}
Components.utils.import("resource://gre/modules/Services.jsm");
Services.obs.addObserver(observer, "profile-after-change", false);

4. Mozilla's certutil executable

Можно создать сценарий входа, который запустит certutil для добавления сертификата в пользовательский профиль. В этом сообщении форума есть пример скрипта (для Firefox), важная часть которого скопирована ниже (с изменениями для Thunderbird):

strAppDataDir = WshShell.ExpandEnvironmentStrings("%APPDATA%")
strThunderbirdProfilesDir = strAppDataDir & "\Thunderbird\Profiles\"

Set arrThunderbirdProfileList = objFSO.GetFolder(strThunderbirdProfilesDir).SubFolders

For Each ThunderbirdProfile In arrThunderbirdProfileList
    'Create a backup of the old cert8.db file. This line is optional.
    objFSO.CopyFile ThunderbirdProfile & "\cert8.db" , ThunderbirdProfile & "\cert8.db.old", OverWriteFiles
    'Add the local CA certificate to cert8.db and assign appropriate trust levels.
    Call WshShell.Run(strCertutilPath & " -A -n " & Chr(34) & strLocalCertificateAuthorityName & Chr(34) & " -i " & strCertificateFilePath & " -t " & Chr(34) & strTrustAttributes & Chr(34) & " -d " & Chr(34) & ThunderbirdProfile & Chr(34), 0, true)
  Next

(Замечание: Не путайте это с одноименной программой Microsoft)

5. Вы можете воспользоваться утилитой управления

CCK2 - сторонней утилитой управления для продуктов Mozilla. Подробнее см. в его документации

.
2
ответ дан 3 December 2019 в 03:54

Теги

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