Manuel PHP
Précédent |  | Suivant

# XLVII. 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 1. 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 2. 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("juste un test"); echo $signed; ?>`

Précédent | Sommaire | Suivant
gmp_xor | Niveau supérieur | gnupg_adddecryptkey