Assinando o repositório debian: o SHA1 evitado, o apt-get update ainda reclamando de um fraco digest

3

Eu mantenho um pequeno repositório do Debian para meu empregador, e estamos enfrentando problemas ultimamente devido à suspensão de uso do SHA1.

Assinamos nossos pacotes com uma chave RSA de 4096 bits. Para assinar o repositório, usei este comando GPG:

[email protected]:/var/www/debian/dists/xenial# cat /root/.gnupg/gpg.conf
cert-digest-algo SHA512
digest-algo SHA512
disable-cipher-algo SHA1
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
personal-digest-preferences SHA512

[email protected]:/var/www/debian/dists/xenial# gpg -a --detach-sign \
--personal-digest-preferences SHA512 \
--default-key=XXXXXXXX -o Release.gpg Release 

Verificando a assinatura para se certificar de que não está usando o SHA1:

[email protected]:/var/www/debian/dists/xenial# gpg --list-packets Release.gpg 
:signature packet: algo 1, keyid XXXXXXXXXXXXXXXX
    version 4, created 1484090425, md5len 0, sigclass 0x00
    digest algo 10, begin of digest 3f 00
    hashed subpkt 2 len 4 (sig created 2017-01-10)
    subpkt 16 len 8 (issuer key ID XXXXXXXXXXXXXXXX)
    data: [4095 bits]

Tanto quanto eu sou informado, o pouco sobre "digest algo 10" significa que ele está usando o SHA512 para digerir. SHA1 seria "digerir algo 2".

Em um cliente, fiz o seguinte:

root@othermachine:/root# echo "deb https://debian.name-not-revealed.com xenial main" >> /etc/apt/sources.list
root@othermachine:/root# apt-key adv --keyserver pool.sks-keyservers.net --recv-keys 0xXXXXXXXX
root@othermachine:/root# apt-get update
Hit:1 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu xenial InRelease
Get:2 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu xenial-updates InRelease [102 kB]                                    
Get:3 http://eu-central-1.ec2.archive.ubuntu.com/ubuntu xenial-backports InRelease [102 kB]                                  
Hit:4 http://security.ubuntu.com/ubuntu xenial-security InRelease                                                            
Hit:5 http://ppa.launchpad.net/ondrej/php/ubuntu xenial InRelease                                                            
Ign:6 https://debian.name-not-revealed.com xenial InRelease                                                                
Hit:7 https://debian.name-not-revealed.com xenial Release                                                                  
Fetched 204 kB in 12s (15.9 kB/s)                                                                                                
Reading package lists... Done
W: https://debian.name-not-revealed.com/dists/xenial/Release.gpg: Signature by key 20F6C08B949AF3A95ECD7F6FDCDE5A8971317416 uses weak digest algorithm (SHA1)

Por que esse aviso ainda aparece? Por que o apt-get acha que ainda estou usando o SHA1?

Inicialmente, assumi que a chave era o culpado, por isso criei um novo de acordo com este guia de migração de GPG: link

No entanto, ainda estou recebendo o aviso "digest fraco". Eu estou no final do meu juízo. O que estou fazendo de errado?

    
por ronin667 11.01.2017 / 00:55

1 resposta

0

Eu mesmo encontrei a solução: Eu estava usando a versão errada do GPG. gpg 1.x ignora todas as opções "não use SHA1". Para usar esses sinalizadores, você precisa usar o gpg 2.x, que é chamado de "gpg2".

    
por 24.01.2017 / 00:39