LII. gnupg Fonctions

Introduction

Ce module vous permet d'interagir avec » gnupg.

AVERTISSEMENT

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Pré-requis

L'extension gnupg requiert PHP 4.3. Pour utiliser cette extension dans le style orienté objet, PHP 5 est requis.

Cette extension requière la » bibliothèque gpgme

Installation

L'extension gnupg n'est pas intégrée avec PHP. Il s'agit d'une extension » PECL et elle peut être trouvée ici : » http://pecl.php.net/package/gnupg.

Constantes pré-définies

GNUPG_SIG_MODE_NORMAL (entier)
GNUPG_SIG_MODE_DETACH (entier)
GNUPG_SIG_MODE_CLEAR (entier)
GNUPG_VALIDITY_UNKNOWN (entier)
GNUPG_VALIDITY_UNDEFINED (entier)
GNUPG_VALIDITY_NEVER (entier)
GNUPG_VALIDITY_MARGINAL (entier)
GNUPG_VALIDITY_FULL (entier)
GNUPG_VALIDITY_ULTIMATE (entier)
GNUPG_PROTOCOL_OpenPGP (entier)
GNUPG_PROTOCOL_CMS (entier)
GNUPG_SIGSUM_VALID (entier)
GNUPG_SIGSUM_GREEN (entier)
GNUPG_SIGSUM_RED (entier)
GNUPG_SIGSUM_KEY_REVOKED (entier)
GNUPG_SIGSUM_KEY_EXPIRED (entier)
GNUPG_SIGSUM_KEY_MISSING (entier)
GNUPG_SIGSUM_SIG_EXPIRED (entier)
GNUPG_SIGSUM_CRL_MISSING (entier)
GNUPG_SIGSUM_CRL_TOO_OLD (entier)
GNUPG_SIGSUM_BAD_POLICY (entier)
GNUPG_SIGSUM_SYS_ERROR (entier)
GNUPG_ERROR_WARNING (entier)
GNUPG_ERROR_EXCEPTION (entier)
GNUPG_ERROR_SILENT (entier)

Notes

Cette extension utilise le trousseau de l'usager courant. Ce trousseau est normalement situé dans ~./.gnupg/. Pour spécifier un emplacement différent, enregistrer le chemin de votre trousseau dans la variable d'environnement GNUPGHOME. Voyez putenv pour plus d'information pour savoir comment faire cela.

Certaines fonctions requièrent la spécification d'une clé. Cette spécification peut être quelque chose qui réfère à une clé unique (userid, key-id, fingerprint, ...). Cette documentation utilise les fingerprint dans tous les exemples.

keylistiterator

Cette extension vient aussi avec un Itérateur pour votre trousseau. <?php
// Crée un nouvel itérateur pour lister toutes les clés publiques qui
// correspondent à 'exemple'
$iterator = new gnupg_keylistiterator("exemple");
foreach(
$iterator as $fingerprint => $userid){
    echo 
$fingerprint." -> ".$userid."\n";
}
?>

Exemples

Cet exemple signera en clair un texte donné.

Exemple 968. Exemple avec gnupg clearsign (Style procédural)

<?php
// initialise gnupg
$res gnupg_init();
// pas vraiment besoin. Clearsign est par défaut
gnupg_setsignmode($res,GNUPG_SIG_MODE_CLEAR);
// ajoute une clé avec une passphrase 'test' pour signer
gnupg_addsignkey($res,"8660281B6051D071D94B5B230549F9DC851566DC","test");
// signer
$signed gnupg_sign("juste un test");
echo 
$signed;
?>

Exemple 969. Exemple avec gnupg clearsign (Style orienté objet)

<?php
// nouvelle classe
$gnupg = new gnupg();
// pas vraiment besoin. Clearsign est par défaut
$gnupg->setsignmode(gnupg::SIG_MODE_CLEAR);
// ajoute une clé avec une passphrase 'test' pour signer
$gnupg->addsignkey("8660281B6051D071D94B5B230549F9DC851566DC","test");
// signer
$signed gnupg_sign($res,"just a test");
echo 
$signed;
?>

Table des matières

gnupg_adddecryptkey — Ajoute une clé pour déchiffrement
gnupg_addencryptkey — Ajoute une clé pour chiffrement
gnupg_addsignkey — Ajoute une clé pour signer
gnupg_cleardecryptkeys — Supprime toutes les clés qui étaient fixées pour déchiffrement auparavant
gnupg_clearencryptkeys — Supprime toutes les clés qui étaient fixées pour chiffrement auparavant
gnupg_clearsignkeys — Supprime toutes les clés qui étaient fixées pour signature auparavant
gnupg_decrypt — Déchiffre un texte donné
gnupg_decryptverify — Déchiffre et vérifie un texte donné
gnupg_encrypt — Chiffre un texte donné
gnupg_encryptsign — Chiffre et signe un texte donné
gnupg_export — Exporte une clé
gnupg_geterror — Retourne le texte d'erreur, si une fonction échoue
gnupg_getprotocol — Retourne le protocole actif courant pour toutes les opérations
gnupg_import — Importe une clé
gnupg_keyinfo — Retourne un tableau avec les informations à propos de toutes les clés qui correspondent au motif donné
gnupg_setarmor — Change la sortie blindée
gnupg_seterrormode — Fixe le mode pour error_reporting
gnupg_setsignmode — Fixe le mode pour signer
gnupg_sign — Signe un texte donné
gnupg_verify — Vérifie un texte signé