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"
  • Verschlüsseln einer Datei mit RSA in Python
  • Ich muss sicher einen Benutzernamen und ein Passwort in Python speichern, was sind meine Optionen?
  • RSA Verschlüsselung und Entschlüsselung in Python
  • Wie kann ich in Python verschlüsseln und in Java entschlüsseln?
  • Sicher verschlüsseln Sie ganzzahlige (bis zu 2 ^ 48) in den kürzesten URL-sicheren String
  • XOR Python Text Verschlüsselung / Entschlüsselung
  • Pythons sicherste Methode zum Speichern und Abrufen von Passwörtern aus einer Datenbank
  • Python crypt in OSX
  • Verschlüsselung einer JPG-Datei mit picrypro's AES fehlgeschlagen
  • Was ist der Unterschied zwischen Blowfish und Blowfish-Compat?
  • Python ist die beste Programmiersprache der Welt.