Der folgende Befehl wurde ausgeführt und der Inhalt von content_file, signature_file und id_rsa.pub (oder pem) wird in eine Postgres-Datenbank eingefügt.Gibt es eine Möglichkeit, einen signierten Digest in Postgres zu verifizieren?
openssl dgst -sign id_rsa content_file > signature_file
Gibt es eine Möglichkeit zu überprüfen, ob die Signatur mit dem Inhalt/öffentlichen Schlüssel innerhalb Postgres entspricht?
Ich habe mir die pgcrypto Funktionen angeschaut, aber die einzige relevante Funktion scheint pgp_pub_decrypt zu sein, die den geheimen Schlüssel benötigt.
Grundsätzlich Ich suche folgend in Postgres auszuführen:,
openssl dgst -verify .\id_rsa.pem -signature .\signature_file .\content_file
pgcrypto unterstützt mit OpenPGP-Nachrichten Validierung verdauen, aber ich bin nicht sicher, dass es ein einfaches rsa bietet Digest Prüfer. Laden Sie eine Bibliothek von 'plpythonu' oder' plperlu' oder etwas? Oder wickeln Sie die entsprechenden OpenSSL-Aufrufe in eine C-Erweiterung ein? –
@CraigRinger Ich zögere, die nicht vertrauenswürdigen Bibliotheken zu verwenden. Die C-Erweiterung ist eine Option, allerdings mit dem Aufwand, sie für jedes Release zu kompilieren. Würde pgcrypto die Funktionalität bieten, nach der ich suche, wenn ich gpg --sign anstelle von openssl dgst -sign verwende? – jzacharuk
Ich dachte schon, aber ich sehe keine Funktionen dafür. Vielleicht könnten Sie es patchen, um Verifizierungsunterstützung hinzuzufügen und einen Patch für zukünftige Versionen an den Core zu senden. Was "nicht vertrauenswürdig" angeht, bedeutet das nur, dass sie alles tun können, wie eine C-Erweiterung. Sie müssen also vorsichtig sein, was Sie schreiben, und sie sind nicht für Nicht-Superuser verfügbar, um beliebigen Code zu schreiben. Genauso wie C-Erweiterungen, aber ohne Kompiliere es mit jedem Release neu. Ich würde wahrscheinlich plperlu oder plpythonu meinen ersten Halt in dieser Situation machen. –