Kennisbank

1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!

Installeer een alternatieve, pure PHP-versie

Bijwerken 01-09-2026

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_GnuPG wordt 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_gpg

Voorbeeld 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-php

Voorbeeld 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?