Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
Installeer een alternatieve, pure PHP-versie
Deze handleiding legt uit hoe u GnuPG / PGP kunt gebruiken met PHP op een Cloudserver van Infomaniak, aangezien de native extensie verouderd is (er wordt de voorkeur gegeven aan alternatieven in "puur PHP" of moderne wrappers).
Inleiding
- De systeemextensie
PHP_GnuPGwordt niet langer onderhouden door de PHP-community en is daarom niet meer beschikbaar in recente omgevingen. - Er zijn twee belangrijke alternatieven in "Pure PHP" (die via Composer kunnen worden geïnstalleerd) waarmee u uw gegevens veilig kunt blijven ondertekenen of versleutelen.
Optie 1: Crypt_GPG (Aanbevolen)
Deze bibliotheek fungeert als een wrapper: het communiceert rechtstreeks met het gpg-programma dat op uw Cloud Server is geïnstalleerd. Dit is de meest efficiënte en stabiele oplossing.
Om het te installeren, logt u in via SSH en voert u dit commando uit in de hoofdmap van uw project:
# Install the PEAR Crypt_GPG package via Composer
composer require pear/crypt_gpgVoorbeeld van het gebruik om een bericht te versleutelen (objectgeoriënteerde aanpak):
<?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();
}
Optie 2: OpenPGP.php (Onafhankelijk)
Deze bibliotheek is volledig geschreven in PHP. Het belangrijkste voordeel is dat het niet afhankelijk is van het gpg-binaire bestand op de server, wat een totale portabiliteit van uw code tussen verschillende omgevingen garandeert.
# Install the OpenPGP.php library
composer require singpolyma/openpgp-phpVoorbeeld van een basisstructuur:
<?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 naar deze veelgestelde vragen: https://faq.infomaniak.com/954
Is deze veelgestelde vragenlijst nuttig geweest?