Sto cercando di verificare una firma di un pacchetto sul sito Web del pacchetto FreeBSD
wget http://pkg.freebsd.org/FreeBSD:11:amd64/latest/digests.txz
tar xf digests.txz
Questo dà tre file: digests, digests.pub digests.sig
lo prendo che digests.sigè una firma per il file digestscon digests.publa chiave pubblica. Ma ho provato a confermare che:
openssl dgst -verify digests.pub -signature digests.sig digests
e ho ricevuto il messaggio
Verification Failure
Presumo di aver sbagliato qualcosa: qualcuno può dirmi cosa mi sto perdendo?
EDIT: Basato su una caccia attraverso il codice sorgente, penso che l'importante funzione si trovi qui , chiamata rsa_verify_cert_cbquali chiamate RSA_verifydalla libreria openssl. Ma non ho capito cosa sia stato alimentato o se è possibile chiamare quella funzione usando gli opensslstrumenti da riga di comando.
sha256sum digests
openssl rsautl -pubin -inkey digests.pub -verify -in digests.sig -asn1parsenon sembra corrispondere sia.