Base de connaissances
1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !
Installer une alternative PHP pure
Ce guide explique comment utiliser GnuPG / PGP avec PHP sur un Serveur Cloud Infomaniak, suite à l'obsolescence de l'extension native (des alternatives "PHP pur" ou des wrappers modernes sont privilégiés).
Préambule
- L'extension système
PHP_GnuPGn'est plus maintenue par la communauté PHP et n'est donc plus disponible sur les environnements récents. - Deux alternatives principales en "Pure PHP" (installables via Composer) permettent de continuer à signer ou chiffrer vos données en toute sécurité.
- En cas de besoin, des partenaires locaux et référencés par Infomaniak peuvent s'occuper de ces démarches : lancez un appel d'offres gratuit ; ils s'occupent de tout, vous libérant des détails techniques — découvrez aussi le rôle de l'hébergeur.
Option 1 : Crypt_GPG (Recommandé)
Cette bibliothèque agit comme un wrapper : elle communique directement avec le binaire gpg installé sur votre Serveur Cloud. C'est la solution la plus performante et la plus stable.
Pour l'installer, connectez-vous en SSH et exécutez cette commande à la racine de votre projet :
# Install the PEAR Crypt_GPG package via Composer
composer require pear/crypt_gpgExemple d'utilisation pour chiffrer un message (approche orientée objet) :
<?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 (Indépendant)
Cette bibliothèque est intégralement écrite en PHP. Son avantage majeur est qu'elle ne dépend pas du binaire gpg du serveur, garantissant une portabilité totale de votre code entre différents environnements.
# Install the OpenPGP.php library
composer require singpolyma/openpgp-phpExemple de structure de base :
<?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));Lien vers cette FAQ:
Cette FAQ a été utile?