2016-11-20 4 views
0

Wir schalteten vor kurzem über Ubuntu 16.04 und dort mit fragen senden für PHP 7.0Um verschlüsselte Nachrichten mit GPG in PHP 7 für Passwort

No i laufen, um Problem mit einem unserer PHP-Skripte, dieses Skript aktualisiert reif die Mail-Schnittstelle von reif und senden GPG signierte Mail an sie, die sie für die Authentifizierung verwenden. Aber jetzt fragt der php cli nach einem Passwort, das mit dem Schlüssel verwendet werden soll. Wie kann ich diese Passphrase Frage verhindern, die ich versuchte, die Passphrase vom Schlüssel zu entfernen, aber das half nicht.

meine PHP-Code sieht wie folgt aus:

$gpgkey = "some thubprint of a key"; 
$gpgpwd = "Secret"; 
$res = gnupg_init(); 
gnupg_addsignkey($res,$gpgkey,$gpgpwd); 
$updatemessages = "test"; 
$signedupdatemessages = gnupg_sign($res, $updatemessages); 

Hoffnung einige die sollution

Mit freundlichen Grüßen weiß,

Bas van den Dikkenberg

Antwort

0

Ubuntu 16.04 Schiffe eine ziemlich aktuelle Version von GnuPG, das das Setzen einer Passphrase ohne pinentry ohne weitere Probleme nicht erlaubt. Dies liegt daran, dass die ziemlich große (und somit zu Sicherheitsproblemen neigende) GnuPG-Anwendung nicht in der Lage sein sollte, auf private Schlüssel und Passphrasen zuzugreifen, daher werden diese Operationen in die kleinere extrahiert (die nun nach der Passphrase fragt).

Das Entfernen der Passphrase/Einstellung auf eine leere Passphrase sollte gut funktionieren, achten Sie darauf, die Passphrase für den richtigen Benutzer zu setzen (GnuPG hat Keystores pro Systembenutzer).

Der "GnuPG-2.0-Weg" von setting a passphrase is using the gpg-preset-passphrase utility, der normalerweise in /usr/lib/gnupg2/gpg-preset-passphrase für Debian und abgeleitete Distributionen installiert ist. Sie müssen diesen Vorgang ermöglichen, indem allow-preset-passphrase zu ~/.gnupg/gpg-agent.conf Zugabe und

/usr/lib/gnupg2/gpg-preset-passphrase -c [keygrip] 

laufen, während das Passwort auf STDIN Bereitstellung (do nicht Verwendung echo oder die -P Option, in beide Richtungen mit allen anderen Systembenutzern das Passwort lesen können !). Der Keygrip kann durch Ausführen von gpg2 --with-keygrip --list-secret-keys abgerufen werden.

+0

Dis nicht lösen isue in php :-( –

Verwandte Themen