.\" 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_PKEY_verify_recover 3SSL" .TH fr::crypto::EVP_PKEY_verify_recover 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_PKEY_verify_recover_init, EVP_PKEY_verify_recover \- Récupérer une signature à l'aide d'un algorithme à clef publique .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB #include \fR .PP \&\fB int EVP_PKEY_verify_recover_init(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB);\fR \fBint EVP_PKEY_verify_recover(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB,\fR \fBunsigned char *\fR\fIrout\fR\fB, size_t *\fR\fIroutlen\fR\fB,\fR \fBconst unsigned char *\fR\fIsig\fR\fB, size_t\fR \fIsiglen\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" La fonction \fBEVP_PKEY_verify_recover_init\fR() initialise un contexte d'algorithme à clef publique en utilisant la clef \fIpkey\fR pour une opération de vérification et récupération. .PP La fonction \fBEVP_PKEY_verify_recover\fR() récupère des données signées en utilisant \fIctx\fR. La signature est indiquée en utilisant les paramètres \&\fIsig\fR et \fIsiglen\fR. Si \fIrout\fR est \s-1NULL,\s0 alors la taille maximale du tampon de sortie est écrite dans le paramètre \fIroutlen\fR. Si \fIrout\fR n'est pas \&\s-1NULL,\s0 alors, avant l'appel, le paramètre \fIroutlen\fR devrait contenir la taille du tampon \fIrout\fR. Si l'appel réussit, les données récupérées sont écrites dans \fIrout\fR et la quantité de données écrites dans \fIroutlen\fR. .SH "NOTES" .IX Header "NOTES" Normalement, une application ne cherche à savoir que si une opération de vérification de signature a réussi. Dans ce cas la fonction \fBEVP_verify\fR() devrait être utilisée. .PP Parfois, cependant, il est utile d'obtenir les données d'origine signées en utilisant une opération de signature. Seuls certains algorithmes à clef publique peuvent récupérer une signature de cette façon (par exemple \s-1RSA\s0 en mode de remplissage \s-1PKCS\s0). .PP Après l'appel de \fBEVP_PKEY_verify_recover_init\fR(), les opérations de contrôle spécifique à l'algorithme peuvent être réalisée pour définir tous les paramètres nécessaires à l'opération. .PP La fonction \fBEVP_PKEY_verify_recover\fR() peut être appelée plus d'une fois sur le même contexte si plusieurs opérations sont réalisées en utilisant les mêmes paramètres. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBEVP_PKEY_verify_recover_init\fR() et \fBEVP_PKEY_verify_recover\fR() renvoient \&\fB1\fR en cas de réussite et \fB0\fR ou une valeur négative en cas d'échec. En particulier, une valeur de retour de \fB\-2\fR indique que l'opération n'est pas permise par l'algorithme à clef publique. .SH "EXEMPLE" .IX Header "EXEMPLE" Récupérer l'algorithme de signature d'origine signé en utilisant PKCS#1 et un algorithme de signature \s-1SHA256 :\s0 .PP .Vb 2 \& #include \& #include \& \& EVP_PKEY_CTX *ctx; \& unsigned char *rout, *sig; \& size_t routlen, siglen; \& EVP_PKEY *verify_key; \& /* Remarque : verify_key, sig et siglen sont supposées déjà \& * être configurées et verify_key une clef publique RSA \& */ \& ctx = EVP_PKEY_CTX_new(verify_key); \& if (!ctx) \& /* Une erreur est survenue */ \& if (EVP_PKEY_verify_recover_init(ctx) <= 0) \& /* Erreur */ \& if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0) \& /* Erreur */ \& if (EVP_PKEY_CTX_set_signature_md(ctx, EVP_sha256()) <= 0) \& /* Erreur */ \& \& /* Déterminer la taille du tampon */ \& if (EVP_PKEY_verify_recover(ctx, NULL, &routlen, sig, siglen) <= 0) \& /* Erreur */ \& \& rout = OPENSSL_malloc(routlen); \& \& if (!rout) \& /* Erreur malloc */ \& \& if (EVP_PKEY_verify_recover(ctx, rout, &routlen, sig, siglen) <= 0) \& /* Erreur */ \& \& /* Données récupérées : routlen octets écrits dans le tampon rout */ .Ve .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBEVP_PKEY_CTX_new\fR(3), \&\fBEVP_PKEY_encrypt\fR(3), \&\fBEVP_PKEY_decrypt\fR(3), \&\fBEVP_PKEY_sign\fR(3), \&\fBEVP_PKEY_verify\fR(3), \&\fBEVP_PKEY_derive\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" Ces fonctions ont été ajoutées pour la première fois dans OpenSSL 1.0.0. .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.