Como eu distribuo um certificado de CA usando um pacote Debian?

3

O método usual de adicionar seu próprio certificado de CA ao Ubuntu é:

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

Gostaria de distribuir meu certificado de CA usando um pacote Debian, mas /usr/local/ está fora dos limites para pacotes (e lintian reclama, e o Centro de Software denuncia meu pacote como um de baixa qualidade). Então, qual é o método padrão para fazer isso usando o pacote Debian? Eu tentei espiar ca-certificates-java , mas não consegui entender o que está fazendo.

    
por muru 16.11.2014 / 18:11

1 resposta

2

Parece que o_Seppi e o bodhi.zazen estão corretos: a única maneira limpa de fazer isso é usar um script do mantenedor para fazer a ação. De /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.

O pacote de exemplo tem um Makefile que instala diretamente o arquivo em /usr/local/share/ca-certificates .

No entanto, a política do Debian sobre a instalação de arquivos em /usr/local é para não fazê-lo (consulte seção 1.2, capítulo 9 ), diretamente ou usando um script de mantenedor.

O compromisso que considero aceitável é usar os scripts e colocar links em vez de copiá-los. Dessa forma, um usuário final ainda pode rastrear de onde vem o material em /usr/local/ .

Em vez de chamar update-ca-certificates com argumentos variados, deve-se adicionar update-ca-certificates-fresh aos acionadores lista (conforme observado no último parágrafo citado acima), permitindo que os certificados sejam processados junto com quaisquer outras atualizações de certificados pendentes:

echo 'activate update-ca-certificates-fresh' >> debian/package-name.triggers
    
por muru 17.11.2014 / 21:29