A chave de assinatura do arquivo do Ubuntu está disponível via HTTPS em algum lugar?

4

Estou escrevendo um programa que precisa baixar chaves GPG para várias distribuições para fazer instalações de rede autônomas. Para fazer isso de maneira segura e automatizada, preciso fazer o download da chave via HTTPS, o que significa que "gpg --recv-keys" não é uma opção. Outras distribuições (por exemplo, o Fedora) disponibilizam suas chaves em seus sites via HTTPS (por exemplo, link ), mas eu posso ' t encontrar o arquivo-chave do Ubuntu em qualquer lugar no ubuntu.com. Alguém sabe onde posso obtê-lo via HTTPS?

    
por Tristan Schmelcher 06.06.2013 / 20:04

2 respostas

1

Eu sugiro que você use "" gpg --recv-keys ", apt irá então confirmar a chave

  

Como o apt usa Release.gpg

     

O Secure apt sempre faz o download dos arquivos Release.gpg quando está baixando os arquivos Release, e se não conseguir baixar o Release.gpg, ou se a assinatura estiver ruim, ele irá reclamar, e notará que os arquivos Packages que o arquivo Release aponta para, e todos os pacotes listados, são de uma fonte não confiável. Veja como fica durante uma atualização do apt-get:

     

W: Erro de GPG: link release de teste: as seguintes assinaturas    não pôde ser verificado porque a chave pública não está disponível: NO_PUBKEY 010908312D230C5F

Veja link

e link

    
por Panther 06.06.2013 / 22:11
1

As chaves estão disponíveis no ubuntu-keyring package . Assim, como acontece com qualquer pacote do Ubuntu, você pode baixá-lo do Launchpad , que fornece HTTPS (escolha uma opção adequada). libere e baixe os tarballs ou arquivos deb conforme necessário).

Quando isso acontece, você pode fazer com que o GnuPG2 importe as chaves via HKPS (HKP com SSL), então é possível --recv-keys com segurança, mas o processo é um pouco chato. Para usar o HKPS, precisamos:

  • diga dirmngr para usar um servidor de chaves HKPS
  • diga dirmngr onde os Certificados de AC são
  • obtenha as chaves por gpg2 em vez de gpg - as chamadas de comando apt-key gpg e gpg parecem não suportar HKPS (de qualquer forma, ele tenta executar /usr/lib/gnupg/gpgkeys_hkp , que falha com um erro de protocolo não suportado)
  • exporte a chave e importe-a com sudo apt-key add

HKPS e dirmngr

O ideal é usar gpgconf para definir opções de configuração para dirmngr e gpg2 . Mas gpgconf não entende uma opção que usamos, --hkp-cacert para dirmngr . Então, podemos fazer tudo manualmente.

Primeiro, vamos criar um link simbólico para /etc/ssl/certs/ca-certificates.crt porque dirmngr quer uma extensão PEM:

ln -s /etc/ssl/certs/ca-certificates.crt ~/.ca-certs.pem

Edite ~/.gnupg/dirmngr.conf (crie, se necessário) e adicione essas duas opções:

keyserver hkps://keyserver.ubuntu.com
hkp-cacert ~/.ca-certs.pem

Matar dirmngr se necessário:

pkill dirmngr

Importar chave com o GnuPG2

Com as opções dirmngr definidas, isso é simples:

$ gpg2 --verbose --recv-keys 0xBA6932366A755776
gpg: no running Dirmngr - starting '/usr/bin/dirmngr'
gpg: waiting for the dirmngr to come up ... (5s)
gpg: connection to the dirmngr established
gpg: data source: https://cassava.canonical.com:443
gpg: armor header: Version: SKS 1.1.6
gpg: armor header: Comment: Hostname: keyserver.ubuntu.com
gpg: pub  rsa4096/6A755776 2017-07-29  Launchpad PPA for deadsnakes
gpg: key 6A755776: "Launchpad PPA for deadsnakes" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Yay!

Adicionar chave ao apt

Outro passo simples:

$ gpg2 --export 0xBA6932366A755776 | sudo apt-key add
OK

Opcionalmente, agora podemos excluir a chave adicionada do chaveiro do usuário, já que é improvável que seja necessário novamente:

$ gpg2 --delete-keys 0xBA6932366A755776
gpg (GnuPG) 2.1.11; Copyright (C) 2016 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

pub  rsa4096/6A755776 2017-07-29 Launchpad PPA for deadsnakes

Delete this key from the keyring? (y/N) y

Estes passos não são difíceis de automatizar.

    
por muru 29.10.2017 / 17:29