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

[RFR]po4a://manpages-fr-extra/openssl/po4a/evp/EVP_{DigestInit,DigestSignInit}/po/fr.po



Bonjour,

proposition de traduction de deux pages de manuel de EVP.
Fichiers nouvellement traduits et construits joints.

Merci d’avance pour vos relectures.

-- 
Jean-Paul

Attachment: EVP_DigestInit.3ssl
Description: Binary data

Attachment: EVP_DigestSignInit.3ssl
Description: Binary data

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:5
msgid ""
"EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_DigestInit_ex, EVP_DigestUpdate, "
"EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE, "
"EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, "
"EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, "
"EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, "
"EVP_sha, EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, "
"EVP_dss1, EVP_mdc2, EVP_ripemd160, EVP_get_digestbyname, "
"EVP_get_digestbynid, EVP_get_digestbyobj - EVP digest routines"
msgstr ""
"EVP_MD_CTX_init, EVP_MD_CTX_create, EVP_DigestInit_ex, EVP_DigestUpdate, "
"EVP_DigestFinal_ex, EVP_MD_CTX_cleanup, EVP_MD_CTX_destroy, EVP_MAX_MD_SIZE, "
"EVP_MD_CTX_copy_ex, EVP_MD_CTX_copy, EVP_MD_type, EVP_MD_pkey_type, "
"EVP_MD_size, EVP_MD_block_size, EVP_MD_CTX_md, EVP_MD_CTX_size, "
"EVP_MD_CTX_block_size, EVP_MD_CTX_type, EVP_md_null, EVP_md2, EVP_md5, "
"EVP_sha, EVP_sha1, EVP_sha224, EVP_sha256, EVP_sha384, EVP_sha512, EVP_dss, "
"EVP_dss1, EVP_mdc2, EVP_ripemd160, EVP_get_digestbyname, "
"EVP_get_digestbynid, EVP_get_digestbyobj - Routines EVP dâ??algorithme de "
"hachage"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:18
#, no-wrap
msgid ""
" void EVP_MD_CTX_init(EVP_MD_CTX *ctx);\n"
" EVP_MD_CTX *EVP_MD_CTX_create(void);\n"
"\n"
msgstr ""
"B< void EVP_MD_CTX_init(EVP_MD_CTX *>I<ctx>B<);>\n"
" B<EVP_MD_CTX *EVP_MD_CTX_create(void);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:21
#, no-wrap
msgid ""
" int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);\n"
" int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);\n"
" int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,\n"
"        unsigned int *s);\n"
"\n"
msgstr ""
"B< int EVP_DigestInit_ex(EVP_MD_CTX *>I<ctx>B<, const EVP_MD *>I<type>B<, ENGINE *>I<impl>B<);>\n"
" B<int EVP_DigestUpdate(EVP_MD_CTX *>I<ctx>B<, const void *>I<d>B<, size_t> I<cnt>B<);>\n"
" B<int EVP_DigestFinal_ex(EVP_MD_CTX *>I<ctx>B<, unsigned char *>I<md>B<,>\n"
"        B<unsigned int *>I<s>B<);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:26
#, no-wrap
msgid ""
" int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx);\n"
" void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);\n"
"\n"
msgstr ""
"B< int EVP_MD_CTX_cleanup(EVP_MD_CTX *>I<ctx>B<);>\n"
" B<void EVP_MD_CTX_destroy(EVP_MD_CTX *>I<ctx>B<);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:29
#, no-wrap
msgid ""
" int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const EVP_MD_CTX *in);  \n"
"\n"
msgstr ""
"B< int EVP_MD_CTX_copy_ex(EVP_MD_CTX *>I<out>B<,const EVP_MD_CTX *>I<in>B<);>  \n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:31
#, no-wrap
msgid ""
" int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);\n"
" int EVP_DigestFinal(EVP_MD_CTX *ctx, unsigned char *md,\n"
"        unsigned int *s);\n"
"\n"
msgstr ""
"B< int EVP_DigestInit(EVP_MD_CTX *>I<ctx>B<, const EVP_MD *>I<type>B<);>\n"
" B<int EVP_DigestFinal(EVP_MD_CTX *>I<ctx>B<, unsigned char *>I<md>B<,>\n"
"        B<unsigned int *>I<s>B<);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:35
#, no-wrap
msgid ""
" int EVP_MD_CTX_copy(EVP_MD_CTX *out,EVP_MD_CTX *in);  \n"
"\n"
msgstr ""
"B< int EVP_MD_CTX_copy(EVP_MD_CTX *>I<out>B<,EVP_MD_CTX *>I<in>B<);>  \n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:37
#, no-wrap
msgid ""
" #define EVP_MAX_MD_SIZE 64\t/* SHA512 */\n"
"\n"
msgstr ""
"B< #define EVP_MAX_MD_SIZE 64\t/* SHA512 *>/\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:39
#, no-wrap
msgid ""
" int EVP_MD_type(const EVP_MD *md);\n"
" int EVP_MD_pkey_type(const EVP_MD *md);\t\n"
" int EVP_MD_size(const EVP_MD *md);\n"
" int EVP_MD_block_size(const EVP_MD *md);\n"
"\n"
msgstr ""
"B< int EVP_MD_type(const EVP_MD *>I<md>B<);>\n"
" B<int EVP_MD_pkey_type(const EVP_MD *>I<md>B<);>\t\n"
" B<int EVP_MD_size(const EVP_MD *>I<md>B<);>\n"
" B<int EVP_MD_block_size(const EVP_MD *>I<md>B<)>;\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:44
#, no-wrap
msgid ""
" const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx);\n"
" #define EVP_MD_CTX_size(e)\t\tEVP_MD_size(EVP_MD_CTX_md(e))\n"
" #define EVP_MD_CTX_block_size(e)\tEVP_MD_block_size((e)->digest)\n"
" #define EVP_MD_CTX_type(e)\t\tEVP_MD_type((e)->digest)\n"
"\n"
msgstr ""
"B< const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *>I<ctx>B<);>\n"
" B<#define EVP_MD_CTX_size(e)\t\tEVP_MD_size(EVP_MD_CTX_md(e))>\n"
" B<#define EVP_MD_CTX_block_size(e)\tEVP_MD_block_size((e)-E<gt>digest)>\n"
" B<#define EVP_MD_CTX_type(e)\t\tEVP_MD_type((e)-E<gt>digest)>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:49
#, no-wrap
msgid ""
" const EVP_MD *EVP_md_null(void);\n"
" const EVP_MD *EVP_md2(void);\n"
" const EVP_MD *EVP_md5(void);\n"
" const EVP_MD *EVP_sha(void);\n"
" const EVP_MD *EVP_sha1(void);\n"
" const EVP_MD *EVP_dss(void);\n"
" const EVP_MD *EVP_dss1(void);\n"
" const EVP_MD *EVP_mdc2(void);\n"
" const EVP_MD *EVP_ripemd160(void);\n"
"\n"
msgstr ""
"B< const EVP_MD *EVP_md_null(void);>\n"
" B<const EVP_MD *EVP_md2(void);>\n"
" B<const EVP_MD *EVP_md5(void);>\n"
" B<const EVP_MD *EVP_sha(void);>\n"
" B<const EVP_MD *EVP_sha1(void);>\n"
" B<const EVP_MD *EVP_dss(void);>\n"
" B<const EVP_MD *EVP_dss1(void);>\n"
" B<const EVP_MD *EVP_mdc2(void);>\n"
" B<const EVP_MD *EVP_ripemd160(void);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:59
#, no-wrap
msgid ""
" const EVP_MD *EVP_sha224(void);\n"
" const EVP_MD *EVP_sha256(void);\n"
" const EVP_MD *EVP_sha384(void);\n"
" const EVP_MD *EVP_sha512(void);\n"
"\n"
msgstr ""
"B< const EVP_MD *EVP_sha224(void);>\n"
" B<const EVP_MD *EVP_sha256(void);>\n"
" B<const EVP_MD *EVP_sha384(void);>\n"
" B<const EVP_MD *EVP_sha512(void);>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:64
#, no-wrap
msgid ""
" const EVP_MD *EVP_get_digestbyname(const char *name);\n"
" #define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))\n"
" #define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))\n"
"\n"
msgstr ""
"B< const EVP_MD *EVP_get_digestbyname(const char *>I<name>B<);>\n"
" B<#define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a))>\n"
" B<#define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a))>\n"
"\n"

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:70
msgid "The EVP digest routines are a high level interface to message digests."
msgstr ""
"Les routines EVP pour algorithme de hachage sont des interfaces de haut "
"niveau pour les condensés de message."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:72
msgid "EVP_MD_CTX_init() initializes digest context B<ctx>."
msgstr ""
"B<EVP_MD_CTX_init>() initialise le contexte I<ctx> du condensé de message."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:74
msgid ""
"EVP_MD_CTX_create() allocates, initializes and returns a digest context."
msgstr ""
"B<EVP_MD_CTX_create>() alloue, initialise et renvoie un contexte de condensé "
"de message."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:76
msgid ""
"EVP_DigestInit_ex() sets up digest context B<ctx> to use a digest B<type> "
"from ENGINE B<impl>. B<ctx> must be initialized before calling this "
"function. B<type> will typically be supplied by a functionsuch as "
"EVP_sha1().  If B<impl> is NULL then the default implementation of digest "
"B<type> is used."
msgstr ""
"B<EVP_DigestInit_ex>() définit un contexte de condensé de message I<ctx> "
"pour utiliser un I<type> dâ??algorithme à partir de lâ??ENGINE I<impl>. I<ctx> "
"doit être initialisé avant dâ??appeler cette fonction. I<type> est "
"habituellement fourni par une fonction telle que B<EVP_sha1>(). Si I<impl> "
"est NULL, alors lâ??implantation du I<type> par défaut est utilisée."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:81
msgid ""
"EVP_DigestUpdate() hashes B<cnt> bytes of data at B<d> into the digest "
"context B<ctx>. This function can be called several times on the same B<ctx> "
"to hash additional data."
msgstr ""
"B<EVP_DigestUpdate>() produit un hachage de I<cnt> octets de données vers "
"I<d> dans le contexte de condensé de message I<ctx>. Cette fonction peut "
"être appelée plusieurs fois pour produire un hachage de données "
"supplémentaires."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:85
msgid ""
"EVP_DigestFinal_ex() retrieves the digest value from B<ctx> and places it in "
"B<md>. If the B<s> parameter is not NULL then the number of bytes of data "
"written (i.e. the length of the digest) will be written to the integer at "
"B<s>, at most B<EVP_MAX_MD_SIZE> bytes will be written.  After calling "
"EVP_DigestFinal_ex() no additional calls to EVP_DigestUpdate()  can be made, "
"but EVP_DigestInit_ex() can be called to initialize a new digest operation."
msgstr ""
"B<EVP_DigestFinal_ex>() récupère la valeur de condensé de message de I<ctx> "
"et le place dans I<md>. Si le paramètre I<s> nâ??est pas NULL, le nombre "
"dâ??octets de données sera écrit (câ??est-à-dire la dimension du condensé de "
"message) sur I<s> (de type entier), au  maximum B<EVP_MAX_MD_SIZE> octets "
"seront écrits. Après lâ??appel de B<EVP_DigestFinal_ex>(), aucun appel "
"supplémentaire à B<EVP_DigestUpdate>() ne pourra être fait, mais "
"B<EVP_DigestInit_ex>() pourra être appelée pour initialiser une nouvelle "
"opération de condensé de message."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:93
msgid ""
"EVP_MD_CTX_cleanup() cleans up digest context B<ctx>, it should be called "
"after a digest context is no longer needed."
msgstr ""
"B<EVP_MD_CTX_cleanup>() nettoie le contexte I<ctx> du condensé de message et "
"devrait être appelée si ce contexte nâ??est plus nécessaire."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:96
msgid ""
"EVP_MD_CTX_destroy() cleans up digest context B<ctx> and frees up the space "
"allocated to it, it should be called only on a context created using "
"EVP_MD_CTX_create()."
msgstr ""
"B<EVP_MD_CTX_destroy>() nettoie le contexte I<ctx> du condensé de message et "
"libère lâ??espace qui lui était alloué. Elle devrait être appelée seulement "
"pour un contexte créé en utilisant B<EVP_MD_CTX_create>()."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:100
msgid ""
"EVP_MD_CTX_copy_ex() can be used to copy the message digest state from B<in> "
"to B<out>. This is useful if large amounts of data are to be hashed which "
"only differ in the last few bytes. B<out> must be initialized before calling "
"this function."
msgstr ""
"B<EVP_MD_CTX_copy_ex>() peut être utilisé pour copier lâ??état du condensé de "
"message de I<in> vers I<out>. Cela est utile si le hachage de grandes "
"quantités de données, qui différent seulement par leurs derniers octets, est "
"à réaliser. I<out> doit être initialisée avant dâ??appeler cette fonction."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:105
msgid ""
"EVP_DigestInit() behaves in the same way as EVP_DigestInit_ex() except the "
"passed context B<ctx> does not have to be initialized, and it always uses "
"the default digest implementation."
msgstr ""
"B<EVP_DigestInit>() fonctionne comme B<EVP_DigestInit_ex>() sauf que le "
"contexte indiqué I<ctx> nâ??a nul besoin dâ??être initialisé et quâ??elle utilise "
"toujours lâ??algorithme implanté par défaut."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:109
msgid ""
"EVP_DigestFinal() is similar to EVP_DigestFinal_ex() except the digest "
"context B<ctx> is automatically cleaned up."
msgstr ""
"B<EVP_DigestFinal>() est similaire à B<EVP_DigestFinal_ex>() sauf que le "
"contexte du condensé de message I<ctx> est automatiquement nettoyé."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:112
msgid ""
"EVP_MD_CTX_copy() is similar to EVP_MD_CTX_copy_ex() except the destination "
"B<out> does not have to be initialized."
msgstr ""
"B<EVP_MD_CTX_copy>() est similaire à B<EVP_MD_CTX_copy_ex>() sauf que la "
"destination I<out> ne doit pas être initialisée."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:115
msgid ""
"EVP_MD_size() and EVP_MD_CTX_size() return the size of the message digest "
"when passed an B<EVP_MD> or an B<EVP_MD_CTX> structure, i.e. the size of the "
"hash."
msgstr ""
"B<EVP_MD_size>() et B<EVP_MD_CTX_size>() renvoient la taille dâ??un condensé "
"de message lorsquâ??il est fourni à une structure B<EVP_MD> ou B<EVP_MD_CTX>, "
"câ??est-à-dire la taille de lâ??empreinte numérique."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:119
msgid ""
"EVP_MD_block_size() and EVP_MD_CTX_block_size() return the block size of the "
"message digest when passed an B<EVP_MD> or an B<EVP_MD_CTX> structure."
msgstr ""
"B<EVP_MD_block_size>() et B<EVP_MD_CTX_block_size>() renvoient la taille de "
"bloc du condensé de message lorsquâ??il est fourni à une structure B<EVP_MD> "
"ou B<EVP_MD_CTX>."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:122
msgid ""
"EVP_MD_type() and EVP_MD_CTX_type() return the NID of the OBJECT IDENTIFIER "
"representing the given message digest when passed an B<EVP_MD> structure.  "
"For example EVP_MD_type(EVP_sha1()) returns B<NID_sha1>. This function is "
"normally used when setting ASN1 OIDs."
msgstr ""
"B<EVP_MD_type>() et B<EVP_MD_CTX_type>() renvoient le NID de OBJECT "
"IDENTIFIER représentant le condensé de message indiqué lorsquâ??il est fourni "
"à une structure B<EVP_MD>. Par exemple, B<EVP_MD_type(EVP_sha1>() renvoie "
"B<NID_sha1>. Cette fonction est généralement utilisée pour définir les "
"OID ASN1."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:127
msgid ""
"EVP_MD_CTX_md() returns the B<EVP_MD> structure corresponding to the passed "
"B<EVP_MD_CTX>."
msgstr ""
"B<EVP_MD_CTX_md>() renvoie la structure B<EVP_MD> correspondant à celle "
"fournie : B<EVP_MD_CTX>."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:130
msgid ""
"EVP_MD_pkey_type() returns the NID of the public key signing algorithm "
"associated with this digest. For example EVP_sha1() is associated with RSA "
"so this will return B<NID_sha1WithRSAEncryption>. Since digests and "
"signature algorithms are no longer linked this function is only retained for "
"compatibility reasons."
msgstr ""
"B<EVP_MD_pkey_type>() renvoie le NID de la clef publique signant "
"lâ??algorithme associé avec ce condensé de message. Par exemple, B<EVP_sha1>() "
"est associée avec RSA, et renverra B<NID_sha1WithRSAEncryption>. Puisque "
"les condensés de message et les algorithmes ne sont plus liés, cette "
"fonction nâ??est plus conservée que pour des raisons de compatibilité."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:136
msgid ""
"EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_sha224(), EVP_sha256(), "
"EVP_sha384(), EVP_sha512(), EVP_mdc2() and EVP_ripemd160() return B<EVP_MD> "
"structures for the MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512, MDC2 "
"and RIPEMD160 digest algorithms respectively."
msgstr ""
"B<EVP_md2>(), B<EVP_md5>(), B<EVP_sha>(), B<EVP_sha1>(), B<EVP_sha224>(), "
"B<EVP_sha256>(), B<EVP_sha384>(), B<EVP_sha512>(), B<EVP_mdc2>() et "
"B<EVP_ripemd160>() renvoient des structures B<EVP_MD> pour leurs algorithmes "
"respectifs : MD2, MD5, SHA, SHA1, SHA224, SHA256, SHA384, SHA512, MDC2 ou "
"RIPEMD160."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:141
msgid ""
"EVP_dss() and EVP_dss1() return B<EVP_MD> structures for SHA and SHA1 digest "
"algorithms but using DSS (DSA) for the signature algorithm. Note: there is "
"no need to use these pseudo-digests in OpenSSL 1.0.0 and later, they are "
"however retained for compatibility."
msgstr ""
"B<EVP_dss>() et B<EVP_dss1>() renvoient des structures B<EVP_MD> structures "
"pour leurs algorithmes de hachage SHA et SHA1 en utilisant DSS (DSA) comme "
"algorithme de signature. Remarque : il nâ??est nul besoin dâ??utiliser ces "
"pseudo-condensés de message dans OpenSSL 1.0.0 ou postérieur ; ces fonctions "
"ne sont plus conservées que pour des raisons de compatibilité."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:146
msgid ""
"EVP_md_null() is a \"null\" message digest that does nothing: i.e. the hash "
"it returns is of zero length."
msgstr ""
"B<EVP_md_null>() est un condensé de message « null » sans aucun effet : "
"câ??est-à-dire la valeur renvoyée est de longueur zéro."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:149
msgid ""
"EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj()  "
"return an B<EVP_MD> structure when passed a digest name, a digest NID or an "
"ASN1_OBJECT structure respectively. The digest table must be initialized "
"using, for example, OpenSSL_add_all_digests() for these functions to work."
msgstr ""
"B<EVP_get_digestbyname>(), B<EVP_get_digestbynid>() et "
"B<EVP_get_digestbyobj>()  renvoient une structure B<EVP_MD> lorsque sont "
"fournis un nom dâ??algorithme de hachage, un NID ou une structure ASN1_OBJECT, "
"respectivement. La table du hachage doit être initialisée en utilisant, par "
"exemple, B<OpenSSL_add_all_digests>() pour que ces fonctions agissent."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:156
msgid ""
"EVP_DigestInit_ex(), EVP_DigestUpdate() and EVP_DigestFinal_ex() return 1 "
"for success and 0 for failure."
msgstr ""
"B<EVP_DigestInit_ex>(), B<EVP_DigestUpdate>() et B<EVP_DigestFinal_ex>() "
"renvoient B<1> en cas de réussite et B<0> en cas dâ??échec."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:159
msgid "EVP_MD_CTX_copy_ex() returns 1 if successful or 0 for failure."
msgstr ""
"B<EVP_MD_CTX_copy_ex>() renvoie B<1> en cas de réussite et B<0> en cas "
"dâ??échec."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:161
msgid ""
"EVP_MD_type(), EVP_MD_pkey_type() and EVP_MD_type() return the NID of the "
"corresponding OBJECT IDENTIFIER or NID_undef if none exists."
msgstr ""
"B<EVP_MD_type>(), B<EVP_MD_pkey_type>() et B<EVP_MD_type>() renvoient le NID "
"du OBJECT IDENTIFIER correspondant ou B<NID_undef> si absent."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:164
msgid ""
"EVP_MD_size(), EVP_MD_block_size(), EVP_MD_CTX_size() and "
"EVP_MD_CTX_block_size() return the digest or block size in bytes."
msgstr ""
"B<EVP_MD_size>(), B<EVP_MD_block_size>(), B<EVP_MD_CTX_size>() et "
"B<EVP_MD_CTX_block_size>() renvoient les tailles de condensé de message ou "
"de bloc en octet."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:167
msgid ""
"EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), "
"EVP_dss1(), EVP_mdc2() and EVP_ripemd160() return pointers to the "
"corresponding EVP_MD structures."
msgstr ""
"B<EVP_md_null>(), B<EVP_md2>(), B<EVP_md5>(), B<EVP_sha>(), B<EVP_sha1>(), "
"B<EVP_dss>(), B<EVP_dss1>(), B<EVP_mdc2>() et B<EVP_ripemd160>() renvoient "
"des pointeurs vers les structures B<EVP_MD> correspondantes."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:171
msgid ""
"EVP_get_digestbyname(), EVP_get_digestbynid() and EVP_get_digestbyobj()  "
"return either an B<EVP_MD> structure or NULL if an error occurs."
msgstr ""
"B<EVP_get_digestbyname>(), B<EVP_get_digestbynid>() et "
"B<EVP_get_digestbyobj>()  renvoient soit une structure B<EVP_MD> ou NULL en "
"cas dâ??erreur."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:176
msgid ""
"The B<EVP> interface to message digests should almost always be used in "
"preference to the low level interfaces. This is because the code then "
"becomes transparent to the digest used and much more flexible."
msgstr ""
"Lâ??interface B<EVP> pour les condensés de message devrait presque toujours "
"être utilisée de préférence aux interfaces de bas niveau. Cela est ainsi "
"parce que le code devient évident pour lâ??algorithme de hachage utilisé et "
"bien plus souple."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:180
msgid ""
"New applications should use the SHA2 digest algorithms such as SHA256.  The "
"other digest algorithms are still in common use."
msgstr ""
"Les nouvelles applications devraient utiliser les algorithmes de hachage "
"SHA2 tels que SHA256. Les autres algorithmes de hachage sont encore "
"communément utilisés."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:183
msgid ""
"For most applications the B<impl> parameter to EVP_DigestInit_ex() will be "
"set to NULL to use the default digest implementation."
msgstr ""
"Pour la plupart des applications, le paramètre B<impl> pour "
"B<EVP_DigestInit_ex>() doit être défini à NULL pour utiliser lâ??implantation "
"par défaut de condensé de message."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:186
msgid ""
"The functions EVP_DigestInit(), EVP_DigestFinal() and EVP_MD_CTX_copy() are "
"obsolete but are retained to maintain compatibility with existing code. New "
"applications should use EVP_DigestInit_ex(), EVP_DigestFinal_ex() and "
"EVP_MD_CTX_copy_ex() because they can efficiently reuse a digest context "
"instead of initializing and cleaning it up on each call and allow non "
"default implementations of digests to be specified."
msgstr ""
"Les fonctions B<EVP_DigestInit>(), B<EVP_DigestFinal>() et "
"B<EVP_MD_CTX_copy>() sont obsolètes mais sont conservées pour compatibilité "
"avec le code existant. Les nouvelles applications devraient utiliser "
"B<EVP_DigestInit_ex>(), B<EVP_DigestFinal_ex>() et B<EVP_MD_CTX_copy_ex>() "
"car elles peuvent, de manière efficace, utiliser de nouveau un contexte de "
"condensé de message au lieu de lâ??initialiser et le nettoyer à chaque appel, "
"et permettent aux implantations non installées de lâ??être."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:193
msgid ""
"In OpenSSL 0.9.7 and later if digest contexts are not cleaned up after use "
"memory leaks will occur."
msgstr ""
"Dans OpenSSL 0.9.7 et postérieur, si un contexte de condensé de message "
"nâ??est pas nettoyé après son utilisation, une fuite de mémoire se produira."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:196
msgid "Stack allocation of EVP_MD_CTX structures is common, for example:"
msgstr ""
"Lâ??allocation de mémoire pour des structures B<EVP_MD_CTX> est courant, par "
"exemple :"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:198
#, no-wrap
msgid ""
" EVP_MD_CTX mctx;\n"
" EVP_MD_CTX_init(&mctx);\n"
"\n"
msgstr ""
" EVP_MD_CTX mctx;\n"
" EVP_MD_CTX_init(&mctx);\n"
"\n"

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:201
msgid ""
"This will cause binary compatibility issues if the size of EVP_MD_CTX "
"structure changes (this will only happen with a major release of OpenSSL).  "
"Applications wishing to avoid this should use EVP_MD_CTX_create() instead:"
msgstr ""
"Cela conduira à des problèmes de compatibilité si la taille de la structure "
"B<EVP_MD_CTX> change (cela ne peut arriver que lors dâ??une nouvelle mise à "
"jour majeure dâ??OpenSSL). Les applications souhaitant éviter ce problème "
"doivent plutôt utiliser B<EVP_MD_CTX_create>() :"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:205
#, no-wrap
msgid ""
" EVP_MD_CTX *mctx;\n"
" mctx = EVP_MD_CTX_create();\n"
"\n"
msgstr ""
" EVP_MD_CTX *mctx;\n"
" mctx = EVP_MD_CTX_create();\n"
"\n"

#. type: =head1
#: C/crypto/EVP_DigestInit.pod:209
msgid "EXAMPLE"
msgstr "EXEMPLE"

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:211
msgid ""
"This example digests the data \"Test Message\\n\" and \"Hello World\\n\", "
"using the digest name passed on the command line."
msgstr ""
"Cet exemple hache les données « Message de test\n"
" » et « Hello World\n"
" », en utilisant le nom dâ??algorithme de hachage fourni sur la ligne de "
"commande."

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:214
#, no-wrap
msgid ""
" #include <stdio.h>\n"
" #include <openssl/evp.h>\n"
"\n"
msgstr ""
" #include <stdio.h>\n"
" #include <openssl/evp.h>\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:217
#, no-wrap
msgid ""
" main(int argc, char *argv[])\n"
" {\n"
" EVP_MD_CTX *mdctx;\n"
" const EVP_MD *md;\n"
" char mess1[] = \"Test Message\\n\";\n"
" char mess2[] = \"Hello World\\n\";\n"
" unsigned char md_value[EVP_MAX_MD_SIZE];\n"
" int md_len, i;\n"
"\n"
msgstr ""
" main(int argc, char *argv[])\n"
" {\n"
" EVP_MD_CTX *mdctx;\n"
" const EVP_MD *md;\n"
" char mess1[] = \"Message de test\\n\";\n"
" char mess2[] = \"Hello World\\n\";\n"
" unsigned char md_value[EVP_MAX_MD_SIZE];\n"
" int md_len, i;\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:226
#, no-wrap
msgid ""
" OpenSSL_add_all_digests();\n"
"\n"
msgstr ""
" OpenSSL_add_all_digests();\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:228
#, no-wrap
msgid ""
" if(!argv[1]) {\n"
" \tprintf(\"Usage: mdtest digestname\\n\");\n"
"\texit(1);\n"
" }\n"
"\n"
msgstr ""
" if(!argv[1]) {\n"
" \tprintf(\"Usage : mdtest digestname\\n\");\n"
"\tB<exit>(1);\n"
" }\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:233
#, no-wrap
msgid ""
" md = EVP_get_digestbyname(argv[1]);\n"
"\n"
msgstr ""
" md = EVP_get_digestbyname(argv[1]);\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:235
#, no-wrap
msgid ""
" if(!md) {\n"
" \tprintf(\"Unknown message digest %s\\n\", argv[1]);\n"
"\texit(1);\n"
" }\n"
"\n"
msgstr ""
" if(!md) {\n"
" \tprintf(\"Algorithme de hachage inconnu %s\\n\", argv[1]);\n"
"\tB<exit>(1);\n"
" }\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:240
#, no-wrap
msgid ""
" mdctx = EVP_MD_CTX_create();\n"
" EVP_DigestInit_ex(mdctx, md, NULL);\n"
" EVP_DigestUpdate(mdctx, mess1, strlen(mess1));\n"
" EVP_DigestUpdate(mdctx, mess2, strlen(mess2));\n"
" EVP_DigestFinal_ex(mdctx, md_value, &md_len);\n"
" EVP_MD_CTX_destroy(mdctx);\n"
"\n"
msgstr ""
" mdctx = EVP_MD_CTX_create();\n"
" EVP_DigestInit_ex(mdctx, md, NULL);\n"
" EVP_DigestUpdate(mdctx, mess1, strlen(mess1));\n"
" EVP_DigestUpdate(mdctx, mess2, strlen(mess2));\n"
" EVP_DigestFinal_ex(mdctx, md_value, &md_len);\n"
" EVP_MD_CTX_destroy(mdctx);\n"
"\n"

#. type: verbatim
#: C/crypto/EVP_DigestInit.pod:247
#, no-wrap
msgid ""
" printf(\"Digest is: \");\n"
" for(i = 0; i < md_len; i++) printf(\"%02x\", md_value[i]);\n"
" printf(\"\\n\");\n"
" }\n"
"\n"
msgstr ""
" printf(\"Digest is: \");\n"
" for(i = 0; i < md_len; i++) printf(\"%02x\", md_value[i]);\n"
" printf(\"\\n\");\n"
" }\n"
"\n"

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:254
msgid ""
"L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>, L<md5(3)|md5(3)>, "
"L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>, L<sha(3)|sha(3)>, L<dgst(1)|"
"dgst(1)>"
msgstr ""
"L<B<evp>(3)|evp(3)>, L<B<hmac>(3)|hmac(3)>, L<B<md2>(3)|md2(3)>, L<B<md5>(3)|"
"md5(3)>, L<B<mdc2>(3)|mdc2(3)>, L<B<ripemd>(3)|ripemd(3)>, L<B<sha>(3)|"
"sha(3)>, L<B<dgst>(1)|dgst(1)>"

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:260
msgid ""
"EVP_DigestInit(), EVP_DigestUpdate() and EVP_DigestFinal() are available in "
"all versions of SSLeay and OpenSSL."
msgstr ""
"B<EVP_DigestInit>(), B<EVP_DigestUpdate>() et B<EVP_DigestFinal>() sont "
"disponibles dans toutes les versions de SSLeay et OpenSSL."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:263
msgid ""
"EVP_MD_CTX_init(), EVP_MD_CTX_create(), EVP_MD_CTX_copy_ex(), "
"EVP_MD_CTX_cleanup(), EVP_MD_CTX_destroy(), EVP_DigestInit_ex()  and "
"EVP_DigestFinal_ex() were added in OpenSSL 0.9.7."
msgstr ""
"B<EVP_MD_CTX_init>(), B<EVP_MD_CTX_create>(), B<EVP_MD_CTX_copy_ex>(), "
"B<EVP_MD_CTX_cleanup>(), B<EVP_MD_CTX_destroy>(), B<EVP_DigestInit_ex>() et "
"B<EVP_DigestFinal_ex>() ont été ajoutées dans OpenSSL 0.9.7."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:267
msgid ""
"EVP_md_null(), EVP_md2(), EVP_md5(), EVP_sha(), EVP_sha1(), EVP_dss(), "
"EVP_dss1(), EVP_mdc2() and EVP_ripemd160() were changed to return truely "
"const EVP_MD * in OpenSSL 0.9.7."
msgstr ""
"B<EVP_md_null>(), B<EVP_md2>(), B<EVP_md5>(), B<EVP_sha>(), B<EVP_sha1>(), "
"B<EVP_dss>(), B<EVP_dss1>(), B<EVP_mdc2>() et B<EVP_ripemd160>() ont été "
"modifiées pour renvoyer correctement I<const EVP_MD *> dans OpenSSL 0.9.7."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:271
msgid ""
"The link between digests and signing algorithms was fixed in OpenSSL 1.0 and "
"later, so now EVP_sha1() can be used with RSA and DSA, there is no need to "
"use EVP_dss1() any more."
msgstr ""
"Le problème de lien entre les algorithmes de condensé de message et de "
"signature a été corrigé dans OpenSSL 1.0 et postérieur, et maintenant "
"B<EVP_sha1>() peut être utilisée avec RSA et DSA ; B<EVP_dss1>() nâ??est plus "
"nécessaire."

#. type: textblock
#: C/crypto/EVP_DigestInit.pod:275
msgid ""
"OpenSSL 1.0 and later does not include the MD2 digest algorithm in the "
"default configuration due to its security weaknesses."
msgstr ""
"OpenSSL 1.0 et postérieurs nâ??intègrent pas lâ??algorithme de hachage MD2 dans "
"leur configuration par défaut à cause de problème de faiblesse."
#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:5
msgid ""
"EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal - EVP signing "
msgstr ""
"EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal - Fonctions "
"EVP dâ??empreinte numérique"

#. type: verbatim
#: C/crypto/EVP_DigestSignInit.pod:11
#, no-wrap
msgid ""
" int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,\n"
"\t\t\tconst EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);\n"
" int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);\n"
" int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen);\n"
"\n"
msgstr ""
"B< int EVP_DigestSignInit(EVP_MD_CTX *>I<ctx>B<, EVP_PKEY_CTX **>I<pctx>B<,>\n"
" \t\t\tB<const EVP_MD *>I<type>B<, ENGINE *e, EVP_PKEY *>I<pkey>B<);>\n"
" B<int EVP_DigestSignUpdate(EVP_MD_CTX *>I<ctx>B<, const void *>I<d>B<, unsigned int cnt);>\n"
" B<int EVP_DigestSignFinal(EVP_MD_CTX *>I<ctx>B<, unsigned char *>I<sig>B<, size_t *>I<siglen>B<);>\n"
"\n"

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:18 C/crypto/EVP_DigestVerifyInit.pod:18
#: C/crypto/EVP_SignInit.pod:21
msgid ""
"The EVP signature routines are a high level interface to digital signatures."
msgstr ""
"Les routines de signature EVP constituent une interface de haut niveau pour "
"les signatures numériques."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:20
msgid ""
"EVP_DigestSignInit() sets up signing context B<ctx> to use digest B<type> "
"from ENGINE B<impl> and private key B<pkey>. B<ctx> must be initialized with "
"EVP_MD_CTX_init() before calling this function. If B<pctx> is not NULL the "
"EVP_PKEY_CTX of the signing operation will be written to B<*pctx>: this can "
"be used to set alternative signing options."
msgstr ""
"B<EVP_DigestSignInit>() définit de contexte de signature I<ctx> à utiliser "
"avec le B<type> dâ??empreinte numérique à partir de lâ??ENGINE I<impl> et la "
"clef privée I<pkey>. I<ctx> doit être initialisé avec B<EVP_MD_CTX_init>() "
"avant lâ??appel de cette fonction. Si <pctx> nâ??est pas NULL, B<EVP_PKEY_CTX> "
"de cette opération de signature sera écrit dans I<*pctx> : cela peut être "
"utilisé pour définir des options alternatives de signature."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:26
msgid ""
"EVP_DigestSignUpdate() hashes B<cnt> bytes of data at B<d> into the "
"signature context B<ctx>. This function can be called several times on the "
"same B<ctx> to include additional data. This function is currently "
"implemented usig a macro."
msgstr ""
"B<EVP_DigestSignUpdate>() calcule un hachage de I<cnt> octets de données "
"vers I<d> dans le contexte de signature I<ctx>. Cette fonction peut être "
"appelée plusieurs fois dans le même I<ctx> pour tenir compte de données "
"additionnelles. Cette fonction est actuellement implantée en utilisant une "
"macro."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:31
msgid ""
"EVP_DigestSignFinal() signs the data in B<ctx> places the signature in "
"B<sig>.  If B<sig> is B<NULL> then the maximum size of the output buffer is "
"written to the B<siglen> parameter. If B<sig> is not B<NULL> then before the "
"call the B<siglen> parameter should contain the length of the B<sig> buffer, "
"if the call is successful the signature is written to B<sig> and the amount "
"of data written to B<siglen>."
msgstr ""
"B<EVP_DigestSignFinal>3() signe les données dans I<ctx> et place lâ??empreinte "
"numérique dans I<sig>. Si I<sig> est NULL, alors la taille maximale du "
"tampon de sortie est écrite dans le paramètre I<siglen>. Si I<sig> nâ??est pas "
"NULL, alors avant lâ??appel, le paramètre I<siglen> doit contenir la taille du "
"tampon I<sig> ; si lâ??appel est réussi, lâ??empreinte numérique est écrite dans "
"I<sig> et le total de données écrites dans I<siglen>."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:40
msgid ""
"EVP_DigestSignInit() EVP_DigestSignUpdate() and EVP_DigestSignaFinal() "
"return 1 for success and 0 or a negative value for failure. In particular a "
"return value of -2 indicates the operation is not supported by the public "
"key algorithm."
msgstr ""
"B<EVP_DigestSignInit>(), B<EVP_DigestSignUpdate>() et B<EVP_DigestSignaFinal>() "
"renvoie B<1> en cas de succès ou une valeur négative en cas dâ??échec. En particulier, "
"une valeur de retour de B<-2> signifie que lâ??opération nâ??est pas permise par "
"lâ??algorithme de clef publique."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:45 C/crypto/EVP_DigestVerifyInit.pod:45
msgid ""
"The error codes can be obtained from L<ERR_get_error(3)|ERR_get_error(3)>."
msgstr ""
"Les codes d'erreur peuvent être obtenus par L<B<ERR_get_error>(3)|"
"ERR_get_error(3)>."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:49 C/crypto/EVP_DigestVerifyInit.pod:49
#: C/crypto/EVP_SignInit.pod:56 C/crypto/EVP_VerifyInit.pod:48
msgid ""
"The B<EVP> interface to digital signatures should almost always be used in "
"preference to the low level interfaces. This is because the code then "
"becomes transparent to the algorithm used and much more flexible."
msgstr ""
"Lâ??interface B<EVP> pour les signatures numériques devrait presque toujours être "
"utilisée de préférence à des interfaces de bas niveaux. Cela est ainsi parce que le "
"code devient évident pour lâ??algorithme utilisé et bien plus souple."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:53 C/crypto/EVP_DigestVerifyInit.pod:53
msgid ""
"In previous versions of OpenSSL there was a link between message digest "
"types and public key algorithms. This meant that \"clone\" digests such as "
"EVP_dss1()  needed to be used to sign using SHA1 and DSA. This is no longer "
"necessary and the use of clone digest is now discouraged."
msgstr ""
"Dans les versions précédentes dâ??OpenSSL, un lien existait entre les empreintes "
"numériques et les algorithmes de clef publique. Cela signifiait que les « clones » "
"dâ??algorithmes de hachage tels que B<EVP_dss1>() devaient être utilisés pour les "
"empreintes numériques SHA1 et DSA. Cela nâ??est plus nécessaire et lâ??utilisation "
"de clone est maintenant déconseillée."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:58 C/crypto/EVP_DigestVerifyInit.pod:58
msgid ""
"For some key types and parameters the random number generator must be seeded "
"or the operation will fail."
msgstr ""
"Pour quelques sortes de clefs et de paramètres, la graine du générateur de nombre "
"aléatoire doit être fournie ou lâ??opération échouera."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:61
msgid ""
"The call to EVP_DigestSignFinal() internally finalizes a copy of the digest "
"context. This means that calls to EVP_DigestSignUpdate() and "
"EVP_DigestSignFinal() can be called later to digest and sign additional data."
msgstr ""
"Lâ??appel à B<EVP_DigestSignFinal>() de manière interne fait une copie du contexte "
"de signature. Cela signifie que des appels à B<EVP_DigestSignUpdate>() et "
"B<EVP_DigestSignFinal>() peuvent être faits en cas de données additionnelles."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:65 C/crypto/EVP_DigestVerifyInit.pod:65
#: C/crypto/EVP_SignInit.pod:73 C/crypto/EVP_VerifyInit.pod:61
msgid ""
"Since only a copy of the digest context is ever finalized the context must "
"be cleaned up after use by calling EVP_MD_CTX_cleanup() or a memory leak "
"will occur."
msgstr ""
"Puisquâ??une seule copie est réalisée, le contexte de lâ??empreinte numérique doit "
"être nettoyé après utilisation en appelant B<EVP_MD_CTX_cleanup>() ou une fuite "
"de mémoire se produira."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:69
msgid ""
"The use of EVP_PKEY_size() with these functions is discouraged because some "
"signature operations may have a signature length which depends on the "
"parameters set. As a result EVP_PKEY_size() would have to return a value "
"which indicates the maximum possible signature for any set of parameters."
msgstr ""
"Lâ??utilisation de B<EVP_PKEY_size>() avec ces fonctions est déconseillée car quelques "
"opérations de signature peuvent avoir une taille dâ??empreinte numérique dépendant "
"de paramètres. Par conséquent, B<EVP_PKEY_size>() devrait renvoyer une valeur "
"donnant la taille maximale possible dâ??empreinte numérique pour nâ??importe quelles définitions "
"des paramètres."

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:76
#| msgid ""
#| "L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, L<EVP_DigestInit(3)|"
#| "EVP_DigestInit(3)>, L<err(3)|err(3)>, L<evp(3)|evp(3)>, L<hmac(3)|"
#| "hmac(3)>, L<md2(3)|md2(3)>, L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, "
#| "L<ripemd(3)|ripemd(3)>, L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>"
msgid ""
"L<EVP_DigestVerifyInit(3)|EVP_DigestVerifyInit(3)>, L<EVP_DigestInit(3)|"
"EVP_DigestInit(3)>, L<err(3)|err(3)>, L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, "
"L<md2(3)|md2(3)>, L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|"
"ripemd(3)>, L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>"
msgstr ""
"L<B<EVP_DigestVerifyInit>(3)|EVP_DigestVerifyInit(3)>, L<B<EVP_DigestInit>(3)|"
"EVP_DigestInit(3)>, L<B<err>(3)|err(3)>, L<B<evp>(3)|evp(3)>, L<B<hmac>(3)|hmac(3)>, "
"L<B<md2>(3)|md2(3)>, L<B<md5>(3)|md5(3)>, L<B<mdc2>(3)|mdc2(3)>, L<B<ripemd>(3)|"
"ripemd(3)>, L<B<sha>(3)|sha(3)>, L<B<dgst>(1)|dgst(1)>"

#. type: textblock
#: C/crypto/EVP_DigestSignInit.pod:84
msgid ""
"EVP_DigestSignInit(), EVP_DigestSignUpdate() and EVP_DigestSignFinal()  were "
"first added to OpenSSL 1.0.0."
msgstr ""
"B<EVP_DigestSignInit>(), B<EVP_DigestSignUpdate>() et B<EVP_DigestSignFinal>() "
"ont été ajoutées pour la première fois à OpenSSL 1.0.0."

Reply to: