Я создал собственный корневой центр сертификации для внутренней сети example.com. В идеале я хотел бы иметь возможность развернуть сертификат CA, связанный с этим центром сертификации, на моих клиентах Linux (под управлением Ubuntu 9.04 и CentOS 5.3), чтобы все приложения автоматически распознавали центр сертификации (т.е. я не хочу, чтобы настроить Firefox, Thunderbird и т. д. вручную, чтобы доверять этому центру сертификации).
Я попытался сделать это на Ubuntu, скопировав сертификат CA с кодировкой PEM в / etc / ssl / certs / и / usr / share / ca-Certificates /, а также изменив /etc/ca-certificates.conf и повторно запустив update- ca-сертификатов, однако приложения, похоже, не распознают, что я добавил в систему еще один доверенный ЦС.
Следовательно, можно ли добавить сертификат ЦС один раз в систему или необходимо вручную добавить ЦС ко всем возможным приложениям, которые будут пытаться установить SSL-соединения с узлами, подписанными этим ЦС в моей сети? Если можно один раз добавить сертификат CA в систему, куда он должен идти?
Спасибо.
Вкратце: вам нужно обновлять каждое приложение отдельно.
Даже Firefox и Thunderbird не имеют общих сертификатов.
К сожалению, в Linux нет центрального места для хранения / управления SSL-сертификатами. В Windows есть такое место, но в конце концов вы столкнетесь с той же проблемой (Firefox / Thunderbird не будет использовать API, предоставляемый Windows, для определения действительности сертификата SSL)
Я бы использовал что-то вроде puppet / cfengine на каждом из хостов и разместил необходимые корневые сертификаты на всех клиентах с механизмами, которые предоставляют эти инструменты.
К сожалению, такие программы, как firefox и thunderbird, используют собственную базу данных.
Однако вы можете написать сценарий, чтобы найти все профили, а затем добавить сертификат. Вот инструмент для добавления сертификата: http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html
Также вы можете настроить файл cert8.db по умолчанию, чтобы новые профили тоже получили его.
Для других приложений все зависит от того, поддерживают ли они центральное хранилище или нет.
Указанный вами метод обновит центральный /etc/ssl/certs/ca-certificates.crt. Однако вы обнаружите, что большинство приложений не настроены для использования этого файла. Большинство приложений можно настроить так, чтобы они указывали на центральный файл. Нет автоматического способа заставить все использовать этот файл без их перенастройки.
Возможно, стоит зарегистрировать ошибки в Ubuntu / Debian, чтобы использовать этот файл по умолчанию.
Вы можете добавить свои собственные центры сертификации PKI в ubuntu и другие дистрибутивы: Вот ссылка, которая может оказаться полезной: Управление сертификатами Linux