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. |
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
- 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)
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.
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"; } ?>
|
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; ?>
|
|