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.sig
eine Signatur für die Datei ist digests
mit digests.pub
als 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_cb
welche Anrufe RSA_verify
von der OpenSSL - Bibliothek. Aber ich habe nicht herausgefunden, was eingespeist wird oder ob es möglich ist, diese Funktion mit den openssl
Befehlszeilentools aufzurufen .
sha256sum digests
openssl rsautl -pubin -inkey digests.pub -verify -in digests.sig -asn1parse
scheint jedoch auch nicht übereinzustimmen .