Ziemlich gute Privatsphäre
Kommentare

Übrigens ist es auch möglich ohne die beiden temporären Eingabe- und Ausgabedateien zu arbeiten, aber dann handelt man sich eventuell Probleme ein wenn die zu verschlüsselnden Daten größer sind,

Übrigens ist es auch möglich ohne die beiden temporären Eingabe- und Ausgabedateien zu arbeiten, aber dann handelt man sich eventuell Probleme ein wenn die zu verschlüsselnden Daten größer sind, deshalb bevorzuge ich die Dateien. Außerdem ist dann der Klartext in der Prozessliste des Betriebssystems sichtbar. Listing 3 zeigt ein alternatives Skript ohne temporäre Dateien.

Listing 3
&1';
$result = shell_exec($command);

if (strlen($result) > 0 && strpos($result, '-----BEGIN PGP MESSAGE-----') === 0) {
    sendMail($recipient, $emailSubject, $result, $emailHeader);

    echo 'E-Mail erfolgreich versandt.';
} else {
    echo "Es gab ein Problem. Rückgabe:n".$result;
}

Wenn man dieses Skript auf der Konsole ausführt erhält man die folgende Ausgabe:

$ php pgp.php 
gpg: keyring `/var/www/project/.gnupg/secring.gpg' created
gpg: keyring `/var/www/project/.gnupg/pubring.gpg' created
gpg: info@phpgangsta.de: skipped: public key not found
gpg: /private/tmp/PGP.asc2PVho5: encryption failed: public key not found
Es gab ein Problem. Rückgabewert: 2

gpg legt also zwei Schlüsselbunde an, da noch keine existieren, und versucht dann den öffentlichen Schlüssel für den Empfänger zu lesen. Da dieser im pubring nicht existiert, kann die Verschlüsselung nicht funktionieren.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -