Как я могу распространять сертификат CA, используя пакет Debian?

Обычный метод добавления собственного сертификата CA в Ubuntu:

cp cert.pem /usr/local/share/ca-certificates
update-ca-certificates

Я хотел бы распространять свой сертификат CA, используя пакет Debian, но /usr/local/ закрыто для пакетов (и lintian жалуется, и Центр программного обеспечения осуждает мой пакет как некачественный). Так что же является стандартным методом для этого с использованием упаковки Debian? Я пытался заглянуть в ca-certificates-java, но я не мог понять, что он делает.

1 ответ

Кажется, что the_Seppi и bodhi.zazen верны: единственный чистый способ сделать это - использовать скрипт сопровождающего для выполнения дела. От /usr/share/doc/ca-certificates/README.Debian:

How to install local CA certificates
------------------------------------------------------------------

                              ...  If you want to prepare a local
package of your certificates, you should depend on ca-certificates,
install the PEM files into /usr/local/share/ca-certificates/ as above
and call 'update-ca-certificates' in the package's postinst, and should
call 'update-ca-certificates --fresh' in the package's postrm.

An example source package for building a local CA certificate package,
using ca-certificates (>= 20130119) (since it uses triggers) can be
found in /usr/share/doc/ca-certificates/examples/ca-certificates-local/.
The README file in the above directory has step-by-step instructions for
building a local CA certificate package.

Пример пакета имеет Makefile который напрямую устанавливает файл в /usr/local/share/ca-certificates,

Тем не менее, политика Debian по установке файлов в /usr/local не делать этого вообще (см. раздел 1.2, глава 9), либо напрямую, либо с помощью сценария сопровождающего.

Компромисс, который я считаю приемлемым, заключается в использовании сценариев и размещении ссылок вместо их копирования. Таким образом, конечный пользователь все еще может отслеживать, где материал в /usr/local/ идет от.

Вместо звонка update-ca-certificates с различными аргументами следует добавить update-ca-certificates-fresh в список триггеров (как отмечено в последнем абзаце, приведенном выше), что позволяет обрабатывать сертификаты вместе с любыми другими ожидающими обновлениями сертификатов:

echo 'activate update-ca-certificates-fresh' >> debian/package-name.triggers
Другие вопросы по тегам