Назад | Перейти на главную страницу

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

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

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

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

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

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

Поскольку 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 (possibly 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 certutil исполняемый файл

Вы можете создать сценарий входа, который запускается 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. См. Его документацию для получения более подробной информации.