Wissensdatenbank
1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!
Eine reine PHP-Alternative installieren
Diese Anleitung 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 unterstützt 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.
- Falls erforderlich, können lokale Partner, die von Infomaniak referenziert werden, diese Schritte übernehmen: starten Sie eine kostenlose Ausschreibung; sie kümmern sich um alles, sodass Sie von den technischen Details entlastet werden — erfahren Sie auch mehr über die Rolle des Hosting-Anbieters.
Option 1: Crypt_GPG (Empfohlen)
Diese Bibliothek fungiert als Wrapper: Sie kommuniziert direkt mit dem auf Ihrem Cloud-Server installierten Binärprogramm gpg. Dies ist die leistungsfähigste 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 Verschlüsselung 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 vom Binärprogramm 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?