Utilisation pour signer et chiffrer

Nous allons maintenant enfin utiliser GnuPG pour envoyer et recevoir des messages signés et/ou chiffrés.

Signer un message

Pour envoyer un message signé, il suffit de taper la commande gpg -s -u toto -a fichierdumessage

-s signifie --sign, -u signifie --local-user et -a signifie --armor.

On peut aussi signer un message en mode interactif: Il ne faut pas donner de nom de fichier, puis taper le message sur l'entrée standard et faire Ctrl+D.

L'option -u toto est facultative. Elle n'est nécessaire que si vous avez plusieurs clés privées pour plusieurs adresses mail.

Une signature est alors générée par GPG:

bash-2.05b$ gpg --sign -u toto -a
gpg: WARNING: using insecure memory!
gpg: please see http://www.gnupg.org/faq.html for more information

You need a passphrase to unlock the secret key for
user: "Antoine (ToTo) <toto@toto.com>"
1024-bit DSA key, ID 2F3C1A23, created 2003-12-27

azerty            
-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.3 (GNU/Linux)
...
-----END PGP MESSAGE-----
bash-2.05b$

Il ne reste plus qu'à envoyer cette signature et le message non chiffré au destinataire

Il est aussi possible de faire générer un message contenant le message en clair et sa signature avec la commande gpg -a --clearsign

GPG générera alors un message comme celui-ci :

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

azerty
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
...
-----END PGP SIGNATURE-----

Il suffit alors de n'envoyer que ce message au destinataire.

Dans tous les cas, on peut enlever l'option -a / --armor pour obtenir une sortie binaire. Par contre il faut mieux armer la signature si elle transite par mail (sur 7 bits).