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.