Dpkg-sig: Firma dei packages .deb

Versione del 28 set 2019 alle 08:36 di HAL 9000 (discussione | contributi) (verificata)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Debian-swirl.png Versioni Compatibili

Debian 8 "jessie"
Debian 9 "stretch"
Debian 10 "buster"

Introduzione

Per poter firmare i nostri pacchetti abbiamo bisogno di due strumenti: gpg e dpkg-sig.

Il primo dovrebbe essere già installato di default con la nostra Debian, per il secondo con privilegi di amministrazione è sufficiente:

# apt install dpkg-sig

Creare la coppia di chiavi

A questo punto possiamo generare una nuova coppia di chiavi, da usare solo per firmare i pacchetti:

$ gpg --gen-key

Ci verrà chiesto il nome e l'indirizzo email. Tutte le altre configurazioni sono lasciate al default (a meno che non si usi l'opzione --full-generate-key al posto di --gen-key), che dovrebbe andare più che bene.

Ora premiamo o per confermare le informazioni, e invio. Ci verrà richiesta la password per le chiavi, inseriamola e diamo invio nuovamente. Infine non resta che aspettare un po' per la generazione delle chiavi.

Ecco fatto, ora abbiamo la nostra coppia di chiavi per firmare i pacchetti, esportiamole sul nostro keyserver preferito.

Firmare i pacchetti

Per firmare i nostri pacchetti procediamo in questo modo:

# dpkg-sig --sign nostronick nomepackages.deb
  Suggerimento
Per scegliere la chiave si può aggiungere l'argomento -k seguito dall'identificativo della chiave.


  Esempio
# dpkg-sig --sign debian cwcdr_2.0.1-4_all.deb
Processing cwcdr_2.0.1-4_all.deb...

Ti serve una passphrase per sbloccare la chiave segreta
dell'utente: "denis pecci (NextDeb Team Packager) <debian@nextdeb.net>"
chiave DSA di 1024 bit, ID 73E02514, creata il 2004-11-26

Signed deb cwcdr_2.0.1-4_all.debcode>


Ecco fatto, ora abbiamo firmato in maniera inequivocabile il nostro pacchetto. Per controllare la firma possiamo usare sia dpkg-sig che gpg. Con gpg basta usare il seguente comando:

# gpg --verify nome package
  Esempio
# gpg --verify cwcdr_2.0.1-4_all.deb 
gpg: Firma fatta ven 26 nov 2004 11:23:33 CET usando DSA con ID 73E02514
gpg: Firma valida da "denis pecci (NextDeb Team Packager) <debian@nextdeb.net>"
gpg: controllo il trustdb
gpg: controllo al livello 0 firmato=0 ot(-/q/n/m/f/u)=0/0/0/0/0/2


mentre con dpkg-sig:

# dpkg-sig -v -l nome package
  Esempio
# dpkg-sig -v -l cwcdr_2.0.1-4_all.deb 
Processing wcdr_2.0.1-4_all.deb... 
debian


come potete vedere quest'ultima maniera mostra solo il nick di colui che ha firmato il pacchetto.




Guida scritta da: Noise   Debianized 20%
Estesa da:
Verificata da:

Verificare ed estendere la guida | Cos'è una guida Debianized