[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR]po4a://manpages-fr-extra/openssl/po4a/d2i/po/fr.po



Salut,

La nouvelle version d’openssl a ajouté de nouvelles pages, y compris
d2i_CMS_ContentInfo.3ssl, d2i_ECPKParameters.3ssl et
d2i_ECPrivateKey.3ssl, et a ajouté quelques chaînes à d2i_X509.3ssl.

Par avance merci pour vos relectures de cette petite mise à jour. En
pièce jointe, le différentiel ainsi que les pages de manuels concernées
dans cette section. Le fichier complet est en ligne :

https://anonscm.debian.org/cgit/pkg-manpages-fr/manpages-fr-extra.git/tree/openssl/po4a/d2i/po/fr.po

Amicalement

David
diff --git a/openssl/po4a/d2i/po/fr.po b/openssl/po4a/d2i/po/fr.po
index 09b9f67..74091cb 100644
--- a/openssl/po4a/d2i/po/fr.po
+++ b/openssl/po4a/d2i/po/fr.po
@@ -2,19 +2,19 @@
 # Copyright (C) 2008, 2009, 2012, 2013, 2015 Free Software Foundation, Inc.
 # This file is distributed under the same license as the openssl package.
 #
 # Nicolas François <nicolas.francois@centraliens.net>, 2008, 2009.
 # David Prévot <david@tilapin.org>, 2012, 2013, 2015.
 msgid ""
 msgstr ""
 "Project-Id-Version: openssl\n"
 "POT-Creation-Date: 2015-05-06 17:00-0400\n"
-"PO-Revision-Date: 2015-05-05 18:45-0400\n"
+"PO-Revision-Date: 2015-05-07 16:42-0400\n"
 "Last-Translator: David Prévot <david@tilapin.org>\n"
 "Language-Team: French <debian-l10n-french@lists.debian.org>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 "X-Generator: Lokalize 1.5\n"
 
@@ -116,19 +116,19 @@ msgid "SEE ALSO"
 msgstr "VOIR AUSSI"
 
 #. type: textblock
 #: C/crypto/d2i_ASN1_OBJECT.pod:23 C/crypto/d2i_CMS_ContentInfo.pod:23
 #: C/crypto/d2i_DHparams.pod:24 C/crypto/d2i_DSAPublicKey.pod:77
 #: C/crypto/d2i_RSAPublicKey.pod:61 C/crypto/d2i_X509_ALGOR.pod:24
 #: C/crypto/d2i_X509_CRL.pod:31 C/crypto/d2i_X509_NAME.pod:25
 #: C/crypto/d2i_X509_REQ.pod:30 C/crypto/d2i_X509_SIG.pod:24
 msgid "L<d2i_X509(3)|d2i_X509(3)>"
-msgstr "L<d2i_X509(3)|d2i_X509(3)>"
+msgstr "L<B<d2i_X509>(3)|d2i_X509(3)>"
 
 #. type: =head1
 #: C/crypto/d2i_ASN1_OBJECT.pod:25 C/crypto/d2i_CMS_ContentInfo.pod:25
 #: C/crypto/d2i_DHparams.pod:26 C/crypto/d2i_DSAPublicKey.pod:79
 #: C/crypto/d2i_RSAPublicKey.pod:63 C/crypto/d2i_X509.pod:255
 #: C/crypto/d2i_X509_ALGOR.pod:26 C/crypto/d2i_X509_CRL.pod:33
 #: C/crypto/d2i_X509_NAME.pod:27 C/crypto/d2i_X509_REQ.pod:32
 #: C/crypto/d2i_X509_SIG.pod:26 C/crypto/i2d_CMS_bio_stream.pod:40
 #: C/crypto/i2d_PKCS7_bio_stream.pod:40
@@ -142,66 +142,63 @@ msgstr "HISTORIQUE"
 #: C/crypto/d2i_X509_NAME.pod:29 C/crypto/d2i_X509_REQ.pod:34
 #: C/crypto/d2i_X509_SIG.pod:28
 msgid "TBA"
 msgstr "À préciser"
 
 #. type: textblock
 #: C/crypto/d2i_CMS_ContentInfo.pod:5
 msgid "d2i_CMS_ContentInfo, i2d_CMS_ContentInfo - CMS ContentInfo functions"
 msgstr ""
+"d2i_CMS_ContentInfo, i2d_CMS_ContentInfo - Fonctions de CMS ContentInfo"
 
 #. type: verbatim
 #: C/crypto/d2i_CMS_ContentInfo.pod:9 C/crypto/i2d_CMS_bio_stream.pod:9
 #, no-wrap
 msgid ""
 " #include <openssl/cms.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/cms.h>\n"
+"B< #include E<lt>openssl/cms.hE<gt>>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_CMS_ContentInfo.pod:11
-#, fuzzy, no-wrap
-#| msgid ""
-#| " ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, unsigned char **pp, long length);\n"
-#| " int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp);\n"
-#| "\n"
+#, no-wrap
 msgid ""
 " CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **a, unsigned char **pp, long length);\n"
 " int i2d_CMS_ContentInfo(CMS_ContentInfo *a, unsigned char **pp);\n"
 "\n"
 msgstr ""
-" ASN1_OBJECT *d2i_ASN1_OBJECT(ASN1_OBJECT **a, unsigned char **pp, long length);\n"
-" int i2d_ASN1_OBJECT(ASN1_OBJECT *a, unsigned char **pp);\n"
+"B< CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **>I<a>B<,> \\\n"
+"                                      B<unsigned char **>I<pp>B<,> \\\n"
+"                                      B<long> I<length>B<);>\n"
+" B<int i2d_CMS_ContentInfo(CMS_ContentInfo *>I<a>B<, unsigned char **>I<pp>B<);>\n"
 "\n"
 
 #. type: textblock
 #: C/crypto/d2i_CMS_ContentInfo.pod:16
-#, fuzzy
-#| msgid "These functions decode and encode a PKCS#10 certificate request."
 msgid "These functions decode and encode an CMS ContentInfo structure."
-msgstr "Ces fonctions décodent et encodent une requête de certificat PKCS#10."
+msgstr "Ces fonctions décodent et encodent une structure CMS ContentInfo."
 
-# NOTE: Othewise -> Otherwise ??
 #. type: textblock
 #: C/crypto/d2i_CMS_ContentInfo.pod:18
 msgid ""
 "Otherwise they behave in a similar way to d2i_X509() and i2d_X509()  "
 "described in the L<d2i_X509(3)|d2i_X509(3)> manual page."
 msgstr ""
-"Ces fonctions se comportent de façon similaire à d2i_X509() et i2d_X509(), "
-"décrites dans la page de manuel L<d2i_X509(3)|d2i_X509(3)>."
+"Ces fonctions se comportent de façon similaire à B<d2i_X509>() et "
+"B<i2d_X509>(), décrites dans la page de manuel L<B<d2i_X509>(3)|d2i_X509(3)>."
 
 #. type: textblock
 #: C/crypto/d2i_CMS_ContentInfo.pod:27
 msgid "These functions were first added to OpenSSL 0.9.8"
 msgstr ""
+"Ces fonctions ont été ajoutées pour la première fois dans OpenSSL 0.9.8."
 
 #. type: textblock
 #: C/crypto/d2i_DHparams.pod:5
 msgid "d2i_DHparams, i2d_DHparams - PKCS#3 DH parameter functions."
 msgstr "d2i_DHparams, i2d_DHparams - Fonctions pour les paramètres DH PKCS#3"
 
 #. type: verbatim
 #: C/crypto/d2i_DHparams.pod:9
 #, no-wrap
@@ -483,390 +480,385 @@ msgstr ""
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:5
 msgid ""
 "d2i_ECPKParameters, i2d_ECPKParameters, d2i_ECPKParameters_bio, "
 "i2d_ECPKParameters_bio, d2i_ECPKParameters_fp, i2d_ECPKParameters_fp, "
 "ECPKParameters_print, ECPKParameters_print_fp - Functions for decoding and "
 "encoding ASN1 representations of elliptic curve entities"
 msgstr ""
+"d2i_ECPKParameters, i2d_ECPKParameters, d2i_ECPKParameters_bio, "
+"i2d_ECPKParameters_bio, d2i_ECPKParameters_fp, i2d_ECPKParameters_fp, "
+"ECPKParameters_print, ECPKParameters_print_fp - Fonctions pour décoder et "
+"encoder des representations ASN1 d’entités de courbes elliptiques"
 
 #. type: verbatim
 #: C/crypto/d2i_ECPKParameters.pod:9 C/crypto/d2i_ECPrivateKey.pod:10
 #, no-wrap
 msgid ""
 " #include <openssl/ec.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/ec.h>\n"
+"B< #include E<lt>openssl/ec.hE<gt>>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_ECPKParameters.pod:11
 #, no-wrap
 msgid ""
 " EC_GROUP *d2i_ECPKParameters(EC_GROUP **px, const unsigned char **in, long len);\n"
 " int i2d_ECPKParameters(const EC_GROUP *x, unsigned char **out);\n"
 " #define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x)\n"
 " #define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x)\n"
 " #define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \\\n"
 "                (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x))\n"
 " #define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \\\n"
 "\t\t(unsigned char *)(x))\n"
 " int     ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off);\n"
 " int     ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off);\n"
 "\n"
 msgstr ""
+"B< EC_GROUP *d2i_ECPKParameters(EC_GROUP **>I<px>B<,> \\\n"
+"                              B<const unsigned char **>I<in>B<,> \\\n"
+"                              B<long> I<len>B<);>\n"
+" B<int i2d_ECPKParameters(const EC_GROUP *>I<x>B<, unsigned char **>I<out>B<);>\n"
+" B<#define d2i_ECPKParameters_bio(>I<bp>B<,>I<x>B<)> \\\n"
+" \t\tB<ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,>I<bp>,I<x>B<)>\n"
+" B<#define i2d_ECPKParameters_bio(>I<bp>B<,>I<x>B<)> \\\n"
+" \t\tB<ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,>I<bp>B<,>I<x>B<)>\n"
+" B<#define d2i_ECPKParameters_fp(>I<fp>B<,>I<x>B<) (EC_GROUP *)ASN1_d2i_fp(NULL,> \\\n"
+" \t\tB<(char *(*)())d2i_ECPKParameters,(>I<fp>B<),(unsigned char **)(>I<x>B<))>\n"
+" B<#define i2d_ECPKParameters_fp(>I<fp>B<,>I<x>B<)> \\\n"
+" \t\tB<ASN1_i2d_fp(i2d_ECPKParameters,(>I<fp>B<),> \\\n"
+" \t\tB<(unsigned char *)(>I<x>B<))>\n"
+" B<int     ECPKParameters_print(BIO *>I<bp>B<, const EC_GROUP *>I<x>B<, int> I<off>B<);>\n"
+" B<int     ECPKParameters_print_fp(FILE *>I<fp>B<, const EC_GROUP *>I<x>B<, int> I<off>B<);>\n"
+"\n"
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:25
-#, fuzzy
-#| msgid ""
-#| "The X509 encode and decode routines encode and parse an B<X509> "
-#| "structure, which represents an X509 certificate."
 msgid ""
 "The ECPKParameters encode and decode routines encode and parse the public "
 "parameters for an B<EC_GROUP> structure, which represents a curve."
 msgstr ""
-"Les routines d'encodage et décodage X509 encodent et analysent une structure "
-"B<X509>, qui représente un certificat X509."
+"Les routines d'encodage et décodage ECPKParameters encodent et analysent les "
+"paramètres publics pour une structure B<EC_GROUP>, qui représente une courbe."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:28
-#, fuzzy
-#| msgid ""
-#| "d2i_X509() attempts to decode B<len> bytes at B<*in>. If successful a "
-#| "pointer to the B<X509> structure is returned. If an error occurred then "
-#| "B<NULL> is returned. If B<px> is not B<NULL> then the returned structure "
-#| "is written to B<*px>. If B<*px> is not B<NULL> then it is assumed that "
-#| "B<*px> contains a valid B<X509> structure and an attempt is made to reuse "
-#| "it. If the call is successful B<*in> is incremented to the byte following "
-#| "the parsed data."
 msgid ""
 "d2i_ECPKParameters() attempts to decode B<len> bytes at B<*in>. If "
 "successful a pointer to the B<EC_GROUP> structure is returned. If an error "
 "occurred then B<NULL> is returned. If B<px> is not B<NULL> then the returned "
 "structure is written to B<*px>. If B<*px> is not B<NULL> then it is assumed "
 "that B<*px> contains a valid B<EC_GROUP> structure and an attempt is made to "
 "reuse it. If the call is successful B<*in> is incremented to the byte "
 "following the parsed data."
 msgstr ""
-"B<d2i_X509>() essaye de décoder I<len> octets à I<*in>. En cas de réussite, "
-"un pointeur vers la structure B<X509> est renvoyé. Si une erreur survient, "
-"alors B<NULL> est renvoyé. Si I<px> n'est pas B<NULL>, alors la structure "
-"renvoyée est écrite en I<*px>. Si I<*px> n'est pas B<NULL>, alors il est "
-"supposé que I<*px> contient une structure B<X509> valable et une tentative "
-"est faite pour la réutiliser. Si l'appel a réussi, I<*in> est incrémenté à "
-"l'octet qui suit les données analysées."
+"B<d2i_ECPKParameters>() essaye de décoder I<len> octets à B<*>I<in>. En cas "
+"de réussite, un pointeur vers la structure B<EC_GROUP> est renvoyé. Si une "
+"erreur survient, alors B<NULL> est renvoyé. Si I<px> n'est pas B<NULL>, "
+"alors la structure renvoyée est écrite en B<*>I<px>. Si B<*>I<px> n'est pas "
+"B<NULL>, alors B<*>I<px> est supposé contenir une structure B<EC_GROUP> "
+"valable et une tentative est faite pour la réutiliser. Si l'appel a réussi, "
+"B<*>I<in> est incrémenté à l'octet qui suit les données analysées."
 
 # NOTE: s/is writes/it writes/
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:37
-#, fuzzy
-#| msgid ""
-#| "i2d_X509() encodes the structure pointed to by B<x> into DER format.  If "
-#| "B<out> is not B<NULL> is writes the DER encoded data to the buffer at "
-#| "B<*out>, and increments it to point after the data just written.  If the "
-#| "return value is negative an error occurred, otherwise it returns the "
-#| "length of the encoded data."
 msgid ""
 "i2d_ECPKParameters() encodes the structure pointed to by B<x> into DER "
 "format.  If B<out> is not B<NULL> is writes the DER encoded data to the "
 "buffer at B<*out>, and increments it to point after the data just written.  "
 "If the return value is negative an error occurred, otherwise it returns the "
 "length of the encoded data."
 msgstr ""
-"B<i2d_X509>() encode la structure pointée par I<x> au format DER. Si I<out> "
-"n'est pas B<NULL>, les données encodées en DER sont écrites dans le tampon à "
-"I<*out>, et il est incrémenté pour pointer après les données qui viennent "
-"d'être écrites. Si la valeur de retour est négative, une erreur est "
-"survenue, sinon la taille des données encodées est renvoyée."
+"B<i2d_ECPKParameters>() encode la structure pointée par I<x> au format DER. "
+"Si I<out> n'est pas B<NULL>, les données encodées en DER sont écrites dans "
+"le tampon à B<*>I<out>, et il est incrémenté pour pointer après les données "
+"qui viennent d'être écrites. Si la valeur de retour est négative, une erreur "
+"est survenue, sinon la taille des données encodées est renvoyée."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:43
-#, fuzzy
-#| msgid ""
-#| "For OpenSSL 0.9.7 and later if B<*out> is B<NULL> memory will be "
-#| "allocated for a buffer and the encoded data written to it. In this case "
-#| "B<*out> is not incremented and it points to the start of the data just "
-#| "written."
 msgid ""
 "If B<*out> is B<NULL> memory will be allocated for a buffer and the encoded "
 "data written to it. In this case B<*out> is not incremented and it points to "
 "the start of the data just written."
 msgstr ""
-"Depuis OpenSSL 0.9.7, si I<*out> est B<NULL>, la mémoire sera allouée pour "
-"un tampon et les données encodées y seront écrites. Dans ce cas, I<*out> "
-"n'est pas incrémenté et il pointe au début des données qui viennent d'être "
-"écrites."
+"Si B<*>I<out> est B<NULL>, la mémoire sera allouée pour un tampon et les "
+"données encodées y seront écrites. Dans ce cas, B<*>I<out> n'est pas "
+"incrémenté et il pointe au début des données qui viennent d'être écrites."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:47
-#, fuzzy
-#| msgid ""
-#| "d2i_X509_bio() is similar to d2i_X509() except it attempts to parse data "
-#| "from BIO B<bp>."
 msgid ""
 "d2i_ECPKParameters_bio() is similar to d2i_ECPKParameters() except it "
 "attempts to parse data from BIO B<bp>."
 msgstr ""
-"B<d2i_X509_bio>() est similaire à B<d2i_X509>(), à la différence qu'elle "
-"essaye d'analyser les données du BIO I<bp>."
+"B<d2i_ECPKParameters_bio>() est similaire à B<d2i_ECPKParameters>(), à la "
+"différence qu'elle essaye d'analyser les données du BIO I<bp>."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:50
-#, fuzzy
-#| msgid ""
-#| "d2i_X509_fp() is similar to d2i_X509() except it attempts to parse data "
-#| "from FILE pointer B<fp>."
 msgid ""
 "d2i_ECPKParameters_fp() is similar to d2i_ECPKParameters() except it "
 "attempts to parse data from FILE pointer B<fp>."
 msgstr ""
-"B<d2i_X509_fp>() est similaire à B<d2i_X509>(), à la différence qu'elle "
-"essaye d'analyser les données du pointeur FILE I<fp>."
+"B<d2i_ECPKParameters_fp>() est similaire à B<d2i_ECPKParameters>(), à la "
+"différence qu'elle essaye d'analyser les données du pointeur FILE I<fp>."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:53
-#, fuzzy
-#| msgid ""
-#| "i2d_X509_bio() is similar to i2d_X509() except it writes the encoding of "
-#| "the structure B<x> to BIO B<bp> and it returns 1 for success and 0 for "
-#| "failure."
 msgid ""
 "i2d_ECPKParameters_bio() is similar to i2d_ECPKParameters() except it writes "
 "the encoding of the structure B<x> to BIO B<bp> and it returns 1 for success "
 "and 0 for failure."
 msgstr ""
-"B<i2d_X509_bio>() est similaire à B<i2d_X509>(), à la différence qu'elle "
-"écrit l'encodage de la structure I<x> dans le BIO I<bp> et renvoie B<1> en "
-"cas de réussite et B<0> en cas d'échec."
+"B<i2d_ECPKParameters_bio>() est similaire à B<i2d_ECPKParameters>(), à la "
+"différence qu'elle écrit l'encodage de la structure I<x> dans le BIO I<bp> "
+"et renvoie B<1> en cas de réussite et B<0> en cas d'échec."
 
 # NOTE: s/BIO B<bp>/FILE pointer B<fp>/
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:57
-#, fuzzy
-#| msgid ""
-#| "i2d_X509_fp() is similar to i2d_X509() except it writes the encoding of "
-#| "the structure B<x> to BIO B<bp> and it returns 1 for success and 0 for "
-#| "failure."
 msgid ""
 "i2d_ECPKParameters_fp() is similar to i2d_ECPKParameters() except it writes "
 "the encoding of the structure B<x> to BIO B<bp> and it returns 1 for success "
 "and 0 for failure."
 msgstr ""
-"B<i2d_X509_fp>() est similaire à B<i2d_X509>(), à la différence qu'elle "
-"écrit l'encodage de la structure I<x> dans le pointeur FILE I<fp> et renvoie "
-"B<1> en cas de réussite et B<0> en cas d'échec."
+"B<i2d_ECPKParameters_fp>() est similaire à B<i2d_ECPKParameters>(), à la "
+"différence qu'elle écrit l'encodage de la structure I<x> dans le pointeur "
+"FILE I<fp> et renvoie B<1> en cas de réussite et B<0> en cas d'échec."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:61
-#, fuzzy
-#| msgid ""
-#| "The usage of all of these functions is similar to the d2i_X509() and "
-#| "i2d_X509() described in the L<d2i_X509(3)|d2i_X509(3)> manual page."
 msgid ""
 "These functions are very similar to the X509 functions described in "
 "L<d2i_X509(3)|d2i_X509(3)>, where further notes and examples are available."
 msgstr ""
-"L'utilisation de toutes ces fonctions est similaire à l'utilisation de "
-"B<d2i_X509>() et B<i2d_X509>() décrite dans la page de manuel L<d2i_X509(3)|"
-"d2i_X509(3)>."
+"Ces fonctions sont très similaire aux fonctions X509 décrites dans "
+"L<B<d2i_X509>(3)|d2i_X509(3)>, où d’autres notes et exemples sont fournis."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:64
 msgid ""
 "The ECPKParameters_print and ECPKParameters_print_fp functions print a human-"
 "readable output of the public parameters of the EC_GROUP to B<bp> or B<fp>. "
 "The output lines are indented by B<off> spaces."
 msgstr ""
+"Les fonctions B<ECPKParameters_print>() et B<ECPKParameters_print_fp>() "
+"affichent au format lisible les paramètres publics de l’EC_GROUP pour I<bp> "
+"ou I<fp>. Les ligne affichées sont indentés de I<off> espaces."
 
 #. type: =head1
 #: C/crypto/d2i_ECPKParameters.pod:67 C/crypto/d2i_ECPrivateKey.pod:45
 #: C/crypto/d2i_X509.pod:235 C/crypto/i2d_CMS_bio_stream.pod:28
 #: C/crypto/i2d_PKCS7_bio_stream.pod:28 C/ssl/d2i_SSL_SESSION.pod:62
 msgid "RETURN VALUES"
 msgstr "VALEURS DE RETOUR"
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:69
 msgid ""
 "d2i_ECPKParameters(), d2i_ECPKParameters_bio() and d2i_ECPKParameters_fp() "
 "return a valid B<EC_GROUP> structure or B<NULL> if an error occurs."
 msgstr ""
+"B<d2i_ECPKParameters>(), B<d2i_ECPKParameters_bio>() et "
+"B<d2i_ECPKParameters_fp>() renvoient une structure B<EC_GROUP> valable ou "
+"B<NULL> si une erreur est survenue."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:72
-#, fuzzy
-#| msgid ""
-#| "i2d_X509() returns the number of bytes successfully encoded or a negative "
-#| "value if an error occurs. The error code can be obtained by "
-#| "L<ERR_get_error(3)|ERR_get_error(3)>."
 msgid ""
 "i2d_ECPKParameters() returns the number of bytes successfully encoded or a "
 "negative value if an error occurs."
 msgstr ""
-"B<i2d_X509>() renvoie le nombre d'octets encodés ou une valeur négative en "
-"cas d'erreur. Le code d'erreur peut être obtenu à l'aide de "
-"L<ERR_get_error(3)|ERR_get_error(3)>."
+"B<i2d_ECPKParameters>() renvoie le nombre d'octets encodés ou une valeur "
+"négative en cas d'erreur."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:75
 msgid ""
 "i2d_ECPKParameters_bio(), i2d_ECPKParameters_fp(), ECPKParameters_print and "
 "ECPKParameters_print_fp return 1 for success and 0 if an error occurs."
 msgstr ""
+"B<i2d_ECPKParameters_bio>(), B<i2d_ECPKParameters_fp>(), "
+"B<ECPKParameters_print>() et B<ECPKParameters_print_fp>() renvoient B<1> en "
+"cas de réussite et B<0> en cas d’erreur."
 
 #. type: textblock
 #: C/crypto/d2i_ECPKParameters.pod:80
 msgid ""
 "L<crypto(3)|crypto(3)>, L<ec(3)|ec(3)>, L<EC_GROUP_new(3)|EC_GROUP_new(3)>, "
 "L<EC_GROUP_copy(3)|EC_GROUP_copy(3)>, L<EC_POINT_new(3)|EC_POINT_new(3)>, "
 "L<EC_POINT_add(3)|EC_POINT_add(3)>, L<EC_KEY_new(3)|EC_KEY_new(3)>, "
 "L<EC_GFp_simple_method(3)|EC_GFp_simple_method(3)>, L<d2i_X509(3)|"
 "d2i_X509(3)>"
 msgstr ""
+"L<B<crypto>(3)|crypto(3)>, L<B<ec>(3)|ec(3)>, L<B<EC_GROUP_new>(3)|"
+"EC_GROUP_new(3)>, L<B<EC_GROUP_copy>(3)|EC_GROUP_copy(3)>, "
+"L<B<EC_POINT_new>(3)|EC_POINT_new(3)>, L<B<EC_POINT_add>(3)|"
+"EC_POINT_add(3)>, L<B<EC_KEY_new>(3)|EC_KEY_new(3)>, "
+"L<B<EC_GFp_simple_method>(3)|EC_GFp_simple_method(3)>, L<B<d2i_X509>(3)|"
+"d2i_X509(3)>"
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:5
 msgid ""
 "i2d_ECPrivateKey, d2i_ECPrivate_key - Encode and decode functions for saving "
 "and reading EC_KEY structures"
 msgstr ""
+"i2d_ECPrivateKey, d2i_ECPrivate_key - Fonctions d'encodage et décodage pour "
+"sauvegarder et lire des structures EC_KEY"
 
 #. type: verbatim
 #: C/crypto/d2i_ECPrivateKey.pod:12
-#, fuzzy, no-wrap
-#| msgid ""
-#| " X509 *d2i_X509(X509 **px, const unsigned char **in, int len);\n"
-#| " int i2d_X509(X509 *x, unsigned char **out);\n"
-#| "\n"
+#, no-wrap
 msgid ""
 " EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len);\n"
 " int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out);\n"
 "\n"
 msgstr ""
-" X509 *d2i_X509(X509 **px, const unsigned char **in, int len);\n"
-" int i2d_X509(X509 *x, unsigned char **out);\n"
+"B< EC_KEY *d2i_ECPrivateKey(EC_KEY **>I<key>B<, const unsigned char **>I<in>B<,> \\\n"
+"                          B<long> I<len>B<);>\n"
+" B<int i2d_ECPrivateKey(EC_KEY *>I<key>B<, unsigned char **>I<out>B<);>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_ECPrivateKey.pod:15
 #, no-wrap
 msgid ""
 " unsigned int EC_KEY_get_enc_flags(const EC_KEY *key);\n"
 " void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags);\n"
 "\n"
 msgstr ""
+"B< unsigned int EC_KEY_get_enc_flags(const EC_KEY *>I<key>B<);>\n"
+" B<void EC_KEY_set_enc_flags(EC_KEY *>I<eckey>B<, unsigned int> I<flags>B<);>\n"
+"\n"
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:20
-#, fuzzy
-#| msgid ""
-#| "The X509 encode and decode routines encode and parse an B<X509> "
-#| "structure, which represents an X509 certificate."
 msgid ""
 "The ECPrivateKey encode and decode routines encode and parse an B<EC_KEY> "
 "structure into a binary format (ASN.1 DER) and back again."
 msgstr ""
-"Les routines d'encodage et décodage X509 encodent et analysent une structure "
-"B<X509>, qui représente un certificat X509."
+"Les routines d'encodage et décodage ECPrivateKey encodent et analysent une "
+"structure B<EC_KEY> en format binaire (DER ASN.1) et vice versa."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:23
-#, fuzzy
-#| msgid ""
-#| "The usage of all of these functions is similar to the d2i_X509() and "
-#| "i2d_X509() described in the L<d2i_X509(3)|d2i_X509(3)> manual page."
 msgid ""
 "These functions are similar to the d2i_X509() functions, and you should "
 "refer to that page for a detailed description (see L<d2i_X509(3)|"
 "d2i_X509(3)>)."
 msgstr ""
-"L'utilisation de toutes ces fonctions est similaire à l'utilisation de "
-"B<d2i_X509>() et B<i2d_X509>() décrite dans la page de manuel L<d2i_X509(3)|"
-"d2i_X509(3)>."
+"Ces fonctions sont similaires aux fonctions B<d2i_X509>(), consultez "
+"L<B<d2i_X509>(3)|d2i_X509(3)> pour une description détaillée."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:26
 msgid ""
 "The format of the external representation of the public key written by "
 "i2d_ECPrivateKey (such as whether it is stored in a compressed form or not) "
 "is described by the point_conversion_form. See L<EC_GROUP_copy(3)|"
 "EC_GROUP_copy(3)> for a description of point_conversion_form."
 msgstr ""
+"Le format de la représentation externe de la clef publique écrite par "
+"B<i2d_ECPrivateKey>() (par exemple si elle est conservée sous forme "
+"compressée ou non) est décrite par le point_conversion_form. Consultez "
+"L<B<EC_GROUP_copy>(3)|EC_GROUP_copy(3)> pour une description de "
+"point_conversion_form."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:31
 msgid ""
 "When reading a private key encoded without an associated public key (e.g. if "
 "EC_PKEY_NO_PUBKEY has been used - see below), then d2i_ECPrivateKey "
 "generates the missing public key automatically. Private keys encoded without "
 "parameters (e.g. if EC_PKEY_NO_PARAMETERS has been used - see below) cannot "
 "be loaded using d2i_ECPrivateKey."
 msgstr ""
+"Lors de la lecture d’une clef privée encodée sans clef publique associée "
+"(par exemple si EC_PKEY_NO_PUBKEY a été utilisée — voir plus bas), "
+"B<d2i_ECPrivateKey>() crée la clef publique manquante automatiquement. Les "
+"clefs privées encodées sans paramètre (par exemple si EC_PKEY_NO_PARAMETERS "
+"a été utilisée — voir plus bas) ne peuvent pas être chargées en utilisant "
+"B<d2i_ECPrivateKey>()."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:37
 msgid ""
 "The functions EC_KEY_get_enc_flags and EC_KEY_set_enc_flags get and set the "
 "value of the encoding flags for the B<key>. There are two encoding flags "
 "currently defined - EC_PKEY_NO_PARAMETERS and EC_PKEY_NO_PUBKEY.  These "
 "flags define the behaviour of how the B<key> is converted into ASN1 in a "
 "call to i2d_ECPrivateKey. If EC_PKEY_NO_PARAMETERS is set then the public "
 "parameters for the curve are not encoded along with the private key. If "
 "EC_PKEY_NO_PUBKEY is set then the public key is not encoded along with the "
 "private key."
 msgstr ""
+"Les fonctions B<EC_KEY_get_enc_flags>() et B<EC_KEY_set_enc_flags>() "
+"obtiennent et définissent la valeur des attributs d’encodage pour la clef "
+"I<key>. Deux attributs d’encodage sont actuellement définis : "
+"EC_PKEY_NO_PARAMETERS et EC_PKEY_NO_PUBKEY. Ces attributs définissent le "
+"comportement de conversion de I<key> vers ASN1 dans un appel de "
+"B<i2d_ECPrivateKey>(). Si EC_PKEY_NO_PARAMETERS est défini, les paramètres "
+"pour la courbe ne sont pas encodés aux côtés de la clef privée. Si "
+"EC_PKEY_NO_PUBKEY est défini, la clef publique n’est pas encodée aux côtés "
+"de la clef privée."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:47
-#, fuzzy
-#| msgid ""
-#| "d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> "
-#| "structure or B<NULL> if an error occurs. The error code that can be "
-#| "obtained by L<ERR_get_error(3)|ERR_get_error(3)>."
 msgid ""
 "d2i_ECPrivateKey() returns a valid B<EC_KEY> structure or B<NULL> if an "
 "error occurs. The error code that can be obtained by L<ERR_get_error(3)|"
 "ERR_get_error(3)>."
 msgstr ""
-"B<d2i_X509>(), B<d2i_X509_bio>() et B<d2i_X509_fp>() renvoient une structure "
-"B<X509> valable en cas de réussite et B<NULL> en cas d'erreur. Le code "
-"d'erreur peut être obtenu à l'aide de L<ERR_get_error(3)|ERR_get_error(3)>."
+"B<d2i_ECPrivateKey>() renvoie une structure B<EC_KEY> valable en cas de "
+"réussite et B<NULL> en cas d'erreur. Le code d'erreur peut être obtenu à "
+"l'aide de L<B<ERR_get_error>(3)|ERR_get_error(3)>."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:51
 msgid ""
 "i2d_ECPrivateKey() returns the number of bytes successfully encoded or a "
 "negative value if an error occurs. The error code can be obtained by "
 "L<ERR_get_error(3)|ERR_get_error(3)>."
 msgstr ""
 "B<i2d_ECPrivateKey>() renvoie le nombre d'octets encodés ou une valeur "
 "négative en cas d'erreur. Le code d'erreur peut être obtenu à l'aide de "
-"L<ERR_get_error(3)|ERR_get_error(3)>."
+"L<B<ERR_get_error>(3)|ERR_get_error(3)>."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:55
 msgid ""
 "EC_KEY_get_enc_flags returns the value of the current encoding flags for the "
 "EC_KEY."
 msgstr ""
+"B<EC_KEY_get_enc_flags>() renvoie la valeur des attributs d’encodage actuels "
+"pour EC_KEY."
 
 #. type: textblock
 #: C/crypto/d2i_ECPrivateKey.pod:60
 msgid ""
 "L<crypto(3)|crypto(3)>, L<ec(3)|ec(3)>, L<EC_GROUP_new(3)|EC_GROUP_new(3)>, "
 "L<EC_GROUP_copy(3)|EC_GROUP_copy(3)>, L<EC_POINT_new(3)|EC_POINT_new(3)>, "
 "L<EC_POINT_add(3)|EC_POINT_add(3)>, L<EC_GFp_simple_method(3)|"
 "EC_GFp_simple_method(3)>, L<d2i_ECPKParameters(3)|d2i_ECPKParameters(3)>, "
 "L<d2i_ECPrivateKey(3)|d2i_ECPrivateKey(3)>"
 msgstr ""
+"L<B<crypto>(3)|crypto(3)>, L<B<ec>(3)|ec(3)>, L<B<EC_GROUP_new>(3)|"
+"EC_GROUP_new(3)>, L<B<EC_GROUP_copy>(3)|EC_GROUP_copy(3)>, "
+"L<B<EC_POINT_new>(3)|EC_POINT_new(3)>, L<B<EC_POINT_add>(3)|"
+"EC_POINT_add(3)>, L<B<EC_GFp_simple_method>(3)|EC_GFp_simple_method(3)>, "
+"L<B<d2i_ECPKParameters>(3)|d2i_ECPKParameters(3)>, L<B<d2i_ECPrivateKey>(3)|"
+"d2i_ECPrivateKey(3)>"
 
 #. type: textblock
 #: C/crypto/d2i_PKCS8PrivateKey.pod:5
 msgid ""
 "d2i_PKCS8PrivateKey_bio, d2i_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_bio, "
 "i2d_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_nid_bio, "
 "i2d_PKCS8PrivateKey_nid_fp - PKCS#8 format private key functions"
 msgstr ""
 "d2i_PKCS8PrivateKey_bio, d2i_PKCS8PrivateKey_fp, i2d_PKCS8PrivateKey_bio, "
@@ -1185,142 +1177,134 @@ msgstr ""
 #. type: verbatim
 #: C/crypto/d2i_X509.pod:10 C/crypto/d2i_X509_ALGOR.pod:9
 #: C/crypto/d2i_X509_CRL.pod:10 C/crypto/d2i_X509_NAME.pod:9
 #: C/crypto/d2i_X509_REQ.pod:10 C/crypto/d2i_X509_SIG.pod:9
 #, no-wrap
 msgid ""
 " #include <openssl/x509.h>\n"
 "\n"
 msgstr ""
-" #include <openssl/x509.h>\n"
+"B< #include E<lt>openssl/x509.hE<gt>>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_X509.pod:12
 #, no-wrap
 msgid ""
 " X509 *d2i_X509(X509 **px, const unsigned char **in, int len);\n"
 " int i2d_X509(X509 *x, unsigned char **out);\n"
 "\n"
 msgstr ""
-" X509 *d2i_X509(X509 **px, const unsigned char **in, int len);\n"
-" int i2d_X509(X509 *x, unsigned char **out);\n"
+"B< X509 *d2i_X509(X509 **>I<px>B<, const unsigned char **>I<in>B<, int> I<len>B<);>\n"
+" B<int i2d_X509(X509 *>I<x>B<, unsigned char **>I<out>B<);>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_X509.pod:15
 #, no-wrap
 msgid ""
 " X509 *d2i_X509_bio(BIO *bp, X509 **x);\n"
 " X509 *d2i_X509_fp(FILE *fp, X509 **x);\n"
 "\n"
 msgstr ""
-" X509 *d2i_X509_bio(BIO *bp, X509 **x);\n"
-" X509 *d2i_X509_fp(FILE *fp, X509 **x);\n"
+"B< X509 *d2i_X509_bio(BIO *>I<bp>B<, X509 **>I<x>B<);>\n"
+" B<X509 *d2i_X509_fp(FILE *>I<fp>B<, X509 **>I<x>B<);>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_X509.pod:18
 #, no-wrap
 msgid ""
 " int i2d_X509_bio(BIO *bp, X509 *x);\n"
 " int i2d_X509_fp(FILE *fp, X509 *x);\n"
 "\n"
 msgstr ""
-" int i2d_X509_bio(BIO *bp, X509 *x);\n"
-" int i2d_X509_fp(FILE *fp, X509 *x);\n"
+"B< int i2d_X509_bio(BIO *>I<bp>B<, X509 *>I<x>B<);>\n"
+" B<int i2d_X509_fp(FILE *>I<fp>B<, X509 *>I<x>B<);>\n"
 "\n"
 
 #. type: verbatim
 #: C/crypto/d2i_X509.pod:21
-#, fuzzy, no-wrap
-#| msgid ""
-#| " int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);\n"
-#| "\n"
+#, no-wrap
 msgid ""
 " int i2d_re_X509_tbs(X509 *x, unsigned char **out);\n"
 "\n"
 msgstr ""
-" int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);\n"
+"B< int i2d_re_X509_tbs(X509 *>I<x>B<, unsigned char **>I<out>B<);>\n"
 "\n"
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:25
 msgid ""
 "The X509 encode and decode routines encode and parse an B<X509> structure, "
 "which represents an X509 certificate."
 msgstr ""
 "Les routines d'encodage et décodage X509 encodent et analysent une structure "
 "B<X509>, qui représente un certificat X509."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:28
-#, fuzzy
-#| msgid ""
-#| "d2i_X509() attempts to decode B<len> bytes at B<*in>. If successful a "
-#| "pointer to the B<X509> structure is returned. If an error occurred then "
-#| "B<NULL> is returned. If B<px> is not B<NULL> then the returned structure "
-#| "is written to B<*px>. If B<*px> is not B<NULL> then it is assumed that "
-#| "B<*px> contains a valid B<X509> structure and an attempt is made to reuse "
-#| "it. If the call is successful B<*in> is incremented to the byte following "
-#| "the parsed data."
 msgid ""
 "d2i_X509() attempts to decode B<len> bytes at B<*in>. If successful a "
 "pointer to the B<X509> structure is returned. If an error occurred then "
 "B<NULL> is returned. If B<px> is not B<NULL> then the returned structure is "
 "written to B<*px>. If B<*px> is not B<NULL> then it is assumed that B<*px> "
 "contains a valid B<X509> structure and an attempt is made to reuse it. This "
 "\"reuse\" capability is present for historical compatibility but its use is "
 "B<strongly discouraged> (see BUGS below, and the discussion in the RETURN "
 "VALUES section)."
 msgstr ""
-"B<d2i_X509>() essaye de décoder I<len> octets à I<*in>. En cas de réussite, "
-"un pointeur vers la structure B<X509> est renvoyé. Si une erreur survient, "
-"alors B<NULL> est renvoyé. Si I<px> n'est pas B<NULL>, alors la structure "
-"renvoyée est écrite en I<*px>. Si I<*px> n'est pas B<NULL>, alors il est "
-"supposé que I<*px> contient une structure B<X509> valable et une tentative "
-"est faite pour la réutiliser. Si l'appel a réussi, I<*in> est incrémenté à "
-"l'octet qui suit les données analysées."
+"B<d2i_X509>() essaye de décoder I<len> octets à B<*>I<in>. En cas de "
+"réussite, un pointeur vers la structure B<X509> est renvoyé. Si une erreur "
+"survient, alors B<NULL> est renvoyé. Si I<px> n'est pas B<NULL>, alors la "
+"structure renvoyée est écrite en B<*>I<px>. Si B<*>I<px> n'est pas B<NULL>, "
+"alors B<*>I<px> est supposé contenir une structure B<X509> valable et une "
+"tentative est faite pour la réutiliser. Cette fonctionnalité de "
+"« réutilisation » est présente pour compatibilité historique mais son "
+"utilisation est B<fortement découragée> (consultez B<BOGUES> ci-dessous, et "
+"la discussion dans la section B<VALEURS DE RETOUR>)."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:37
 msgid ""
 "If the call is successful B<*in> is incremented to the byte following the "
 "parsed data."
 msgstr ""
+"Si l'appel a réussi, B<*>I<in> est incrémenté à l'octet qui suit les données "
+"analysées."
 
 # NOTE: s/is writes/it writes/
 #. type: textblock
 #: C/crypto/d2i_X509.pod:40
 msgid ""
 "i2d_X509() encodes the structure pointed to by B<x> into DER format.  If "
 "B<out> is not B<NULL> is writes the DER encoded data to the buffer at "
 "B<*out>, and increments it to point after the data just written.  If the "
 "return value is negative an error occurred, otherwise it returns the length "
 "of the encoded data."
 msgstr ""
 "B<i2d_X509>() encode la structure pointée par I<x> au format DER. Si I<out> "
 "n'est pas B<NULL>, les données encodées en DER sont écrites dans le tampon à "
-"I<*out>, et il est incrémenté pour pointer après les données qui viennent "
+"B<*>I<out>, et il est incrémenté pour pointer après les données qui viennent "
 "d'être écrites. Si la valeur de retour est négative, une erreur est "
 "survenue, sinon la taille des données encodées est renvoyée."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:46
 msgid ""
 "For OpenSSL 0.9.7 and later if B<*out> is B<NULL> memory will be allocated "
 "for a buffer and the encoded data written to it. In this case B<*out> is not "
 "incremented and it points to the start of the data just written."
 msgstr ""
-"Depuis OpenSSL 0.9.7, si I<*out> est B<NULL>, la mémoire sera allouée pour "
-"un tampon et les données encodées y seront écrites. Dans ce cas, I<*out> "
-"n'est pas incrémenté et il pointe au début des données qui viennent d'être "
-"écrites."
+"Depuis OpenSSL 0.9.7, si B<*>I<out> est B<NULL>, la mémoire sera allouée "
+"pour un tampon et les données encodées y seront écrites. Dans ce cas, "
+"B<*>I<out> n'est pas incrémenté et il pointe au début des données qui "
+"viennent d'être écrites."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:51
 msgid ""
 "d2i_X509_bio() is similar to d2i_X509() except it attempts to parse data "
 "from BIO B<bp>."
 msgstr ""
 "B<d2i_X509_bio>() est similaire à B<d2i_X509>(), à la différence qu'elle "
 "essaye d'analyser les données du BIO I<bp>."
@@ -1355,36 +1339,36 @@ msgstr ""
 "écrit l'encodage de la structure I<x> dans le pointeur FILE I<fp> et renvoie "
 "B<1> en cas de réussite et B<0> en cas d'échec."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:65
 msgid ""
 "i2d_re_X509_tbs() is similar to i2d_X509() except it encodes only the "
 "TBSCertificate portion of the certificate."
 msgstr ""
+"B<i2d_re_X509_tbs>() est similaire à B<i2d_X509>() à part qu’elle n’encode "
+"que la portion TBSCertificate du certificat."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:70
-#, fuzzy
-#| msgid ""
-#| "The letters B<i> and B<d> in for example B<i2d_X509> stand for \"internal"
-#| "\" (that is an internal C structure) and \"DER\". So that B<i2d_X509> "
-#| "converts from internal to DER."
 msgid ""
 "The letters B<i> and B<d> in for example B<i2d_X509> stand for \"internal"
 "\" (that is an internal C structure) and \"DER\". So B<i2d_X509> converts "
 "from internal to DER. The \"re\" in B<i2d_re_X509_tbs> stands for \"re-encode"
 "\", and ensures that a fresh encoding is generated in case the object has "
 "been modified after creation (see the BUGS section)."
 msgstr ""
 "Les lettres I<i> et I<d>, dans par exemple B<i2d_X509>, signifient "
 "« interne » (c'est-à-dire une structure C interne) et « DER ». Ainsi, "
-"B<i2d_X509> convertit de l'interne en DER."
+"B<i2d_X509> convertit de l'interne en DER. Le « re » dans "
+"B<i2d_re_X509_tbs>() indique le « réencodage », et assure qu’un encodage "
+"frais est créé si l’objet a été modifié après création (consultez la section "
+"B<BOGUES>)."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:77
 msgid "The functions can also understand B<BER> forms."
 msgstr "Les fonctions peuvent aussi comprendre les formes B<BER>."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:79
 msgid ""
@@ -1409,21 +1393,21 @@ msgstr ""
 "mode binaire. Les fonctions comme B<strlen>() ne renverront B<pas> la taille "
 "adéquate de structure encodée."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:88
 msgid ""
 "The ways that B<*in> and B<*out> are incremented after the operation can "
 "trap the unwary. See the B<WARNINGS> section for some common errors."
 msgstr ""
-"Les façons d'incrémenter I<*in> et I<*out> après l'opération peuvent piéger "
-"les imprudents. Consulter la section B<AVERTISSEMENTS> qui indique quelques "
-"erreurs habituelles."
+"Les façons d'incrémenter B<*>I<in> et B<*>I<out> après l'opération peuvent "
+"piéger les imprudents. Consulter la section B<AVERTISSEMENTS> qui indique "
+"quelques erreurs habituelles."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:92
 msgid ""
 "The reason for the auto increment behaviour is to reflect a typical usage of "
 "ASN1 functions: after one structure is encoded or decoded another will "
 "processed after it."
 msgstr ""
 "Le comportement de l'incrément automatique sert à refléter une utilisation "
@@ -1761,22 +1745,22 @@ msgstr "BOGUES"
 #. type: textblock
 #: C/crypto/d2i_X509.pod:208
 msgid ""
 "In some versions of OpenSSL the \"reuse\" behaviour of d2i_X509() when "
 "B<*px> is valid is broken and some parts of the reused structure may persist "
 "if they are not present in the new one. As a result the use of this \"reuse"
 "\" behaviour is strongly discouraged."
 msgstr ""
 "Dans certaines version d'OpenSSL, le comportement de « réutilisation » de "
-"B<d2i_X509>(), quand I<*px> est correct, est cassé et certaines parties de "
-"la structure réutilisée pourraient persister si elles ne sont pas présentes "
-"dans la nouvelle. Par conséquent, l'utilisation de ce comportement de "
-"« réutilisation » est fortement déconseillée."
+"B<d2i_X509>(), quand B<*>I<px> est correct, est cassé et certaines parties "
+"de la structure réutilisée pourraient persister si elles ne sont pas "
+"présentes dans la nouvelle. Par conséquent, l'utilisation de ce comportement "
+"de « réutilisation » est fortement déconseillée."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:213
 msgid ""
 "i2d_X509() will not return an error in many versions of OpenSSL, if "
 "mandatory fields are not initialized due to a programming error then the "
 "encoded structure may contain invalid data or omit the fields entirely and "
 "will not be parsed by d2i_X509(). This may be fixed in future so code should "
 "not assume that i2d_X509() will always succeed."
@@ -1790,82 +1774,93 @@ msgstr ""
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:220
 msgid ""
 "The encoding of the TBSCertificate portion of a certificate is cached in the "
 "B<X509> structure internally to improve encoding performance and to ensure "
 "certificate signatures are verified correctly in some certificates with "
 "broken (non-DER) encodings."
 msgstr ""
+"L’encodage de la portion TBSCertificate d’un certificat est mise en cache "
+"dans la structure B<X509> interne pour améliorer les performances d’encodage "
+"et s’assurer que les signatures de certificat sont vérifiées correctement "
+"dans certains certificats avec des encodages (non DER) cassés."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:225
 msgid ""
 "Any function which encodes an X509 structure such as i2d_X509(), "
 "i2d_X509_fp() or i2d_X509_bio() may return a stale encoding if the B<X509> "
 "structure has been modified after deserialization or previous serialization."
 msgstr ""
+"Toutes les fonctions qui encodent une structure X509 comme B<i2d_X509>(), "
+"B<i2d_X509_fp>() ou B<i2d_X509_bio>() pourraient renvoyer un encodage "
+"dépassé si la structure B<X509> a été modifiée après désérialisation ou "
+"sérialisation précédente."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:230
 msgid ""
 "If, after modification, the B<X509> object is re-signed with X509_sign(), "
 "the encoding is automatically renewed. Otherwise, the encoding of the "
 "TBSCertificate portion of the B<X509> can be manually renewed by calling "
 "i2d_re_X509_tbs()."
 msgstr ""
+"Si, après modification, l’objet B<X509> est signé de nouveau avec "
+"B<X509_sign>(), l’encodage est automatiquement renouvelé. Sinon, l’encodage "
+"de la portion TBSCertificate de B<X509> peut être renouvelé en appelant "
+"B<i2d_re_X509_tbs>() directement."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:237
-#, fuzzy
-#| msgid ""
-#| "d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> "
-#| "structure or B<NULL> if an error occurs. The error code that can be "
-#| "obtained by L<ERR_get_error(3)|ERR_get_error(3)>."
 msgid ""
 "d2i_X509(), d2i_X509_bio() and d2i_X509_fp() return a valid B<X509> "
 "structure or B<NULL> if an error occurs. The error code that can be obtained "
 "by L<ERR_get_error(3)|ERR_get_error(3)>. If the \"reuse\" capability has "
 "been used with a valid X509 structure being passed in via B<px> then the "
 "object is not freed in the event of error but may be in a potentially "
 "invalid or inconsistent state."
 msgstr ""
 "B<d2i_X509>(), B<d2i_X509_bio>() et B<d2i_X509_fp>() renvoient une structure "
 "B<X509> valable en cas de réussite et B<NULL> en cas d'erreur. Le code "
-"d'erreur peut être obtenu à l'aide de L<ERR_get_error(3)|ERR_get_error(3)>."
+"d'erreur peut être obtenu à l'aide de L<B<ERR_get_error>(3)|"
+"ERR_get_error(3)>. Si la fonctionnalité de « réutilisation » a été utilisée "
+"avec une structure X509 valable, passée par I<px>, l’objet n’est pas libéré "
+"en cas d’erreur mais pourrait être dans un état potentiellement incorrect ou "
+"incohérent."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:244
 msgid ""
 "i2d_X509() returns the number of bytes successfully encoded or a negative "
 "value if an error occurs. The error code can be obtained by "
 "L<ERR_get_error(3)|ERR_get_error(3)>."
 msgstr ""
 "B<i2d_X509>() renvoie le nombre d'octets encodés ou une valeur négative en "
 "cas d'erreur. Le code d'erreur peut être obtenu à l'aide de "
-"L<ERR_get_error(3)|ERR_get_error(3)>."
+"L<B<ERR_get_error>(3)|ERR_get_error(3)>."
 
 # NOTE: s/occurs The/occurs. The/
 #. type: textblock
 #: C/crypto/d2i_X509.pod:248
 msgid ""
 "i2d_X509_bio() and i2d_X509_fp() return 1 for success and 0 if an error "
 "occurs The error code can be obtained by L<ERR_get_error(3)|"
 "ERR_get_error(3)>."
 msgstr ""
 "B<i2d_X509_bio>() et B<i2d_X509_fp>() renvoient B<1> en cas de réussite et "
 "B<0> en cas d'erreur. Le code d'erreur peut être obtenu à l'aide de "
-"L<ERR_get_error(3)|ERR_get_error(3)>."
+"L<B<ERR_get_error>(3)|ERR_get_error(3)>."
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:253
 msgid "L<ERR_get_error(3)|ERR_get_error(3)>"
-msgstr "L<ERR_get_error(3)|ERR_get_error(3)>"
+msgstr "L<B<ERR_get_error>(3)|ERR_get_error(3)>"
 
 #. type: textblock
 #: C/crypto/d2i_X509.pod:257
 msgid ""
 "d2i_X509, i2d_X509, d2i_X509_bio, d2i_X509_fp, i2d_X509_bio and i2d_X509_fp "
 "are available in all versions of SSLeay and OpenSSL."
 msgstr ""
 "d2i_X509, i2d_X509, d2i_X509_bio, d2i_X509_fp, i2d_X509_bio et i2d_X509_fp "
 "sont disponibles dans toutes les versions de SSLeay et OpenSSL."
.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "fr::crypto::d2i_CMS_ContentInfo 3SSL"
.TH fr::crypto::d2i_CMS_ContentInfo 3SSL "2015-05-07" "1.0.2a" "OpenSSL"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NOM"
.IX Header "NOM"
d2i_CMS_ContentInfo, i2d_CMS_ContentInfo \- Fonctions de \s-1CMS\s0 ContentInfo
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fB #include <openssl/cms.h>\fR
.PP
\&\fB CMS_ContentInfo *d2i_CMS_ContentInfo(CMS_ContentInfo **\fR\fIa\fR\fB,\fR \e
                                      \fBunsigned char **\fR\fIpp\fR\fB,\fR \e
                                      \fBlong\fR \fIlength\fR\fB);\fR
 \fBint i2d_CMS_ContentInfo(CMS_ContentInfo *\fR\fIa\fR\fB, unsigned char **\fR\fIpp\fR\fB);\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Ces fonctions décodent et encodent une structure \s-1CMS\s0 ContentInfo.
.PP
Ces fonctions se comportent de façon similaire à \fBd2i_X509\fR() et
\&\fBi2d_X509\fR(), décrites dans la page de manuel
\&\fBd2i_X509\fR(3).
.SH "VOIR AUSSI"
.IX Header "VOIR AUSSI"
\&\fBd2i_X509\fR(3)
.SH "HISTORIQUE"
.IX Header "HISTORIQUE"
Ces fonctions ont été ajoutées pour la première fois dans OpenSSL 0.9.8.
.SH "TRADUCTION"
.IX Header "TRADUCTION"
La traduction de cette page de manuel est maintenue par
les membres de la liste <debian\-l10n\-french \s-1AT\s0 lists \s-1DOT\s0 debian \s-1DOT\s0 org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr-extra.
.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "fr::crypto::d2i_ECPKParameters 3SSL"
.TH fr::crypto::d2i_ECPKParameters 3SSL "2015-05-07" "1.0.2a" "OpenSSL"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NOM"
.IX Header "NOM"
d2i_ECPKParameters, i2d_ECPKParameters, d2i_ECPKParameters_bio,
i2d_ECPKParameters_bio, d2i_ECPKParameters_fp, i2d_ECPKParameters_fp,
ECPKParameters_print, ECPKParameters_print_fp \- Fonctions pour décoder et
encoder des representations \s-1ASN1\s0 d’entités de courbes elliptiques
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fB #include <openssl/ec.h>\fR
.PP
\&\fB \s-1EC_GROUP\s0 *d2i_ECPKParameters(\s-1EC_GROUP\s0 **\fR\fIpx\fR\fB,\fR \e
                              \fBconst unsigned char **\fR\fIin\fR\fB,\fR \e
                              \fBlong\fR \fIlen\fR\fB);\fR
 \fBint i2d_ECPKParameters(const \s-1EC_GROUP\s0 *\fR\fIx\fR\fB, unsigned char **\fR\fIout\fR\fB);\fR
 \fB#define d2i_ECPKParameters_bio(\fR\fIbp\fR\fB,\fR\fIx\fR\fB)\fR \e
 		\fBASN1_d2i_bio_of(\s-1EC_GROUP,NULL\s0,d2i_ECPKParameters,\fR\fIbp\fR,\fIx\fR\fB)\fR
 \fB#define i2d_ECPKParameters_bio(\fR\fIbp\fR\fB,\fR\fIx\fR\fB)\fR \e
 		\fBASN1_i2d_bio_of_const(\s-1EC_GROUP\s0,i2d_ECPKParameters,\fR\fIbp\fR\fB,\fR\fIx\fR\fB)\fR
 \fB#define d2i_ECPKParameters_fp(\fR\fIfp\fR\fB,\fR\fIx\fR\fB) (\s-1EC_GROUP\s0 *)ASN1_d2i_fp(\s-1NULL,\s0\fR \e
 		\fB(char *(*)())d2i_ECPKParameters,(\fR\fIfp\fR\fB),(unsigned char **)(\fR\fIx\fR\fB))\fR
 \fB#define i2d_ECPKParameters_fp(\fR\fIfp\fR\fB,\fR\fIx\fR\fB)\fR \e
 		\fBASN1_i2d_fp(i2d_ECPKParameters,(\fR\fIfp\fR\fB),\fR \e
 		\fB(unsigned char *)(\fR\fIx\fR\fB))\fR
 \fBint     ECPKParameters_print(\s-1BIO\s0 *\fR\fIbp\fR\fB, const \s-1EC_GROUP\s0 *\fR\fIx\fR\fB, int\fR \fIoff\fR\fB);\fR
 \fBint     ECPKParameters_print_fp(\s-1FILE\s0 *\fR\fIfp\fR\fB, const \s-1EC_GROUP\s0 *\fR\fIx\fR\fB, int\fR \fIoff\fR\fB);\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Les routines d'encodage et décodage ECPKParameters encodent et analysent les
paramètres publics pour une structure \fB\s-1EC_GROUP\s0\fR, qui représente une
courbe.
.PP
\&\fBd2i_ECPKParameters\fR() essaye de décoder \fIlen\fR octets à \fB*\fR\fIin\fR. En cas
de réussite, un pointeur vers la structure \fB\s-1EC_GROUP\s0\fR est renvoyé. Si une
erreur survient, alors \fB\s-1NULL\s0\fR est renvoyé. Si \fIpx\fR n'est pas \fB\s-1NULL\s0\fR,
alors la structure renvoyée est écrite en \fB*\fR\fIpx\fR. Si \fB*\fR\fIpx\fR n'est pas
\&\fB\s-1NULL\s0\fR, alors \fB*\fR\fIpx\fR est supposé contenir une structure \fB\s-1EC_GROUP\s0\fR
valable et une tentative est faite pour la réutiliser. Si l'appel a réussi,
\&\fB*\fR\fIin\fR est incrémenté à l'octet qui suit les données analysées.
.PP
\&\fBi2d_ECPKParameters\fR() encode la structure pointée par \fIx\fR au format
\&\s-1DER.\s0 Si \fIout\fR n'est pas \fB\s-1NULL\s0\fR, les données encodées en \s-1DER\s0 sont écrites
dans le tampon à \fB*\fR\fIout\fR, et il est incrémenté pour pointer après les
données qui viennent d'être écrites. Si la valeur de retour est négative,
une erreur est survenue, sinon la taille des données encodées est renvoyée.
.PP
Si \fB*\fR\fIout\fR est \fB\s-1NULL\s0\fR, la mémoire sera allouée pour un tampon et les
données encodées y seront écrites. Dans ce cas, \fB*\fR\fIout\fR n'est pas
incrémenté et il pointe au début des données qui viennent d'être écrites.
.PP
\&\fBd2i_ECPKParameters_bio\fR() est similaire à \fBd2i_ECPKParameters\fR(), à la
différence qu'elle essaye d'analyser les données du \s-1BIO \s0\fIbp\fR.
.PP
\&\fBd2i_ECPKParameters_fp\fR() est similaire à \fBd2i_ECPKParameters\fR(), à la
différence qu'elle essaye d'analyser les données du pointeur \s-1FILE \s0\fIfp\fR.
.PP
\&\fBi2d_ECPKParameters_bio\fR() est similaire à \fBi2d_ECPKParameters\fR(), à la
différence qu'elle écrit l'encodage de la structure \fIx\fR dans le \s-1BIO \s0\fIbp\fR
et renvoie \fB1\fR en cas de réussite et \fB0\fR en cas d'échec.
.PP
\&\fBi2d_ECPKParameters_fp\fR() est similaire à \fBi2d_ECPKParameters\fR(), à la
différence qu'elle écrit l'encodage de la structure \fIx\fR dans le pointeur
\&\s-1FILE \s0\fIfp\fR et renvoie \fB1\fR en cas de réussite et \fB0\fR en cas d'échec.
.PP
Ces fonctions sont très similaire aux fonctions X509 décrites dans
\&\fBd2i_X509\fR(3), où d’autres notes et exemples sont fournis.
.PP
Les fonctions \fBECPKParameters_print\fR() et \fBECPKParameters_print_fp\fR()
affichent au format lisible les paramètres publics de l’EC_GROUP pour \fIbp\fR
ou \fIfp\fR. Les ligne affichées sont indentés de \fIoff\fR espaces.
.SH "VALEURS DE RETOUR"
.IX Header "VALEURS DE RETOUR"
\&\fBd2i_ECPKParameters\fR(), \fBd2i_ECPKParameters_bio\fR() et
\&\fBd2i_ECPKParameters_fp\fR() renvoient une structure \fB\s-1EC_GROUP\s0\fR valable ou
\&\fB\s-1NULL\s0\fR si une erreur est survenue.
.PP
\&\fBi2d_ECPKParameters\fR() renvoie le nombre d'octets encodés ou une valeur
négative en cas d'erreur.
.PP
\&\fBi2d_ECPKParameters_bio\fR(), \fBi2d_ECPKParameters_fp\fR(),
\&\fBECPKParameters_print\fR() et \fBECPKParameters_print_fp\fR() renvoient \fB1\fR en
cas de réussite et \fB0\fR en cas d’erreur.
.SH "VOIR AUSSI"
.IX Header "VOIR AUSSI"
\&\fBcrypto\fR(3), \fBec\fR(3),
\&\fBEC_GROUP_new\fR(3),
\&\fBEC_GROUP_copy\fR(3),
\&\fBEC_POINT_new\fR(3),
\&\fBEC_POINT_add\fR(3), \fBEC_KEY_new\fR(3),
\&\fBEC_GFp_simple_method\fR(3),
\&\fBd2i_X509\fR(3)
.SH "TRADUCTION"
.IX Header "TRADUCTION"
La traduction de cette page de manuel est maintenue par
les membres de la liste <debian\-l10n\-french \s-1AT\s0 lists \s-1DOT\s0 debian \s-1DOT\s0 org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr-extra.
.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "fr::crypto::d2i_ECPrivateKey 3SSL"
.TH fr::crypto::d2i_ECPrivateKey 3SSL "2015-05-07" "1.0.2a" "OpenSSL"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NOM"
.IX Header "NOM"
i2d_ECPrivateKey, d2i_ECPrivate_key \- Fonctions d'encodage et décodage pour
sauvegarder et lire des structures \s-1EC_KEY\s0
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fB #include <openssl/ec.h>\fR
.PP
\&\fB \s-1EC_KEY\s0 *d2i_ECPrivateKey(\s-1EC_KEY\s0 **\fR\fIkey\fR\fB, const unsigned char **\fR\fIin\fR\fB,\fR \e
                          \fBlong\fR \fIlen\fR\fB);\fR
 \fBint i2d_ECPrivateKey(\s-1EC_KEY\s0 *\fR\fIkey\fR\fB, unsigned char **\fR\fIout\fR\fB);\fR
.PP
\&\fB unsigned int EC_KEY_get_enc_flags(const \s-1EC_KEY\s0 *\fR\fIkey\fR\fB);\fR
 \fBvoid EC_KEY_set_enc_flags(\s-1EC_KEY\s0 *\fR\fIeckey\fR\fB, unsigned int\fR \fIflags\fR\fB);\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Les routines d'encodage et décodage ECPrivateKey encodent et analysent une
structure \fB\s-1EC_KEY\s0\fR en format binaire (\s-1DER ASN.1\s0) et vice versa.
.PP
Ces fonctions sont similaires aux fonctions \fBd2i_X509\fR(), consultez
\&\fBd2i_X509\fR(3) pour une description détaillée.
.PP
Le format de la représentation externe de la clef publique écrite par
\&\fBi2d_ECPrivateKey\fR() (par exemple si elle est conservée sous forme
compressée ou non) est décrite par le point_conversion_form. Consultez
\&\fBEC_GROUP_copy\fR(3) pour une description de
point_conversion_form.
.PP
Lors de la lecture d’une clef privée encodée sans clef publique associée
(par exemple si \s-1EC_PKEY_NO_PUBKEY\s0 a été utilisée — voir plus bas),
\&\fBd2i_ECPrivateKey\fR() crée la clef publique manquante automatiquement. Les
clefs privées encodées sans paramètre (par exemple si \s-1EC_PKEY_NO_PARAMETERS\s0
a été utilisée — voir plus bas) ne peuvent pas être chargées en utilisant
\&\fBd2i_ECPrivateKey\fR().
.PP
Les fonctions \fBEC_KEY_get_enc_flags\fR() et \fBEC_KEY_set_enc_flags\fR()
obtiennent et définissent la valeur des attributs d’encodage pour la clef
\&\fIkey\fR. Deux attributs d’encodage sont actuellement définis :
\&\s-1EC_PKEY_NO_PARAMETERS\s0 et \s-1EC_PKEY_NO_PUBKEY.\s0 Ces attributs définissent le
comportement de conversion de \fIkey\fR vers \s-1ASN1\s0 dans un appel de
\&\fBi2d_ECPrivateKey\fR(). Si \s-1EC_PKEY_NO_PARAMETERS\s0 est défini, les paramètres
pour la courbe ne sont pas encodés aux côtés de la clef privée. Si
\&\s-1EC_PKEY_NO_PUBKEY\s0 est défini, la clef publique n’est pas encodée aux côtés
de la clef privée.
.SH "VALEURS DE RETOUR"
.IX Header "VALEURS DE RETOUR"
\&\fBd2i_ECPrivateKey\fR() renvoie une structure \fB\s-1EC_KEY\s0\fR valable en cas de
réussite et \fB\s-1NULL\s0\fR en cas d'erreur. Le code d'erreur peut être obtenu à
l'aide de \fBERR_get_error\fR(3).
.PP
\&\fBi2d_ECPrivateKey\fR() renvoie le nombre d'octets encodés ou une valeur
négative en cas d'erreur. Le code d'erreur peut être obtenu à l'aide de
\&\fBERR_get_error\fR(3).
.PP
\&\fBEC_KEY_get_enc_flags\fR() renvoie la valeur des attributs d’encodage actuels
pour \s-1EC_KEY.\s0
.SH "VOIR AUSSI"
.IX Header "VOIR AUSSI"
\&\fBcrypto\fR(3), \fBec\fR(3),
\&\fBEC_GROUP_new\fR(3),
\&\fBEC_GROUP_copy\fR(3),
\&\fBEC_POINT_new\fR(3),
\&\fBEC_POINT_add\fR(3),
\&\fBEC_GFp_simple_method\fR(3),
\&\fBd2i_ECPKParameters\fR(3),
\&\fBd2i_ECPrivateKey\fR(3)
.SH "TRADUCTION"
.IX Header "TRADUCTION"
La traduction de cette page de manuel est maintenue par
les membres de la liste <debian\-l10n\-french \s-1AT\s0 lists \s-1DOT\s0 debian \s-1DOT\s0 org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr-extra.
.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" Set up some character translations and predefined strings.  \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote.  \*(C+ will
.\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
.\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
.\" nothing in troff, for use with C<>.
.tr \(*W-
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
.    ds -- \(*W-
.    ds PI pi
.    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
.    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
.    ds L" ""
.    ds R" ""
.    ds C` ""
.    ds C' ""
'br\}
.el\{\
.    ds -- \|\(em\|
.    ds PI \(*p
.    ds L" ``
.    ds R" ''
.    ds C`
.    ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el       .ds Aq '
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD.  Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{
.    if \nF \{
.        de IX
.        tm Index:\\$1\t\\n%\t"\\$2"
..
.        if !\nF==2 \{
.            nr % 0
.            nr F 2
.        \}
.    \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "fr::crypto::d2i_X509 3SSL"
.TH fr::crypto::d2i_X509 3SSL "2015-05-07" "1.0.2a" "OpenSSL"
.\" For nroff, turn off justification.  Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH "NOM"
.IX Header "NOM"
d2i_X509, i2d_X509, d2i_X509_bio, d2i_X509_fp, i2d_X509_bio, i2d_X509_fp \-
Fonctions d'encodage et décodage X509
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
\&\fB #include <openssl/x509.h>\fR
.PP
\&\fB X509 *d2i_X509(X509 **\fR\fIpx\fR\fB, const unsigned char **\fR\fIin\fR\fB, int\fR \fIlen\fR\fB);\fR
 \fBint i2d_X509(X509 *\fR\fIx\fR\fB, unsigned char **\fR\fIout\fR\fB);\fR
.PP
\&\fB X509 *d2i_X509_bio(\s-1BIO\s0 *\fR\fIbp\fR\fB, X509 **\fR\fIx\fR\fB);\fR
 \fBX509 *d2i_X509_fp(\s-1FILE\s0 *\fR\fIfp\fR\fB, X509 **\fR\fIx\fR\fB);\fR
.PP
\&\fB int i2d_X509_bio(\s-1BIO\s0 *\fR\fIbp\fR\fB, X509 *\fR\fIx\fR\fB);\fR
 \fBint i2d_X509_fp(\s-1FILE\s0 *\fR\fIfp\fR\fB, X509 *\fR\fIx\fR\fB);\fR
.PP
\&\fB int i2d_re_X509_tbs(X509 *\fR\fIx\fR\fB, unsigned char **\fR\fIout\fR\fB);\fR
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
Les routines d'encodage et décodage X509 encodent et analysent une structure
\&\fBX509\fR, qui représente un certificat X509.
.PP
\&\fBd2i_X509\fR() essaye de décoder \fIlen\fR octets à \fB*\fR\fIin\fR. En cas de
réussite, un pointeur vers la structure \fBX509\fR est renvoyé. Si une erreur
survient, alors \fB\s-1NULL\s0\fR est renvoyé. Si \fIpx\fR n'est pas \fB\s-1NULL\s0\fR, alors la
structure renvoyée est écrite en \fB*\fR\fIpx\fR. Si \fB*\fR\fIpx\fR n'est pas \fB\s-1NULL\s0\fR,
alors \fB*\fR\fIpx\fR est supposé contenir une structure \fBX509\fR valable et une
tentative est faite pour la réutiliser. Cette fonctionnalité de
« réutilisation » est présente pour compatibilité historique mais son
utilisation est \fBfortement découragée\fR (consultez \fB\s-1BOGUES\s0\fR ci-dessous, et
la discussion dans la section \fB\s-1VALEURS DE RETOUR\s0\fR).
.PP
Si l'appel a réussi, \fB*\fR\fIin\fR est incrémenté à l'octet qui suit les données
analysées.
.PP
\&\fBi2d_X509\fR() encode la structure pointée par \fIx\fR au format \s-1DER.\s0 Si \fIout\fR
n'est pas \fB\s-1NULL\s0\fR, les données encodées en \s-1DER\s0 sont écrites dans le tampon à
\&\fB*\fR\fIout\fR, et il est incrémenté pour pointer après les données qui viennent
d'être écrites. Si la valeur de retour est négative, une erreur est
survenue, sinon la taille des données encodées est renvoyée.
.PP
Depuis OpenSSL 0.9.7, si \fB*\fR\fIout\fR est \fB\s-1NULL\s0\fR, la mémoire sera allouée
pour un tampon et les données encodées y seront écrites. Dans ce cas,
\&\fB*\fR\fIout\fR n'est pas incrémenté et il pointe au début des données qui
viennent d'être écrites.
.PP
\&\fBd2i_X509_bio\fR() est similaire à \fBd2i_X509\fR(), à la différence qu'elle
essaye d'analyser les données du \s-1BIO \s0\fIbp\fR.
.PP
\&\fBd2i_X509_fp\fR() est similaire à \fBd2i_X509\fR(), à la différence qu'elle
essaye d'analyser les données du pointeur \s-1FILE \s0\fIfp\fR.
.PP
\&\fBi2d_X509_bio\fR() est similaire à \fBi2d_X509\fR(), à la différence qu'elle
écrit l'encodage de la structure \fIx\fR dans le \s-1BIO \s0\fIbp\fR et renvoie \fB1\fR en
cas de réussite et \fB0\fR en cas d'échec.
.PP
\&\fBi2d_X509_fp\fR() est similaire à \fBi2d_X509\fR(), à la différence qu'elle
écrit l'encodage de la structure \fIx\fR dans le pointeur \s-1FILE \s0\fIfp\fR et renvoie
\&\fB1\fR en cas de réussite et \fB0\fR en cas d'échec.
.PP
\&\fBi2d_re_X509_tbs\fR() est similaire à \fBi2d_X509\fR() à part qu’elle n’encode
que la portion TBSCertificate du certificat.
.SH "NOTES"
.IX Header "NOTES"
Les lettres \fIi\fR et \fId\fR, dans par exemple \fBi2d_X509\fR, signifient
« interne » (c'est\-à\-dire une structure C interne) et « \s-1DER\s0 ». Ainsi,
\&\fBi2d_X509\fR convertit de l'interne en \s-1DER.\s0 Le « re » dans
\&\fBi2d_re_X509_tbs\fR() indique le « réencodage », et assure qu’un encodage
frais est créé si l’objet a été modifié après création (consultez la section
\&\fB\s-1BOGUES\s0\fR).
.PP
Les fonctions peuvent aussi comprendre les formes \fB\s-1BER\s0\fR.
.PP
La structure X509 vraiment passée à \fBi2d_X509\fR() doit être une structure
\&\fBX509\fR peuplée valable. Elle ne peut \fBpas\fR être simplement alimentée par
une structure vide comme celle renvoyée par \fBX509_new\fR().
.PP
Les données encodées sont en forme binaire et peuvent contenir des zéros
embarqués. Ainsi tous les pointeurs \s-1FILE\s0 ou \s-1BIO\s0 devraient être ouverts en
mode binaire. Les fonctions comme \fBstrlen\fR() ne renverront \fBpas\fR la taille
adéquate de structure encodée.
.PP
Les façons d'incrémenter \fB*\fR\fIin\fR et \fB*\fR\fIout\fR après l'opération peuvent
piéger les imprudents. Consulter la section \fB\s-1AVERTISSEMENTS\s0\fR qui indique
quelques erreurs habituelles.
.PP
Le comportement de l'incrément automatique sert à refléter une utilisation
typique des fonctions \s-1ASN1 :\s0 après qu'une structure soit encodée ou décodée,
une autre sera traitée à sa suite.
.SH "EXEMPLES"
.IX Header "EXEMPLES"
Allouer et encoder l'encodage \s-1DER\s0 d'une structure X509 :
.PP
.Vb 2
\& int len;
\& unsigned char *buf, *p;
\&
\& len = i2d_X509(x, NULL);
\&
\& buf = OPENSSL_malloc(len);
\&
\& if (buf == NULL)
\&        /* erreur */
\&
\& p = buf;
\&
\& i2d_X509(x, &p);
.Ve
.PP
À partir d'OpenSSL 0.9.7, cela peut être simplifié en :
.PP
.Vb 2
\& int len;
\& unsigned char *buf;
\&
\& buf = NULL;
\&
\& len = i2d_X509(x, &buf);
\&
\& if (len < 0)
\&        /* erreur */
.Ve
.PP
Essayer de décoder un tampon :
.PP
.Vb 1
\& X509 *x;
\&
\& unsigned char *buf, *p;
\&
\& int len;
\&
\& /* Quelque chose pour définir buf et len */
\&
\& p = buf;
\&
\& x = d2i_X509(NULL, &p, len);
\&
\& if (x == NULL)
\&    /* Quelques erreurs */
.Ve
.PP
Technique alternative :
.PP
.Vb 1
\& X509 *x;
\&
\& unsigned char *buf, *p;
\&
\& int len;
\&
\& /* Quelque chose pour définir buf et len */
\&
\& p = buf;
\&
\& x = NULL;
\&
\& if(!d2i_X509(&x, &p, len))
\&    /* Quelques erreurs */
.Ve
.SH "AVERTISSEMENTS"
.IX Header "AVERTISSEMENTS"
L'utilisation d'une variable temporaire est obligatoire. Une erreur
habituelle est d'essayer d'utiliser un tampon directement comme ceci :
.PP
.Vb 2
\& int len;
\& unsigned char *buf;
\&
\& len = i2d_X509(x, NULL);
\&
\& buf = OPENSSL_malloc(len);
\&
\& if (buf == NULL)
\&        /* erreur */
\&
\& i2d_X509(x, &buf);
\&
\& /* Autres choses… */
\&
\& OPENSSL_free(buf);
.Ve
.PP
Ce code aura pour résultat un \fIbuf\fR contenant apparemment n'importe quoi
parce qu'il a été incrémenté après l'appel pour pointer après les données
qui viennent d'être écrites. Ainsi \fIbuf\fR ne contiendra plus le pointeur
alloué par \fBOPENSSL_malloc\fR() et l'appel suivant de \fBOPENSSL_malloc\fR()
pourrait sans doute planter.
.PP
La fonctionnalité d'allocation automatique (configurant \fIbuf\fR à \fB\s-1NULL\s0\fR) ne
fonctionne qu'à partir d'OpenSSL 0.9.7. Essayer de l'utiliser avec des
versions précédentes provoquera typiquement une violation de segmentation.
.PP
Un autre piège à éviter est la mauvaise utilisation de l'argument \fIxp\fR de
\&\fBd2i_X509\fR() :
.PP
.Vb 1
\& X509 *x;
\&
\& if (!d2i_X509(&x, &p, len))
\&        /* Quelques erreurs */
.Ve
.PP
Cela plantera probablement quelque part dans \fBd2i_X509\fR(). La raison à cela
et que la variable \fIx\fR est désinitialisée et qu'il y aura une tentative
d'interpréter sa valeur (incorrecte) comme une structure \fBX509\fR, provoquant
typiquement une violation de segmentation. Si \fIx\fR est définie à \s-1NULL\s0
d'abord, alors ça n'arrivera pas.
.SH "BOGUES"
.IX Header "BOGUES"
Dans certaines version d'OpenSSL, le comportement de « réutilisation » de
\&\fBd2i_X509\fR(), quand \fB*\fR\fIpx\fR est correct, est cassé et certaines parties
de la structure réutilisée pourraient persister si elles ne sont pas
présentes dans la nouvelle. Par conséquent, l'utilisation de ce comportement
de « réutilisation » est fortement déconseillée.
.PP
\&\fBi2d_X509\fR() ne renverra pas d'erreur dans plusieurs versions d'OpenSSL :
si des champs obligatoires ne sont pas initialisés à cause d'une erreur de
programmation, alors la structure encodée pourrait contenir des données
incorrectes ou omettre les champs complètement et ne sera pas analysée par
\&\fBd2i_X509\fR(). Cela pourrait être corrigé plus tard, de telle sorte que le
code ne devrait pas supposer pas que \fBi2d_X509\fR() réussira toujours.
.PP
L’encodage de la portion TBSCertificate d’un certificat est mise en cache
dans la structure \fBX509\fR interne pour améliorer les performances d’encodage
et s’assurer que les signatures de certificat sont vérifiées correctement
dans certains certificats avec des encodages (non \s-1DER\s0) cassés.
.PP
Toutes les fonctions qui encodent une structure X509 comme \fBi2d_X509\fR(),
\&\fBi2d_X509_fp\fR() ou \fBi2d_X509_bio\fR() pourraient renvoyer un encodage
dépassé si la structure \fBX509\fR a été modifiée après désérialisation ou
sérialisation précédente.
.PP
Si, après modification, l’objet \fBX509\fR est signé de nouveau avec
\&\fBX509_sign\fR(), l’encodage est automatiquement renouvelé. Sinon, l’encodage
de la portion TBSCertificate de \fBX509\fR peut être renouvelé en appelant
\&\fBi2d_re_X509_tbs\fR() directement.
.SH "VALEURS DE RETOUR"
.IX Header "VALEURS DE RETOUR"
\&\fBd2i_X509\fR(), \fBd2i_X509_bio\fR() et \fBd2i_X509_fp\fR() renvoient une structure
\&\fBX509\fR valable en cas de réussite et \fB\s-1NULL\s0\fR en cas d'erreur. Le code
d'erreur peut être obtenu à l'aide de
\&\fBERR_get_error\fR(3). Si la fonctionnalité de
« réutilisation » a été utilisée avec une structure X509 valable, passée par
\&\fIpx\fR, l’objet n’est pas libéré en cas d’erreur mais pourrait être dans un
état potentiellement incorrect ou incohérent.
.PP
\&\fBi2d_X509\fR() renvoie le nombre d'octets encodés ou une valeur négative en
cas d'erreur. Le code d'erreur peut être obtenu à l'aide de
\&\fBERR_get_error\fR(3).
.PP
\&\fBi2d_X509_bio\fR() et \fBi2d_X509_fp\fR() renvoient \fB1\fR en cas de réussite et
\&\fB0\fR en cas d'erreur. Le code d'erreur peut être obtenu à l'aide de
\&\fBERR_get_error\fR(3).
.SH "VOIR AUSSI"
.IX Header "VOIR AUSSI"
\&\fBERR_get_error\fR(3)
.SH "HISTORIQUE"
.IX Header "HISTORIQUE"
d2i_X509, i2d_X509, d2i_X509_bio, d2i_X509_fp, i2d_X509_bio et i2d_X509_fp
sont disponibles dans toutes les versions de SSLeay et OpenSSL.
.SH "TRADUCTION"
.IX Header "TRADUCTION"
La traduction de cette page de manuel est maintenue par
les membres de la liste <debian\-l10n\-french \s-1AT\s0 lists \s-1DOT\s0 debian \s-1DOT\s0 org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr-extra.

Attachment: signature.asc
Description: Digital signature


Reply to: