[PHP-DOC] cvs: phpdoc /fr/functions openssl.xml
by Damien Seguy other posts by this author
Apr 3 2001 1:22PM messages near this date
[PHP-DOC] cvs: phpdoc /fr/functions uodbc.xml
|
[PHP-DOC] cvs: phpdoc /fr/pear standards.xml
This is a MIME encoded message
--dams986304179
Content-Type: text/plain
dams Tue Apr 3 06:22:59 2001 EDT
Modified files:
/phpdoc/fr/functions openssl.xml
Log:
Keeping up with en tree.
--dams986304179
Content-Type: text/plain
Content-Disposition: attachment; filename="dams-20010403062259.txt"
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érieuremen
t.
- </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 c
ertificats
+ 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&eacu
te; 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ésentatio
n textuelle comme
+ cité ci-dessus, et $passphrase représente une chaîne contenan
t 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 correc
t,
+ 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érificat
ion,
+ 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</paramete
r>
+ 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> recip
cert</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 fichi
er
+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 puiss
e
+ ê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&
eacute;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 ch
aque
+ 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" => "nighthawk@agent.com", // keyed syntax
+ "From: HQ <hq@cia.com>", // 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" => "joes@sales.com", // keyed syntax
+ "From: HQ <ceo@sales.com>", // 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 signatur
e est
+ invalide). <function> openssl_pkcs7_verify</function> retourne -1
+ en cas d'erreur de vérification (la vérification s'est mal déroul&
eacute;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é, i
l 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 doi
t
+ 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</lite
ral>
+ 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</parame
ter> .
+ </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&
eacute;ment)
+ non documentée, car elle se sujette à des changements probables.</emphasi
s>
+ </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:
--dams986304179--
Attachments:
unknown1
|