Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

verifier la signature d'un fichier

12 réponses
Avatar
Lulu
Bonjour,

Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).

Je tape : gpg --verify fichier_signature fichier_signé

Et ça couine :
gpg: aucune donnée OpenPGP valable n'a été trouvée.
gpg: impossible de vérifier la signature.
Veuillez vérifier que le fichier de signature (.sig ou .asc)
est bien le premier fichier indiqué sur la ligne de commande.

Après avoir lu la page de man de gpg, j'ai googlé un peu mais entre les
docs très théoriques, touffues et que je ne comprends qu'à moitié et
celles concernant le hashage de fichier, je ne trouve pas d'exemple
simple de commande me permettant de faire ce que je veux : vérifier
l'authenticité du fichier_signé.

Est-ce que j'ai tort de penser qu'il suffit d'avoir le fichier_signature
pour faire cela ?

Est-ce que je devrais inclure cette clé dans un trousseau de clés avant
de pouvoir l'utiliser ?

J'ai lu https://linuxfr.org/users/gouttegd/journaux/de-la-confiance-dans-le-monde-openpgp
Mais je me perds dans les notions de confiance, de certification (avec
ses attributs), de validité, etc...

Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).

Merci de votre aide.

10 réponses

1 2
Avatar
Dominique
Le 24/05/2020 à 17:22, Lulu a écrit :
Bonjour,
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).

...
Merci de votre aide.

Bonjour,
Je ne vais pas t'être d'une grande aide directe (je ne connais pas
GNUGP), mais je lis précisément cette page qui pourrait t'intéresser :
https://linuxfr.org/news/bien-demarrer-avec-gnupg
Bonne lecture,
--
Dominique
Courriel : dominique point sextant ate orange en France
Esto quod es
Avatar
Marc SCHAEFER
Lulu wrote:
Je tape : gpg --verify fichier_signature fichier_signé

Que contient fichier_signature ?
Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).

Exemple:
signer, mode signature détachée, ASCII armour:
$ gpg --sign --detach --armor toto
You need a passphrase to unlock the secret key for
user: "Marc SCHAEFER (GPG) "
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31
toto est le fichier signé, toto.asc la signature format ancien:
$ file toto.asc
toto.asc: PGP signature Signature (old)
$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw= =fY/V
-----END PGP SIGNATURE-----
Vérification:
$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) "
ou:
$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) "
Avatar
denis.paris
Le 24/05/2020 à 17:22, Lulu a écrit :
Bonjour,
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).
Je tape : gpg --verify fichier_signature fichier_signé
Et ça couine :
gpg: aucune donnée OpenPGP valable n'a été trouvée.
gpg: impossible de vérifier la signature.
Veuillez vérifier que le fichier de signature (.sig ou .asc)
est bien le premier fichier indiqué sur la ligne de commande.
Après avoir lu la page de man de gpg, j'ai googlé un peu mais entre les
docs très théoriques, touffues et que je ne comprends qu'à moitié et
celles concernant le hashage de fichier, je ne trouve pas d'exemple
simple de commande me permettant de faire ce que je veux : vérifier
l'authenticité du fichier_signé.
Est-ce que j'ai tort de penser qu'il suffit d'avoir le fichier_signature
pour faire cela ?
Est-ce que je devrais inclure cette clé dans un trousseau de clés avant
de pouvoir l'utiliser ?
J'ai lu https://linuxfr.org/users/gouttegd/journaux/de-la-confiance-dans-le-monde-openpgp
Mais je me perds dans les notions de confiance, de certification (avec
ses attributs), de validité, etc...
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).
Merci de votre aide.

Tu ne donnes pas l'information principale: le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...
Avatar
Nicolas George
"denis.paris" , dans le message <5eccb925$0$4047$,
a écrit :
Tu ne donnes pas l'information principale:

Tu as raison :
Je tape : gpg --verify fichier_signature fichier_signé


Comme Marc l'a signalé, nous avons besoin de savoir ce qu'il y a dans
fichier_signature. La sortie de file serait un bon début.
le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...

Non, aucun rapport. Le fait d'être signé est globalement indépendant du fait
d'être chiffré.
Avatar
Lulu
Le 25-05-2020, Dominique a écrit :
Le 24/05/2020 à 17:22, Lulu a écrit :
Je souhaite vérifier qu'un fichier a bien été créé par une personne
dont j'ai la clé publique (il ne s'agit pas de vérifier le hash du
fichier, ça c'est fait).

...
Merci de votre aide.

Je ne vais pas t'être d'une grande aide directe (je ne connais pas
GNUGP), mais je lis précisément cette page qui pourrait t'intéresser :
https://linuxfr.org/news/bien-demarrer-avec-gnupg
Bonne lecture,

Merci pour le lien qui explique assez simplement le principe.
Maintenant, dans les commentaires, ceux qui signent et chiffrent des
fichiers s'envoient des mails à eux-mêmes tellement ils ont du mal à
trouver des personnes avec qui échanger des mails signés ;-))
Avatar
Lulu
Le 25-05-2020, Marc SCHAEFER a écrit :
Lulu wrote:
Je tape : gpg --verify fichier_signature fichier_signé

Que contient fichier_signature ?
Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.

$ file fichier_signature
exodus.asc: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).

Exemple:
signer, mode signature détachée, ASCII armour:
$ gpg --sign --detach --armor toto
You need a passphrase to unlock the secret key for
user: "Marc SCHAEFER (GPG) "
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31
toto est le fichier signé, toto.asc la signature format ancien:
$ file toto.asc
toto.asc: PGP signature Signature (old)
$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw= > =fY/V
-----END PGP SIGNATURE-----
Vérification:
$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) "
ou:
$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHiAEFER (GPG) "

Merci pour l'exemple.
Avatar
Lulu
Le 26-05-2020, denis.paris a écrit :
Le 24/05/2020 à 17:22, Lulu a écrit :
Tu ne donnes pas l'information principale: le fichier dont tu veux
vérifier la signature est-il chiffré ou non? Car ton message d'erreur
semble indiquer que tu cherches à vérifier un fichier en clair...

Je ne comprends pas pourquoi savoir si fichier est chiffré ou non serait
"linformation principale". Je ne vois pas la différence que ça pourrait
faire.
Le fait est qu'il s'agit d'un paquet deb non chiffré.
Avatar
Lulu
Le 25-05-2020, Marc SCHAEFER a écrit :
Lulu wrote:
Je tape : gpg --verify fichier_signature fichier_signé

Que contient fichier_signature ?
Ca peut être soit en ASCII armour, soit en binaire. La
commande file est ton ami.

$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
Qui aurait une doc simple (mais pas simpliste) pour un béotien en ce
domaine ? (ou expliquer ici le B, A, BA de la vérification
d'authenticité).

Exemple:
signer, mode signature détachée, ASCII armour:
$ gpg --sign --detach --armor toto
You need a passphrase to unlock the secret key for
user: "Marc SCHAEFER (GPG) "
2048-bit RSA key, ID 2FEBC79D, created 2017-03-31
toto est le fichier signé, toto.asc la signature format ancien:
$ file toto.asc
toto.asc: PGP signature Signature (old)
$ cat toto.asc
$ cat toto.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEVAwUAXstl1gIQcqcv68edAQI4pgf/TT3B7RAbvisXfhzaHqOSUQBw0ALzBz2W
ppyr+pwlXS40SUjgkoL0RLhXh+PQEwCE6Auge3Syu9hsVls00z3swOt3ICPAiW5J
akY5tLGby7D/391Jrgj5ezTo5T6ob0LvACVTra4VmSan6NBnixfIzEkB6fNVq/5p
GNc87XCaUPv6m96NFdNYBTz4/QYyqzIwz1XE7xkHs+EOZ2SLLbpJ3EGKW6MkgTeN
3YK/JPm1xj5qllBeCRlBtWszcinSjmssKxxpxMh2Mh8l9G4URCB2CJ08hepLFqO3
exxgMPfB9hfeaapacqkZd62evWk1om4kvm62OPorFPM244ajLTvTiw= > =fY/V
-----END PGP SIGNATURE-----
Vérification:
$ gpg --verify toto.asc
gpg: assuming signed data in `toto'
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHAEFER (GPG) "
ou:
$ gpg --verify toto.asc toto
gpg: Signature made Mon May 25 08:29:42 2020 CEST using RSA key ID 2FEBC79D
gpg: Good signature from "Marc SCHiAEFER (GPG) "

Merci pour l'exemple.
Avatar
Lulu
Le 26-05-2020, Nicolas George <nicolas$ a écrit :
"denis.paris" , dans le message <5eccb925$0$4047$,
a écrit :
Tu ne donnes pas l'information principale:

Tu as raison :
Je tape : gpg --verify fichier_signature fichier_signé


Comme Marc l'a signalé, nous avons besoin de savoir ce qu'il y a dans
fichier_signature. La sortie de file serait un bon début.

$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa
le fichier dont tu veux vérifier la signature est-il chiffré ou non?
Car ton message d'erreur semble indiquer que tu cherches à vérifier
un fichier en clair...

Non, aucun rapport. Le fait d'être signé est globalement indépendant du fait
d'être chiffré.

Ah... C'est bien ce qu'il me semblait.
Merci à tous pour votre aide.
Avatar
Nicolas George
Lulu , dans le message
, a écrit :
$ file fichier_signature
fichier_signature: ASCII text
$ cat fichier_signature
4ce260e8d65df43ce88d25f212dc27133d25fafa

Ce n'est pas une signature électronique, c'est un haché. Un haché, c'est une
« signature » dans un sens légèrement différent, une « empreinte digitale »
qui dépend du fichier seul mais ne t'apprend rien à son sujet. Une signature
électronique, ça dépend aussi de celui qui la génère, ça prouve une
identité.
Comme ça fait quarante chiffres hexadécimaux, donc 160 bits, c'est un SHA-1.
Donc on peut le générer avec :
sha1sum fichier_signé
Et il suffit de comparer.
On pourrait aussi le vérifier avec « sha1sum -c fichier_de_haché », mais il
faudrait que le de haché contienne le nom du fichier à vérifier.
Le fait que tu puisses le générer toi-même montre que ce n'est pas une
signature. Une signature, tu peux la vérifier mais pas la produire, c'est
bien le principe.
Note aussi que SHA-1 est considéré cassé : on sait générer deux fichiers qui
ont le même SHA-1, et même deux fichiers utiles. Donc ça ne te protège pas
contre quelqu'un qui voudrait te faire prendre ses vessies pour ses
lanternes. Ça te protège probablement contre quelqu'un qui voudrait te faire
prendre ses vessies pour les lanternes d'autrui, mais il vaut mieux ne pas y
compter.
Tel quel, ça te protège très bien contre une altération accidentelle.
1 2