.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.29) .\" .\" 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::EVP_SignInit 3SSL" .TH fr::crypto::EVP_SignInit 3SSL "2015-12-31" "1.0.2a 1.0.2c" "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" EVP_SignInit, EVP_SignUpdate, EVP_SignFinal \- Fonctions de signature \s-1EVP\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB #include \fR .PP \&\fB int EVP_SignInit_ex(\s-1EVP_MD_CTX\s0 *\fR\fIctx\fR\fB, const \s-1EVP_MD\s0 *\fR\fItype\fR\fB, \s-1ENGINE\s0 *\fR\fIimpl\fR\fB);\fR \fBint EVP_SignUpdate(\s-1EVP_MD_CTX\s0 *\fR\fIctx\fR\fB, const void *\fR\fId\fR\fB, unsigned int\fR \fIcnt\fR\fB);\fR \fBint EVP_SignFinal(\s-1EVP_MD_CTX\s0 *\fR\fIctx\fR\fB,unsigned char *\fR\fIsig\fR\fB,unsigned int *\fR\fIs\fR\fB, \s-1EVP_PKEY\s0 *\fR\fIpkey\fR\fB);\fR .PP \&\fB void EVP_SignInit(\s-1EVP_MD_CTX\s0 *\fR\fIctx\fR\fB, const \s-1EVP_MD\s0 *\fR\fItype\fR\fB);\fR .PP \&\fB int EVP_PKEY_size(\s-1EVP_PKEY\s0 *\fR\fIpkey\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" Les routines de signature \s-1EVP\s0 constituent une interface de haut niveau pour les signatures numériques. .PP \&\fBEVP_SignInit_ex\fR() configure le contexte de signature \fIctx\fR pour utiliser l’algorithme de hachage \fItype\fR à partir de l’ENGINE \fIimpl\fR. \fIctx\fR doit être initialisé avec \fBEVP_MD_CTX_init\fR() avant d’appeler cette fonction. .PP \&\fBEVP_SignUpdate\fR() produit un hachage de \fIcnt\fR octets de \fId\fR dans le contexte de signature \fIctx\fR. Cette fonction peut être appelée plusieurs fois sur le même contexte pour incorporer des données supplémentaires. .PP \&\fBEVP_SignFinal\fR() signe les données dans le \fIctx\fR en utilisant la clef privée \fIpkey\fR et met la signature dans \fIsig\fR. \fIsig\fR doit être au moins de taille EVP_PKEY_size(pkey) octets. \fIs\fR est un paramètre \s-1OUT,\s0 et n’est pas utilisé comme un paramètre \s-1IN.\s0 Le nombre d’octets de données écrits (par exemple la longueur de la signature) sera écrit en nombre entier à \fIs\fR, au plus EVP_PKEY_size(pkey) octets seront écrits. .PP \&\fBEVP_SignInit\fR() initialise un contexte de signature \fIctx\fR pour utiliser l’implémentation par défaut de l’algorithme de hachage \fItype\fR. .PP \&\fBEVP_PKEY_size\fR() renvoie la taille maximale de signature en octet. La signature réelle renvoyée par \fBEVP_SignFinal\fR() peut être plus petite. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBEVP_SignInit_ex\fR(), \fBEVP_SignUpdate\fR() et \fBEVP_SignFinal\fR() renvoient \&\fB1\fR en cas de réussite et \fB0\fR en cas d'échec. .PP \&\fBEVP_PKEY_size\fR() renvoie la taille maximale de la signature en octet. .PP Les codes d'erreur peuvent être obtenus par \&\fBERR_get_error\fR(3). .SH "NOTES" .IX Header "NOTES" L’interface \fB\s-1EVP\s0\fR 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. .PP En raison du lien entre les algorithmes de hachage de message et les algorithmes à clef publique, l’algorithme de hachage adéquat doit être utilisé avec le bon type de clef publique. Une liste d’algorithmes et leurs algorithmes à clef publique associés est incluse dans \&\fBEVP_DigestInit\fR(3). .PP Lors de la signature avec les clefs privées \s-1DSA,\s0 le générateur de nombre aléatoire doit être égrainé sinon l’opération échouera. Le générateur n’a nul besoin de graine pour les signatures \s-1RSA.\s0 .PP L’appel à \fBEVP_SignFinal\fR(), de manière interne, réalise une copie du contexte du hachage. Cela signifie que des appels à \fBEVP_SignUpdate\fR() et \&\fBEVP_SignFinal\fR() peuvent être faits ultérieurement pour un hachage et une signature de données additionnelles. .PP Puisqu’une seule copie est réalisée, le contexte de l’empreinte numérique doit être nettoyé après utilisation en appelant \fBEVP_MD_CTX_cleanup\fR() ou une fuite de mémoire se produira. .SH "BOGUES" .IX Header "BOGUES" De vieilles versions de cette documentation affirment faussement que des appels à \fBEVP_SignUpdate\fR() ne peuvent être réalisés après l’appel à \&\fBEVP_SignFinal\fR(). .PP Puisque la clef privée est fournie dans l’appel à \fBEVP_SignFinal\fR(), aucune erreur en rapport avec la clef privée (par exemple une association impropre de clef et d’algorithme de hachage) ne sera signalée avant que de grandes quantités potentielles ne soient fournies par \fBEVP_SignUpdate\fR(). .PP Changer les paramètres de signature n’est pas possible avec ces fonctions. .PP Ces deux bogues sont corrigés dans la nouvelle fonction \&\fBEVP_SignDigest*\fR(). .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBEVP_VerifyInit\fR(3), \&\fBEVP_DigestInit\fR(3), \fBerr\fR(3), \&\fBevp\fR(3), \fBhmac\fR(3), \fBmd2\fR(3), \&\fBmd5\fR(3), \fBmdc2\fR(3), , \&\fBsha\fR(3), \fBdgst\fR(1) .SH "HISTORIQUE" .IX Header "HISTORIQUE" \&\fBEVP_SignInit\fR(), \fBEVP_SignUpdate\fR() et \fBEVP_SignFinal\fR() sont disponibles dans toutes les versions de SSLeay et OpenSSL. .PP \&\fBEVP_SignInit_ex\fR() a été ajoutée dans OpenSSL 0.9.7. .SH "TRADUCTION" .IX Header "TRADUCTION" La traduction de cette page de manuel est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages-fr-extra.