Ich versuche, eine Signatur eines Pakets auf der FreeBSD-Paketwebsite zu überprüfen
wget http://pkg.freebsd.org/FreeBSD:11:amd64/latest/digests.txz
tar xf digests.txz
Dies gibt drei Dateien: digests, digests.pub digests.sig
Ich nehme an, dass digests.sigeine Signatur für die Datei ist digestsmit digests.pubals der öffentlichen Schlüssel. Aber ich habe versucht, das zu bestätigen:
openssl dgst -verify digests.pub -signature digests.sig digests
und bekam die Nachricht
Verification Failure
Ich nehme an, ich habe etwas falsch gemacht - kann mir jemand sagen, was ich vermisse?
EDIT: Basierend auf einer Jagd durch den Quellcode, ich denke , die wichtige Funktion zu finden ist hier , genannt , rsa_verify_cert_cbwelche Anrufe RSA_verifyvon der OpenSSL - Bibliothek. Aber ich habe nicht herausgefunden, was eingespeist wird oder ob es möglich ist, diese Funktion mit den opensslBefehlszeilentools aufzurufen .
sha256sum digests
openssl rsautl -pubin -inkey digests.pub -verify -in digests.sig -asn1parsescheint jedoch auch nicht übereinzustimmen .