Quiero crear varios paquetes deb, pero no sé cómo funcionan los paquetes de "firma". Entonces me preguntaba cómo crear un paquete de Deb firmado.
Quiero crear varios paquetes deb, pero no sé cómo funcionan los paquetes de "firma". Entonces me preguntaba cómo crear un paquete de Deb firmado.
Respuestas:
La firma de paquetes en los sistemas Ubuntu / Debian es bastante desordenada. En teoría, firmar un paquete de deb hace posible que la persona que recibe su paquete verifique que el paquete no se modificó después de que lo firmó. En realidad, la verificación de firma es terriblemente difícil de configurar y está deshabilitada por defecto. A menos que el usuario realice una configuración local, no verificará la firma cuando se instale el paquete.
Para firmar un paquete, puede usar: debsigs o dpkg-sig. Las firmas no son compatibles entre sí, por lo que deberá asegurarse de que el usuario esté utilizando la herramienta adecuada en el lado receptor para verificar las firmas.
dpkg-sig es más fácil de usar tanto para usted como para el usuario, pero debsigs es la herramienta con soporte incorporado (que está deshabilitado de forma predeterminada) en Ubuntu y Debian.
Escribí una publicación de blog que contenía todos los detalles técnicos de la firma y verificación de paquetes fuente (archivos .dsc), paquetes binarios (.deb) y los propios repositorios de paquetes APT aquí: http://blog.packagecloud.io/eng/2014/ 28/28 / howto-gpg-sign-verificar-deb-packages-apt-repositories /
La firma de paquetes en Debian / Ubuntu se realiza comúnmente a través de archivos .changes. Al compilar un paquete, tiende a terminar con un archivo .changes, que enumera los resultados de la compilación (fuente y / o paquetes binarios) y sus sumas de verificación, cuando firma paquetes, este es normalmente el archivo que firma (permitiendo así la verificación de integridad del paquete a través de su suma de comprobación).
La forma más sencilla de firmar un archivo .changes es usar debsign
debsign hello_1.0_amd64.changes
Esto ocurre automáticamente si tiene una clave principal en su llavero gnupg y ejecuta dpkg-buildpackage
o debuild
no los interruptores -us
y -uc
.