Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Eine reine PHP-Alternative installieren
Dieser Leitfaden erklärt, wie man GnuPG / PGP mit PHP auf einem Infomaniak Cloud-Server verwendet, nachdem die native Erweiterung veraltet ist (es werden "reine PHP"-Alternativen oder moderne Wrapper bevorzugt).
Vorwort
- Die Systemerweiterung
PHP_GnuPGwird von der PHP-Community nicht mehr gewartet und ist daher auf neueren Umgebungen nicht mehr verfügbar. - Zwei Hauptalternativen in "Pure PHP" (installierbar über Composer) ermöglichen es, Ihre Daten weiterhin sicher zu signieren oder zu verschlüsseln.
Option 1: Crypt_GPG (Empfohlen)
Diese Bibliothek fungiert als Wrapper: Sie kommuniziert direkt mit der auf Ihrem Cloud-Server installierten Binärdatei gpg. Es ist die leistungsstärkste und stabilste Lösung.
Um sie zu installieren, melden Sie sich per SSH an und führen Sie diesen Befehl im Stammverzeichnis Ihres Projekts aus:
# Install the PEAR Crypt_GPG package via Composer
composer require pear/crypt_gpgBeispiel für die Verwendung zum Verschlüsseln einer Nachricht (objektorientierter Ansatz):
<?php
require_once 'vendor/autoload.php';
try {
// Initialize the GPG object
$gpg = new Crypt_GPG();
// Set the recipient email (must match a public key already imported on the server)
$gpg->addEncryptKey('contact@example.com');
$message = "This is a secret message.";
// Encrypt the data
$enveloppe = $gpg->encrypt($message);
echo $enveloppe;
} catch (Exception $e) {
// Handle potential encryption errors
echo "Error: " . $e->getMessage();
}
Option 2: OpenPGP.php (Unabhängig)
Diese Bibliothek ist vollständig in PHP geschrieben. Ihr größter Vorteil ist, dass sie nicht von der Binärdatei gpg des Servers abhängt, was eine vollständige Portabilität Ihres Codes zwischen verschiedenen Umgebungen garantiert.
# Install the OpenPGP.php library
composer require singpolyma/openpgp-phpBeispiel für die grundlegende Struktur:
<?php
require_once 'vendor/autoload.php';
// Use the library classes to handle OpenPGP packets
// directly in PHP without system calls to the GPG binary.
// Example: $msg = OpenPGP_Message::parse(OpenPGP::unarmor($data));Link zu dieser FAQ:
War diese FAQ nützlich?