Fehlerbehebung beim GnuPG-Fehler "get_key failed", der durch falsche Dateisystemberechtigungen verursacht wurde

1

Situation : Wir planen, die GnuPG-Erweiterung von PHP zum Ver- / Entschlüsseln von Dateien zu verwenden.

Derzeit haben wir einige Testfälle mit Schlüsseln eingerichtet, die mit GPG generiert wurden.

Die generierten Dateien befinden sich in:

/Users/username/.gnupg/

Ich kann nach keyinfodem Schlüssel suchen, den ich zum Ver- / Entschlüsseln verwenden möchte, aber wenn ich versuche, ihn zu verwenden addencryptkey, erhalte ich:

(E_WARNING: 2): gnupg::addencryptkey() [gnupg.addencryptkey]: get_key failed

Ich denke, das liegt an den Berechtigungen für den ~/.gnupgOrdner und die beigefügten Dateien.

Die Dateien gehören mir - username, aber Apache läuft wie www.

Vor ein paar Tagen funktionierte dies, aber jedes Mal, wenn ich GPG Keychain Access zum Importieren / Exportieren eines Schlüssels verwende, werden die Berechtigungen des Ordners geändert.

Frage : Welche genauen Berechtigungen sind erforderlich, damit GnuPG von PHP Verschlüsselungs- und Entschlüsselungsschlüssel hinzufügen kann?

Michael Robinson
quelle

Antworten:

3

Michaels '660'-Antwort hat es nicht für mich getan. Die einzige Möglichkeit, über genügend Berechtigungen zu verfügen, ohne die Warnung "Unsichere Berechtigungen" zu erhalten, bestand darin, 700 auszuführen. Nicht mehr und nicht weniger.

Hier sind meine Befehle (Ubuntu-Variante)

sudo -i
cd /var/www/.gnupg
chown -R www-data:www-data .
chmod -R 700 .

In meinem Fall bestand das Problem auch darin, dass gnupg_addencryptkey bereits importierte Schlüsselfingerabdrücke laden soll. Also habe ich stattdessen die Funktion gnupg_import verwendet, wie in der PHP-Dokumentation beschrieben: http://php.net/manual/en/function.gnupg-import.php

Willbradley
quelle