Oltre a proteggere il contenuto di un documento PGP permette di applicare ad esso la firma digitale con il metodo a doppia chiave visto nelle lezioni precedenti del corso.
Per firmare un file si utilizza il terzo pulsante (Sign) presente nel PGPtools, e dopo aver selezionato il file che ci interessa, è necessario inserire la propria passphrase, che come armai avrete capito ci viene chiesta ogni volta che il programma deve utilizzare la nostra chiave segreta. Fatto questo viene creato, nella stessa directory del file di origine, un file apparentemente con lo stesso nome ma con estensione .sig, contraddistinto dall'icona con il foglio firmato. Ora chiunque è in possesso della nostra chiave pubblica può controllare la firma posta sul documento. È sufficiente fare doppio click sul file e, dopo qualche istante, verrà visualizzata una finestra che ci conferma la firma e la data e l'ora in cui è stata applicata.
Se al posto di un file abbiamo la necessità di firmare un semplice testo, bisogna seguire una procedura simile a quella usata per cifrare. Una volta copiato negli appunti di windows, dall'icona nella barre delle applicazioni premere Clipboard -> Sign, inserire la passphrase e incollare il contenuto degli appunti in un file di testo, che avrà all'incirca il seguente contenuto:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Prova PGP per HTML.it -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 7.0.3 for non-commercial use <HTTP: www.pgp.com> iQA/AwUBO02Kmaw7fOzd0wvfEQL6SwCg0BTiogk3xubRBMB2FHtvdSkOPKQAoLpO 2i5onhXfJi5TC7FAeW158M7Q =jXGn -----END PGP SIGNATURE-----
Come si può notare il testo ("Prova PGP per HTML.it") è perfettamente leggibile, infatti abbiamo solo firmato e non cifrato il messaggio. Per controllare la firma il procedimento è inverso. Dopo aver copiato negli appunti il messaggio firmato, premere Clipboard -> Decrypt and Verify e incollare il nuovo contenuto degli appunti in un editor di testo. Il nuovo messaggio ci conferma la firma, la data e l'ora in cui è stata applicata:
*** PGP Signature Status: good *** Signer: Matteo Zinato <MZINATO@HTML.IT> *** Signed: 12/07/01 13.31.37 *** Verified: 12/07/01 13.32.55 *** BEGIN PGP VERIFIED MESSAGE *** Prova PGP per HTML.it *** END PGP VERIFIED MESSAGE ***