Как я могу распространять сертификат 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