SYNOPSIS
#include <openssl/pkcs7.h>int PKCS7_decrypt( *p7, *clé_privée, X509 *cert, *données, int drapeaux);
DESCRIPTION
PKCS7_decrypt() extrait et déchiffre le contenu d'une structure PKCS#7 envelopedData. clé_privée est la clé privée du destinataire, cert est le certificat du destinataire, données est un pour écrire le contenu et drapeaux est un ensemble facultatif d'attributs.NOTES
OpenSSL_add_all_algorithms() (ou équivalent) devrait être appelée avant d'utiliser cette fonction, sinon des erreurs à propos d'algorithmes inconnus vont survenir.Bien que le certificat des destinataires ne soit pas nécessaire pour déchiffrer les données, il est nécessaire pour localiser les (éventuellement nombreux) destinataires appropriés dans la structure .
Les attributs suivants peuvent être passés dans le paramètre drapeaux.
Si l'attribut est défini, les en-têtes pour le type text/plain sont supprimés du contenu. Si le contenu n'est pas de type text/plain, alors une erreur est renvoyée.
VALEURS DE RETOUR
PKCS7_decrypt() renvoie 1 en cas de réussite et 0 en cas d'échec. L'erreur peut être obtenue à l'aide de ERR_get_error(3).BOGUES
Les clé et certificat adéquats du destinataire doivent être passés à PKCS7_decrypt(). Ce serait mieux si elle pouvait chercher les clé et certificat adéquats dans une base de données.L'absence de traitement en une seule passe et la nécessité de garder toutes les données en mémoire, comme c'est mentionné dans PKCS7_sign(), s'appliquent aussi à PKCS7_verify().
