Firmé un paquete deb varias veces, ¿cómo puedo eliminar una firma ahora?

Firmé un paquete deb varias veces, ¿cómo puedo eliminar una firma ahora?

¿Cómo puedo eliminar firmas de un paquete deb firmado con una clave gpg por dpkg-sig?

Tengo un repositorio apt particular que configuré, que a través de investigaciones y pruebas me llevó a firmar manualmente mis paquetes deb.

Lo probé en un paquete y lo firmé varias veces con la misma clave. Ahora hay tres firmas alrededor del paquete deb.

El comando utilizado para firmar el paquete fue:

dpkg-sig -k ######## --sign bulder xul-ext-ubufox_3.0-0ubuntu0.14.10.1_all.deb

Respuesta1

No estoy seguro de si existe una manera mejor, pero al menos podrías eliminar la firma "manualmente" con ar:

ar d "$yourpackage.deb" _gpgbuilder

(o cosas adicionales además _gpgbuildersi logró tener "tres firmas" dando nombres de roles distintos de "constructor").

Esto funciona porque los archivos .deb, en la capa más externa, son esencialmente solo archivos "ar", y los archivos deb integrados se almacenan en esa capa más externa. Hay una pequeña diferencia entre los .debs creados con dpkg y los creados con ar, por lo que normalmente es una buena idea utilizar herramientas dpkg reales al manipular archivos deb, pero todas las herramientas modernas (afaik) pueden manejar ambas perfectamente.

Respuesta2

Para firmas incrustadas, puede abrir el .debarchivo con file-rollery eliminar el archivo de firma incrustado. También puedes usar ar con ar d package.deb _gpgbuilder.

Para firmas separadas, puede simplemente abrir el xul-ext-ubufox_3.0-0ubuntu0.14.10.1.dscarchivo en un editor de texto y debería poder eliminar los bloques de firma adicionales de la parte inferior del archivo.

Si también hizo lo mismo con el paquete fuente, puede realizar una acción similar en el _source.changesarchivo.

información relacionada