gnupg Fonctions
Introduction
Ce module vous permet d'interagir avec » gnupg.
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 : » https://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é.
Example#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;
?>
Example#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($res,"just a test");
echo $signed;
?>
Table of Contents
- 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é