Provided by: manpages-fr-extra_20151231_all bug

NOM

       EVP_PKEY_verify_recover_init, EVP_PKEY_verify_recover - Récupérer une signature à l'aide d'un algorithme
       à clef publique

SYNOPSIS

        #include <openssl/evp.h>

        int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx);
        int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx,
                       unsigned char *rout, size_t *routlen,
                       const unsigned char *sig, size_t siglen);

DESCRIPTION

       La fonction EVP_PKEY_verify_recover_init() initialise un contexte d'algorithme à clef publique en
       utilisant la clef pkey pour une opération de vérification et récupération.

       La fonction EVP_PKEY_verify_recover() récupère des données signées en utilisant ctx. La signature est
       indiquée en utilisant les paramètres sig et siglen. Si rout est NULL, alors la taille maximale du tampon
       de sortie est écrite dans le paramètre routlen. Si rout n'est pas NULL, alors, avant l'appel, le
       paramètre routlen devrait contenir la taille du tampon rout. Si l'appel réussit, les données récupérées
       sont écrites dans rout et la quantité de données écrites dans routlen.

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 EVP_verify() devrait être utilisée.

       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 RSA en mode de remplissage PKCS).

       Après l'appel de EVP_PKEY_verify_recover_init(), 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.

       La fonction EVP_PKEY_verify_recover() 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.

VALEURS DE RETOUR

       EVP_PKEY_verify_recover_init() et EVP_PKEY_verify_recover() renvoient 1 en cas de réussite et 0 ou une
       valeur négative en cas d'échec. En particulier, une valeur de retour de -2 indique que l'opération n'est
       pas permise par l'algorithme à clef publique.

EXEMPLE

       Récupérer l'algorithme de signature d'origine signé en utilisant PKCS#1 et un algorithme de signature
       SHA256 :

        #include <openssl/evp.h>
        #include <openssl/rsa.h>

        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 */

VOIR AUSSI

       EVP_PKEY_CTX_new(3), EVP_PKEY_encrypt(3), EVP_PKEY_decrypt(3), EVP_PKEY_sign(3), EVP_PKEY_verify(3),
       EVP_PKEY_derive(3)

HISTORIQUE

       Ces fonctions ont été ajoutées pour la première fois dans OpenSSL 1.0.0.

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT
       lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le
       paquet manpages-fr-extra.

1.0.2a 1.0.2c                                      2015-12-31          fr::crypto::EVP_PKEY_verify_recover(3SSL)