Python – GPG entschlüsselt funktioniert aber GNUPG nicht

Ich benutze Pythons gnupg, um eine Datei zu entschlüsseln, die ich mit Python heruntergeladen habe:

gpg = gnupg.GPG(gnupghome="/home/myname/.gnupg") with open('updates/'+filelist[i],'r') as f: print "Decrypting "+fn status=gpg.decrypt_file(f, passphrase="passphrase",output='updates/'+fn) print 'ok: ', status.ok print 'stderr: ',status.stderr 

Das sagt nicht, dass "geheimer Schlüssel nicht verfügbar" ist. Allerdings, wenn ich gpg -d Dateiname aus Terminal die Datei entschlüsselt ohne Fehler. Ich habe gpg -K verwendet und überprüft, dass das geheime Zertifikat / Schlüssel verwendet, um die Datei zu verschlüsseln importiert + vertrauenswürdig etc.

Das läuft alles auf Ubuntu Server 12.04.

Kann jemand vorschlagen, wie kann ich diesen Fehler umgehen?

One Solution collect form web for “Python – GPG entschlüsselt funktioniert aber GNUPG nicht”

Sei bewusst, dass GnuPG der "echte" Name von gpg , der nur der Name der Binärdatei ist. Die Python-API heißt python-gnupg.

Das Problem wird höchstwahrscheinlich durch fehlende Zugriffsrechte verursacht. Wie Sie bereits erkannt haben, hat jeder Systembenutzer ein eigenes GnuPG-Home-Verzeichnis (also hat das GnuPG-Verzeichnis eines anderen Nutzers bereitgestellt), das nicht von anderen zugänglich ist. Vergewissern Sie sich, dass Ihr Webserver-Benutzer (wahrscheinlich www-data ) Zugriff auf /home/myname/.gnupg , den privaten Schlüssel besser exportieren und ihn aus dem Webserver-Benutzer /home/myname/.gnupg (GnuPG verfügt nicht über umfangreiche Zugriffsrechte und kann eine Warnung senden oder Verweigern, überhaupt zu laufen).

Sie können testen, ob das wirklich das Problem ist, indem man sudo -u www-data 'gpg --home-dir /home/myname/.gnupg -d filename (also gpg unter dem Benutzer des Webservers ausführen).

  • Python-passlib: Was ist der beste Wert für "Runden"
  • Python-Code, der RSA verschlüsselte Datei in Chunks von 64 Bit unter Verwendung eines privaten Exponenten und Moduls entschlüsselt
  • Alte Python Hashing von links nach rechts - warum ist es schlecht?
  • XOR Python Text Verschlüsselung / Entschlüsselung
  • Wie kann ich einen String in Python verschlüsseln und entschlüsseln?
  • Wie AES verschlüsseln / entschlüsseln Dateien mit Python / PyCrypto in einer OpenSSL-kompatiblen Weise?
  • Python und PGP / Verschlüsselung
  • Kann nicht 256-Bits-Zähler in AES.MODE_CTR Chiffre in Python verwenden
  • AES-Verschlüsselung in Node.js, um die erwartete Entschlüsselung in Python zu erfüllen
  • Entschlüsseln einer Datei in einen Stream und Lesen des Streams in Pandas (hdf oder stata)
  • Verschlüsseln von Passwörtern auf POST Django
  • Python ist die beste Programmiersprache der Welt.