dams Tue Apr 3 06:22:59 2001 EDT Modified files: /phpdoc/fr/functions openssl.xml Log: Keeping up with en tree.
Index: phpdoc/fr/functions/openssl.xml diff -u phpdoc/fr/functions/openssl.xml:1.4 phpdoc/fr/functions/openssl.xml:1.5 --- phpdoc/fr/functions/openssl.xml:1.4 Thu Mar 22 02:38:22 2001 +++ phpdoc/fr/functions/openssl.xml Tue Apr 3 06:22:59 2001 @@ -2,18 +2,269 @@ <title>OpenSSL</title> <titleabbrev>OpenSSL</titleabbrev> <partintro> - <para> - Cette extension utilise les fonctions de - <ulink url="&url.openssl;">OpenSSL</ulink> pour générer et vérifier - les signatures, ainsi que pour sceller (chiffrer) et ouvrir (déchiffrer) - les données. Vous avez besoin de OpenSSL >= 0.9.6 pour utiliser - ce module. - </para> - <para> - OpenSSL offre de nombreuses fonctionnalités qui ne sont pas - encore supportées par ce module. Elle seront ajoutées ultérieurement. - </para> + <sect1 id="openssl.intro"> + <title>Introduction</title> + <para> + Cette extension utilise les fonctions de + <ulink url="&url.openssl;">OpenSSL</ulink> pour générer + et vérifier les signatures, ainsi que pour sceller (chiffrer) + et ouvrir (déchiffrer) les données. Vous avez besoin de + OpenSSL >= 0.9.5 pour utiliser ce module. + </para> + <para> + Cette extension supporte aussi la signature et le cryptage des + courrier éléctroniques. Il est aussi possible de spécifier +des + couples clés/certificats d'un grand nombre de cas, qui rendent + le code PHP plus facile à lire. Ces fonctionnalités sont disponibles + en développement sur CVS, et probablement avec PHP 4.0.6. + <emphasis>ATTENTION : cette extension est encore expérimentale!</emphasis> + </para> + <para> + OpenSSL offre de nombreuses fonctionnalités qui ne sont pas + encore supportées par ce module. Elle seront ajoutées + ultérieurement. + </para> + </sect1> + <sect1 id="openssl.certparams"> + <title>Paramètres clés/certificats</title> + <para> + Un bon nombre de fonctions OpenSSL demandent une clé et un certificat + comme paramètres. PHP 4.0.5 et plus récent utilisait des +clés ou certificats + sous forme de ressource, retournée par l'une des fonctions +openssl_get_xxx(). + Les versions ultérieures utilisent l'une des méthodes suivantes : + <itemizedlist> + <listitem> + <para> + Certificats + <orderedlist> + <listitem> + <simpara> + Une ressource X.509 retournée par +<function>openssl_x509_read</function> + </simpara> + </listitem> + <listitem> + <simpara> + Une chaîne au format <filename>file://path/to/cert.pem</filename>; + Le fichier ainsi repéré doit contenir un certificat, +encodé au + format PEM + </simpara> + </listitem> + <listitem> + <simpara> + Une chaîne contenant le contenu d'un certificat, encodé au + format PEM. + </simpara> + </listitem> + </orderedlist> + </para> + </listitem> + <listitem> + <para> + Clés publiques/privée + <orderedlist> + <listitem> + <simpara> + Une ressource clé, retournée par la fonction + <function>openssl_get_publickey</function> ou + <function>openssl_get_privatekey</function> + </simpara> + </listitem> + <listitem> + <simpara> + Pour les clés publiques seulement : une ressource + X.509 + </simpara> + </listitem> + <listitem> + <simpara> + Une chaîne avec le format : +<filename>file://path/to/file.pem</filename>. + Le fichier doit contenir une clé privé ou un certificat, +encodé au + format PEM (il peut contenir les deux). + </simpara> + </listitem> + <listitem> + <simpara> + Une chaîne contenant une clé ou un certificat + encodé au format PEM + </simpara> + </listitem> + <listitem> + <simpara> + Pour les clés privées, vous pouvez aussi utiliser la syntaxe + <emphasis>array($key, $passphrase)</emphasis>, où $key +représente + une clé spécifiée par un fichier ou une +représentation textuelle comme + cité ci-dessus, et $passphrase représente une chaîne +contenant la + passe-phrase de cette clé privée. + </simpara> + </listitem> + </orderedlist> + </para> + </listitem> + </itemizedlist> + </para> + </sect1> + <sect1 id="openssl.cert.verification"> + <title>Vérification de certificats</title> + <para> + Lorsque vous appelez une fonction qui va vérifier une signature ou + un certificat, le paramètre <emphasis>cainfo</emphasis> doit être un + tableau contenant les noms d'un dossier et d'un fichier contenant les + tiers de confiance. Si un dossier est spécifié, il doit être +correct, + car <command>openssl</command> va l'utiliser. + </para> + </sect1> + <sect1 id="openssl.pkcs7.flags"> + <title>Constantes/flags PKCS7</title> + <para> + Les fonctions S/MIME utilisent des flags qui sont spécifiés par un + champs de bits. Les valeurs valides sont : + <table> + <title>Constantes PKCS7</title> + <tgroup cols="2"> + <thead> + <row> + <entry>Constante</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <row> + <entry>PKCS7_TEXT</entry> + <entry> + Ajoute le texte plein en clair dans les entêtes du message + signé/chiffré. Lors du déchiffrement ou la +vérification, + il supprime purement et simplement ces données. Si le + message chiffré ou signé n'est pas du type MIME, une erreur + surviendra. + </entry> + </row> + <row> + <entry>PKCS7_BINARY</entry> + <entry> + Normalement, le message est converti au format canonique + qui utilise effectivement des CR et LF comme fin de ligne, + comme demandé dans les spécification de S/MIME. + Lorsque cette option est activée, le message ne sera + pas converti. Cela sert lorsque vous manipulez des données + binaires qui ne sont pas au format MIME. + </entry> + </row> + <row> + <entry>PKCS7_NOINTERN</entry> + <entry> + Lors de la vérification d'un message, les certificats + (s'il y en a) inclus dans le message sont normalement + utilisé pour rechercher le certificat de signature. Avec + cette option, seul le certificat spécifié par le + paramètre <parameter>extracerts</parameter> de la fonction + <function>openssl_pkcs7_verify</function> est utilisé. + Les certificats fournis peuvent toujours être utilisé, + avec un niveau de confiance réduit. + </entry> + </row> + <row> + <entry>PKCS7_NOVERIFY</entry> + <entry> + Ne vérifie pas les certificats des signataires d'un message + signé. + </entry> + </row> + <row> + <entry>PKCS7_NOCHAIN</entry> + <entry> + N'enchaine pas les vérifications des signataires de certificats. + C'est à dire, n'utilise pas les certificats contenu dans le + message. + </entry> + </row> + <row> + <entry>PKCS7_NOCERTS</entry> + <entry> + Lors de la signature d'un message, le certificat du signataire + est normalement inclus. Avec cette option, c'est désactivé. + Cela va réduire la taille du message, mais le vérificateur + devra avoir une copie local du certificat du signataire + (passée au paramètre <parameter>extracerts</parameter>, avec + la fonction <function>openssl_pkcs7_verify</function>). + </entry> + </row> + <row> + <entry>PKCS7_NOATTR</entry> + <entry> + Normalement, lorsqu'un message est signé, un jeu d'attributs + contenant l'heure de signature et l'algorithme symétrique + supporté, est inclus dans le message. Avec cette option, + il n'est pas inclus. + </entry> + </row> + <row> + <entry>PKCS7_DETACHED</entry> + <entry> + Lors de la signature d'un message, utilise la signature + en texte claire, avec le type MIME "multipart/signed". + C'est la valeur par défaut du paramètre +<parameter>flags</parameter> + pour la fonction <function>openssl_pkcs7_sign</function>. + Si vous annulez cette optoin, le message sera signé de +manière + opaque, ce qui resiste mieux à la traduction des relais mails + (certains serveur mail anciens corrompent les messages), mais + empêche la lecture par les client mails qui ne connaissent pas + S/MIME. + </entry> + </row> + <row> + <entry>PKCS7_NOSIGS</entry> + <entry> + Ne vérifie pas les signatures d'une message + </entry> + </row> + </tbody> + </tgroup> + </table> + </para> + </sect1> </partintro> + <refentry id="function.openssl-error-string"> + <refnamediv> + <refname>openssl_error_string</refname> + <refpurpose>Retourne le message d'erreur OpenSSL</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>mixed <function>openssl_error_string</function></funcdef> + <paramdef>void<parameter></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_error_string</function> retourne un message d'erreur, + sous forme de chaîne de caractères, ou <literal>FALSE</literal> +s'il n'y a + pas de message d'erreur. + </para> + <para> + <function>openssl_error_string</function> retourne la dernière erreur de + la librairie OpenSSL. Les messages d'erreurs sont empilés, et + <function>openssl_error_string</function> doit être appelé +plusieurs fois + pour afficher toutes les erreurs. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + <para> + <example> + <title>Exemple avec <function>openssl_error_string</function></title> + <programlisting role="php"> +<?php +// Imaginons que vous avez appelé une fonction qui a émis une erreur +while($msg = openssl_error_string) + echo $msg . "<br>"; +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> <refentry id="function.openssl-free-key"> <refnamediv> <refname>openssl_free_key</refname> @@ -43,7 +294,7 @@ <funcsynopsis> <funcprototype> <funcdef>resource <function>openssl_get_privatekey</function></funcdef> - <paramdef>string <parameter>key</parameter></paramdef> + <paramdef>mixed <parameter>key</parameter></paramdef> <paramdef>string <parameter><optional>passphrase</optional></parameter></paramdef> </funcprototype> </funcsynopsis> @@ -70,7 +321,7 @@ <funcsynopsis> <funcprototype> <funcdef>resource <function>openssl_get_publickey</function></funcdef> - <paramdef>string <parameter>certificate</parameter></paramdef> + <paramdef>mixed <parameter>certificate</parameter></paramdef> </funcprototype> </funcsynopsis> <para> @@ -97,7 +348,7 @@ <paramdef>string <parameter>sealed_data</parameter></paramdef> <paramdef>string <parameter>open_data</parameter></paramdef> <paramdef>string <parameter>env_key</parameter></paramdef> - <paramdef>resource <parameter>priv_key_id</parameter></paramdef> + <paramdef>mixed <parameter>priv_key_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> @@ -110,7 +361,8 @@ <function>openssl_open</function> ouvre (déchiffre) les données <parameter>sealed_data</parameter> en utilisant la clé prviée <parameter>priv_key_id</parameter> et la clé d'enveloppe - <parameter>env_key</parameter>. La clé d'enveloppe est + <parameter>env_key</parameter> et remplis <parameter>open_data</parameter> + avec les données déchiffrées. La clé d'enveloppe est générée lorsque les données sont scellées, et ne peut être utilisée qu'avec la clé privée spécifique. Reportez vous à @@ -225,7 +477,7 @@ <funcdef>bool <function>openssl_sign</function></funcdef> <paramdef>string <parameter>data</parameter></paramdef> <paramdef>string <parameter>signature</parameter></paramdef> - <paramdef>resource <parameter>priv_key_id</parameter></paramdef> + <paramdef>mixed <parameter>priv_key_id</parameter></paramdef> </funcprototype> </funcsynopsis> <para> @@ -323,6 +575,440 @@ </simpara> </refsect1> </refentry> + <refentry id="function.openssl-pkcs7-decrypt"> + <refnamediv> + <refname>openssl_pkcs7_decrypt</refname> + <refpurpose>Déchiffre un message S/MIME</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>openssl_pkcs7_decrypt</function></funcdef> + <paramdef>string <parameter>infilename</parameter></paramdef> + <paramdef>string <parameter>outfilename</parameter></paramdef> + <paramdef>mixed <parameter>recipcert</parameter></paramdef> + <paramdef>mixed <parameter>recipkey</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_pkcs7_decrypt</function> déchiffre le message S/MIME + contenu dans le fichier <parameter>infilename</parameter>, en utilisant le + certificat et la clé privée spécifiés par +<parameter>recipcert</parameter> et + <parameter>recipkey</parameter>. Le message déchiffré sera +écrit dans le + fichier <parameter>outfilename</parameter>. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + <para> + <example> + <title>Exemple avec <function>openssl_pkcs7_decrypt</function></title> + <programlisting role="php"> +<?php +// $cert et $key contiennent vos certificats et clés privés +// On suppose aussi que le message vous est destiné +$infilename = "encrypted.msg"; // Le message chiffré +$outfilename = "decrypted.msg"; // Assurez vous de bien pouvoir écrire dans ce +fichier +if (openssl_pkcs7_decrypt($infilename, $outfilename, $cert, $key)) + echo "déchiffré!"; +else + echo "impossible de déchiffrer!"; +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-pkcs7-encrypt"> + <refnamediv> + <refname>openssl_pkcs7_encrypt</refname> + <refpurpose>Chiffre un message S/MIME</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>openssl_pkcs7_encrypt</function></funcdef> + <paramdef>string <parameter>infilename</parameter></paramdef> + <paramdef>string <parameter>outfilename</parameter></paramdef> + <paramdef>mixed <parameter>recipcerts</parameter></paramdef> + <paramdef>array <parameter>headers</parameter></paramdef> + <paramdef>long <parameter><optional>flags</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_pkcs7_encrypt</function> prend le contenu du fichier + <parameter>infilename</parameter> et le chiffre en utilisant un + chiffrement RC2 à 40-bit, de manière à ce que le message ne +puisse + être lu que par le possesseur de <parameter>recipcerts</parameter>, + qui peut être un certificat X.509, ou un tableau de certificats X.509. + <parameter>headers</parameter> est un tableau d'entête qui sera + ajouté en tête de message, une fois que les données auront +été + chiffrées. <parameter>flags</parameter> peut être utilisé +pour spécifier + des options qui affecteront le chiffrement (voir les + <link linkend="openssl.pkcs7.flags">constantes PKCS7</link>). + <parameter>headers</parameter> peut être un tableau associatif, dont + les clés sont les noms d'entête, ou bien un tableau indexé +dont chaque + ligne contient une ligne d'entête complète. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + <para> + <example> + <title>Exemple avec <function>openssl_pkcs7_encrypt</function></title> + <programlisting role="php"> +<?php +// le message que vous souhaitez chiffrer et envoyer à votre agent secret +// en mission commandée, appelé "nighthawk". Vous avez son certificat +// dans le fichir "nighthawk.pem" +$data = <<<EOD +Nighthawk, +Top secret, uniquement vous votre lecture! +L'ennemi approche! Rendez vous au café à 8h30, +pour votre faux passeport. +HQ +EOD; +// sauvez le message dans un fichier +$fp = fopen("msg.txt", "w"); +fwrite($fp, $data); +fclose($fp); +// chiffrez le +if (openssl_pkcs7_encrypt("msg.txt", "enc.txt", "nighthawk.pem", + array("To" => "[EMAIL PROTECTED]", // keyed syntax + "From: HQ <[EMAIL PROTECTED]>", // indexed syntax + "Subject" => "Eyes only"))) +{ + // message chiffré : envoyez le! + exec(ini_get("sendmail_path") . " < enc.txt"); +} +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-pkcs7-sign"> + <refnamediv> + <refname>openssl_pkcs7_sign</refname> + <refpurpose>signe un message S/MIME</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>openssl_pkcs7_sign</function></funcdef> + <paramdef>string <parameter>infilename</parameter></paramdef> + <paramdef>string <parameter>outfilename</parameter></paramdef> + <paramdef>mixed <parameter>signcert</parameter></paramdef> + <paramdef>mixed <parameter>privkey</parameter></paramdef> + <paramdef>array <parameter>headers</parameter></paramdef> + <paramdef>long + <parameter><optional>flags</optional></parameter></paramdef> + <paramdef>string + <parameter><optional>extracertsfilename</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_pkcs7_sign</function> prend le contenu du fichier + <parameter>infilename</parameter> et le signe en utilisant le + certificat et la clé privée contenus dans les arguments + <parameter>signcert</parameter> et <parameter>privkey</parameter>. + </para> + <para> + <parameter>headers</parameter> est un tableau d'entête qui + sera ajouté au données chiffrées (voir la fonction + <function>openssl_pkcs7_encrypt</function> pour plus de détails sur + le format du paramètre). + </para> + <para> + <parameter>flags</parameter> sert à modifier le message final. + Voyez les <link linkend="openssl.pkcs7.flags">constantes PKCS7</link>. Par + défaut, la valeur est : PKCS7_DETACHED. + </para> + <para> + <parameter>extracerts</parameter> spécifi le nom du fichier contenant + un ensemble de certificat supplémentaires à inclure dans la + signature, qui pourront aider le destinataire à vérifier les + données que vous utilisez. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + <para> + <example> + <title><function>openssl_pkcs7_sign</function> example</title> + <programlisting role="php"> +<?php +// le message que vous voulez signer, afin que le destinataire soit sûr qu'il +// vient bien de vous +$data = <<<EOD +Tu peux dépenser jusqu'à 10000 euros en note de frais. +Ton boss +HQ +EOD; +// sauvez le message dans un fichier +$fp = fopen("msg.txt", "w"); +fwrite($fp, $data); +fclose($fp); +// chiffrez le +if (openssl_pkcs7_sign("msg.txt", "signed.txt", "mycert.pem", + array("mycert.pem", "mypassphrase"), + array("To" => "[EMAIL PROTECTED]", // keyed syntax + "From: HQ <[EMAIL PROTECTED]>", // indexed syntax + "Subject" => "Eyes only")) +{ + // message signed - send it! + exec(ini_get("sendmail_path") . " < signed.txt"); +} +?> + </programlisting> + </example> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-pkcs7-verify"> + <refnamediv> + <refname>openssl_pkcs7_verify</refname> + <refpurpose>Vérifie la signature d'un message S/MIME</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>openssl_pkcs7_verify</function></funcdef> + <paramdef>string <parameter>filename</parameter></paramdef> + <paramdef>int <parameter>flags</parameter></paramdef> + <paramdef>string +<parameter><optional>outfilename</optional></parameter></paramdef> + <paramdef>array <parameter><optional>cainfo</optional></parameter></paramdef> + <paramdef>string +<parameter><optional>extracerts</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_pkcs7_verify</function> lit le message S/MIME contenu + dans le fichier <parameter>filename</parameter> et examine la signature + digitale. <function>openssl_pkcs7_verify</function> retourne + <literal>TRUE</literal> si la signature est vérifiée, et +<literal>FALSE</literal> + sinon (le message a été modifié, ou bien le certificat de +signature est + invalide). <function>openssl_pkcs7_verify</function> retourne -1 + en cas d'erreur de vérification (la vérification s'est mal +déroulée, aucune + conclusion possible). + </para> + <para> + <parameter>flags</parameter> sert à modifier le message final. + Voyez les <link linkend="openssl.pkcs7.flags">constantes PKCS7</link>. Par + défaut, la valeur est : PKCS7_DETACHED. + </para> + <para> + Si le paramètre <parameter>outfilename</parameter> est +spécifié, il doit + être une chaîne contenant le nom d'un fichier qui contient le +certificat + du signataire, au format PEM. + </para> + <para> + Si le paramètre <parameter>cainfo</parameter> est spécifié, +il doit + contenir les informations sur les tiers de certificats de confiance + utilisé lors de la vérification. Voyez + <link linkend="openssl.cert.verification">vérification des +certificats</link> + pour plus de détails. + </para> + <para> + Si le paramètre <parameter>extracerts</parameter> est +spécifié, il doit + représenter le nom d'un fichier contenant un ensemble de + certificat utilisé comme certificats de peu de confiance. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-x509-checkpurpose"> + <refnamediv> + <refname>openssl_x509_checkpurpose</refname> + <refpurpose>Vérifie l'usage d'un certificat</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>bool <function>openssl_x509_checkpurpose</function></funcdef> + <paramdef>mixed <parameter>x509cert</parameter></paramdef> + <paramdef>int <parameter>purpose</parameter></paramdef> + <paramdef>array <parameter>cainfo</parameter></paramdef> + <paramdef>string + <parameter><optional>untrustedfile</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_x509_checkpurpose</function> <literal>TRUE</literal> si le + certificat peut être utilisé pour un but particulier, +<literal>FALSE</literal> + s'il ne le peut pas, et -1 en cas d'erreur. + </para> + <para> + <function>openssl_x509_checkpurpose</function> examine le certificat + specifié par <parameter>x509cert</parameter>, pour voir s'il peut +être + utilisé pour une opération particulière +<parameter>purpose</parameter>. + </para> + <para> + <parameter>cainfo</parameter> doit être un tableau de dossiers/fichiers + de CA de confiance comme décrit + dans la + <link linkend="openssl.cert.verification">Vérification des +certificats</link>. + </para> + <para> + <parameter>untrustedfile</parameter>, si spécifié, est le nom d'un + fichier au format PEM contenant les certificats qui pourront aider + lors de la vérification du certificat, même si une confiance +limitée + doit leur être portée. + </para> + <para> + <emphasis>Les paramètres et le type de retour de cette fonction risquent + d'evoluer d'ici à la prochaine version de PHP.</emphasis> + </para> + <para> + <table> + <title>Utilisations de <function>openssl_x509_checkpurpose</function></title> + <tgroup cols="2"> + <thead> + <row> + <entry>Constante</entry> + <entry>Description</entry> + </row> + </thead> + <tbody> + <row> + <entry>X509_PURPOSE_SSL_CLIENT</entry> + <entry> + Est ce que le certificat peut être utilisé avec le client d'une + connexion SSL? + </entry> + </row> + <row> + <entry>X509_PURPOSE_SSL_SERVER</entry> + <entry> + Est ce que le certificat peut être utilisé avec le serveur d'une + connexion SSL? + </entry> + </row> + <row> + <entry>X509_PURPOSE_NS_SSL_SERVER</entry> + <entry> + Est ce que le certificat peut être utilisé avec un serveur + Netscape d'une connexion SSL? + </entry> + </row> + <row> + <entry>X509_PURPOSE_SMIME_SIGN</entry> + <entry> + Est ce que le certificat peut être utilisé pour signer des + courrier à la norme S/MIME? + </entry> + </row> + <row> + <entry>X509_PURPOSE_SMIME_ENCRYPT</entry> + <entry> + Est-ce que le certificat peut être utilisé pour + chiffrer un courrier au format S/MIME? + </entry> + </row> + <row> + <entry>X509_PURPOSE_CRL_SIGN</entry> + <entry> + Est-ce que le certificat peut être utilisé pour + chiffrer une liste de revocation de certificat? + (CRL)? + </entry> + </row> + <row> + <entry>X509_PURPOSE_ANY</entry> + <entry> + Est-ce que le certificat peut être utilisé pour + n'importe lequel de ces cas? + </entry> + </row> + </tbody> + </tgroup> + </table> + Ces options ne sont pas des champs de bits : vous ne pouvez en + passer qu'une seule à la fois. + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-x509-free"> + <refnamediv> + <refname>openssl_x509_free</refname> + <refpurpose>Libère les ressources prises par un certificat</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>void <function>openssl_x509_free</function></funcdef> + <paramdef>resource <parameter>x509cert</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_x509_free</function> libère les ressources prises + par le certificat <parameter>x509cert</parameter> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-x509-parse"> + <refnamediv> + <refname>openssl_x509_parse</refname> + <refpurpose>Analyse un certificat X509.</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>array <function>openssl_x509_parse</function></funcdef> + <paramdef>mixed <parameter>x509cert</parameter></paramdef> + <paramdef>bool + <parameter><optional>shortnames</optional></parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_x509_parse</function> analyse le certificat X509 + <parameter>x509cert</parameter>, et retourne les informations contenues + dedans, y compris le sujet (subject), nom (name), émetteur (issuer name), + dates de début et de fin (valid from date et valid to date), etc... + <parameter>shortnames</parameter> contrôle l'indexation des données +dans + le tableau : si <parameter>shortnames</parameter> vaut <literal>TRUE</literal> + (valeur par défaut), alors les champs seront indexés avec la forme + courte des noms, sinon, les noms longs seront utilisés. + (par exemple, <literal>CN</literal> est le nom court de + <literal>commonName</literal>). + </para> + <para> + <emphasis>La structure des données retournées est +(délibérément) + non documentée, car elle se sujette à des changements +probables.</emphasis> + </para> + </refsect1> + </refentry> + <refentry id="function.openssl-x509-read"> + <refnamediv> + <refname>openssl_x509_read</refname> + <refpurpose>Analyse un certificat X.509 et retourne une ressource</refpurpose> + </refnamediv> + <refsect1> + <title>Description</title> + <funcsynopsis> + <funcprototype> + <funcdef>resource <function>openssl_x509_read</function></funcdef> + <paramdef>mixed <parameter>x509certdata</parameter></paramdef> + </funcprototype> + </funcsynopsis> + <para> + <function>openssl_x509_read</function> analyse le certificat + <parameter>x509certdata</parameter> et retourne un identifiant de ressource. + </para> + </refsect1> + </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: