Apt 0.6 y firma de paquetes


Hace unos días, después de haber actualizado mi Debian, al hacer un:

# apt-get update

me aparecía el siguiente mensaje:

Ign http://ftp.fr.debian.org unstable Release.gpg
/>Des:1 http://www.stanchina.net ./ Release.gpg [189B]
/>[…]
/>Leyendo lista de paquetes… Hecho
/>W: GPG error: http://www.stanchina.net ./ Release: The following signatures couldn’t be verified
/>because the public key is not available: NO_PUBKEY 3DCCCCACE46F104F
/>W: GPG error: ftp://ftp.nerim.net unstable Release: The following signatures couldn’t be verified
/>because the public key is not available: NO_PUBKEY 07DC563D1F41B907
/>W: GPG error: ftp://mirror.aarnet.edu.au unstable Release: The following signatures couldn’t be
/>verified because the public key is not available: NO_PUBKEY BB5E459A529B8BDA
/>

Me quedé un poco extrañado ya que no había tocado nada en el sources.list ni nada por el estilo. Me puse a googlear un poco y vi que era un problema bastante generalizado. Parece ser que con la última actualización de apt en Debian Unstable han añadido
la posibilidad de comprobar si los paquetes que instalas en tu equipo
son legítimos. Esto significa que cuando te bajas un .deb, apt
comprobará que el autor es quien dice ser y que además nadie lo ha
modificado por el camino.
Para poder usar está nueva utilidad y evitar todos los warnings tuve que hacer lo siguiente:

# apt-get dist-upgrade
[…]
AVISO: ¡No se han podido autenticar los siguientes paquetes!
e2fslibs e2fsprogs findutils grep
¿Instalar estos paquetes sin verificación [s/N]?

Aquí hay que decirle que sí y los paquetes se instalarán sin mayor
problema, y configurar el sistema para que compruebe las firmas:

# apt-get install debian-keyring
# apt-key add /usr/share/keyrings/debian-role-keys.gpg

En este punto ya tenemos las claves para los repositorios oficiales de
debian, para el resto tendrás que buscar las claves en un keyserver y
exportarlas usando apt-key. El id de la clave se puede sacar del warning
que devuelve apt-get update, por ejemplo:

# gpg –keyserver subkeys.pgp.net –recv-keys 3DCCCCACE46F104F
gpg: directory `/root/.gnupg’ created
gpg: creado un nuevo fichero de configuración `/root/.gnupg/gpg.conf’
gpg: AVISO: las opciones en `/root/.gnupg/gpg.conf’ no están aún activas en esta ejecución
gpg: anillo `/root/.gnupg/secring.gpg’ creado
gpg: anillo `/root/.gnupg/pubring.gpg’ creado
gpg: requesting key E46F104F from hkp server subkeys.pgp.net
gpg: /root/.gnupg/trustdb.gpg: se ha creado base de datos de confianza
gpg: key E46F104F: public key “Flavio Stanchina ” imported
gpg: no se encuentran claves totalmente fiables
gpg: Cantidad total procesada: 1
gpg: importadas: 1
# gpg –armor –export 3DCCCCACE46F104F | apt-key add –
gpg: no se encuentran claves totalmente fiables
OK
# apt-key list
/etc/apt/trusted.gpg
——————–
pub 1024D/38C6029A 2002-12-20 [expired: 2004-01-24)]
uid Debian Archive Automatic Signing Key (2003)

pub 1024D/30B34DD5 2003-12-03 [expired: 2004-01-14)]
uid Debian Archive Automatic Signing Key (2003 v2)

pub 1024R/1DB114E0 2004-01-15 [expired: 2005-01-27)]
uid Debian Archive Automatic Signing Key (2004)

pub 1024D/4F368D5D 2005-01-31 [expires: 2006-01-31]
uid Debian Archive Automatic Signing Key (2005)

pub 1024D/E46F104F 2001-11-19
uid Flavio Stanchina
uid Flavio Stanchina
sub 1024g/07A5A604 2001-11-19

Solo quedaría repetir el último paso por cada clave no reconocida.

Una curiosidad: apt-key no es más que un script de bash que llama a gpg,
este gpg almacena el anillo de claves en /etc/apt/trusted.gpg y no tiene
archivos de configuración (todas las opciones se las pasa apt-key en la
línea de comandos).

No recuerdo exactamente la url donde encontre esta información, pero espero que a alguno le pueda servir de ayuda…

Leave a Reply

Your email address will not be published. Required fields are marked *