como você cria um pacote deb "assinado"

10

Eu quero criar vários pacotes deb, mas não sei como os pacotes de "assinatura" funcionam. Então, eu queria saber como criar um pacote deb assinado.

daniel hoggan
fonte
4
possível duplicata de criar um .deb do pacote de scripts ou binários
Sampo Sarrala - codidact.org
1
@SampoSarrala Esta não é uma duplicata.
usar o seguinte comando

Respostas:

5

A assinatura de pacotes nos sistemas Ubuntu / Debian é bastante confusa. Em teoria, assinar um pacote deb torna possível para a pessoa que está recebendo o seu pacote verificar se o pacote não foi modificado depois que você o assinou. Na realidade, a verificação de assinatura é extremamente difícil de configurar e está desativada por padrão. A menos que o usuário faça várias configurações localmente, ele não verificará a assinatura quando o pacote estiver instalado.

Para assinar um pacote, você pode usar: debsigs ou dpkg-sig. As assinaturas não são compatíveis entre si, portanto, você precisará garantir que o usuário esteja usando a ferramenta adequada no lado de recebimento para verificar assinaturas.

O dpkg-sig é mais fácil de usar para você e para o usuário, mas o debsigs é a ferramenta com suporte embutido (que é desativado por padrão) no Ubuntu e Debian.

Eu escrevi uma postagem no blog contendo todos os detalhes técnicos da assinatura e verificação dos pacotes de origem (arquivos .dsc), pacotes binários (.deb) e repositórios de pacotes APT aqui: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-Verifique-deb-packages-apt-repositories /

Joe Damato
fonte
Parece que os pacotes binários .deb podem ser (e são, até a cadeia oficial de pacotes do Debian / Ubuntu) incluídos nos arquivos .changes. É omitido nesta resposta e na postagem do blog vinculada.
Arand12
1

A assinatura de pacotes no Debian / Ubuntu geralmente é feita através de arquivos .changes. Ao compilar um pacote, você tende a terminar com um arquivo .changes, listando os resultados da compilação (pacotes de origem e / ou binários) e suas somas de verificação; quando você assina pacotes, normalmente esse é o arquivo que você assina (permitindo a verificação do integridade do pacote por meio de sua soma de verificação).

A maneira mais simples de assinar um arquivo .changes é usar debsign

debsign hello_1.0_amd64.changes

Isso ocorre automaticamente se você possui uma chave primária no seu chaveiro do gnupg e executa dpkg-buildpackageou debuildsem as opções -use -uc.

arand
fonte