.\" 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 3SSL" .TH fr::crypto::evp 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 \- Fonctions cryptographiques de haut niveau .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB #include \fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" La bibliothèque \s-1EVP\s0 fournit une interface haut niveau aux fonctions cryptographiques. .PP \&\fBEVP_Seal\fR\fI...\fR et \fBEVP_Open\fR\fI...\fR fournissent le chiffrement et le déchiffrement à clef publique pour implémenter des « enveloppes » numériques. .PP Les fonctions \fBEVP_DigestSign\fR\fI...\fR et \&\fBEVP_DigestVerify\fR\fI...\fR mettent en œuvre des signatures numériques et des codes d’authentification de message (\s-1MAC\s0). Aussi les fonctions anciennes \fBEVP_Sign\fR\fI...\fR et \&\fBEVP_Verify\fR\fI...\fR sont à considérer. .PP Le chiffrement symétrique est disponible avec les fonctions \&\fBEVP_Encrypt\fR\fI...\fR. Les fonctions \&\fBEVP_Digest\fR\fI...\fR fournissent les signatures de message. .PP Les fonctions \fB\s-1EVP_PKEY\s0\fR\fI...\fR fournissent une interface haut niveau pour les algorithmes asymétriques. Pour créer un nouveau \fB\s-1EVP_PKEY\s0\fR, consulter \&\fBEVP_PKEY_new\fR(3)|\fIEVP_PKEY_new\fR\|(3)>. \fB\s-1EVP_PKEY\s0\fR peut être associé avec une clef privée d’un algorithme particulier en utilisant les fonctions décrites dans les pages \fBEVP_PKEY_set1_RSA)\fR(3), ou de nouvelles clefs peuvent être créées en utilisant \&\fBEVP_PKEY_keygen\fR(3). Des \fB\s-1EVP_PKEY\s0\fR peuvent être comparées en utilisant \fBEVP_PKEY_cmp\fR(3), ou affichées avec \fBEVP_PKEY_print_private\fR(3). .PP Les fonctions \fB\s-1EVP_PKEY\s0\fR prennent en charge toutes les opérations d’algorithme asymétrique : .IP "Pour l’accord de clef, consultez \fBEVP_PKEY_derive\fR(3)." 4 .IX Item "Pour l’accord de clef, consultez EVP_PKEY_derive(3)." .PD 0 .IP "Pour une signature ou une vérification, consultez \fBEVP_PKEY_sign\fR(3), \fBEVP_PKEY_verify\fR(3) et \fBEVP_PKEY_verify_recover\fR(3). Cependant, ces fonctions ne réalisent pas un condensat des données à signer. Par conséquent les fonctions \fBEVP_DigestSign\fR\fI...\fR sont à utiliser." 4 .IX Item "Pour une signature ou une vérification, consultez EVP_PKEY_sign(3), EVP_PKEY_verify(3) et EVP_PKEY_verify_recover(3). Cependant, ces fonctions ne réalisent pas un condensat des données à signer. Par conséquent les fonctions EVP_DigestSign... sont à utiliser." .IP "Pour le chiffrement et le déchiffrement, consultez \fBEVP_PKEY_encrypt\fR(3) et \fBEVP_PKEY_decrypt\fR(3) respectivement. Cependant, ces fonctions réalisent uniquement un chiffrement et un déchiffrement. Comme le chiffrement par clef publique est une opération coûteuse, habituellement le message chiffré est enveloppé dans une « enveloppe numérique » en utilisant les fonctions \fBEVP_Seal\fR\fI...\fR et \fBEVP_Open\fR\fI...\fR." 4 .IX Item "Pour le chiffrement et le déchiffrement, consultez EVP_PKEY_encrypt(3) et EVP_PKEY_decrypt(3) respectivement. Cependant, ces fonctions réalisent uniquement un chiffrement et un déchiffrement. Comme le chiffrement par clef publique est une opération coûteuse, habituellement le message chiffré est enveloppé dans une « enveloppe numérique » en utilisant les fonctions EVP_Seal... et EVP_Open...." .PD .PP La fonction \fBEVP_BytesToKey\fR(3) fournit une prise en charge limitée pour un chiffrement du mot de passe. Un choix méticuleux des paramètres fournit une prise en charge compatible avec \s-1PBKDF1\s0 pour PKCS#5. Cependant, les nouvelles applications ne devraient pas normalement utiliser cela (en préférant, par exemple, \s-1PBKDF2\s0 de PCKS#5). .PP Les algorithmes sont chargés avec \&\fBOpenSSL_add_all_algorithms\fR(3). .PP Tous les algorithmes symétriques (pour le chiffrement), les algorithmes de signature et les algorithmes asymétriques (algorithmes à clef publique) peuvent être remplacés par les modules \s-1ENGINE\s0 fournissant des implémentations alternatives. Si des implémentations \s-1ENGINE\s0 d'algorithmes de chiffrement ou de signature sont enregistrées par défaut, alors les diverses fonctions \s-1EVP\s0 utiliseront automatiquement ces implémentations de préférence pour les intégrer aux implémentations logicielles. Pour plus de renseignements, consultez la page de manuel \fBengine\fR(3). .PP Bien que des fonctions bas niveau spécifiques aux algorithmes existent pour plusieurs algorithmes, leur utilisation n'est pas recommandée. Elles ne peuvent pas être utilisées avec un \s-1ENGINE,\s0 et les versions d'\s-1ENGINE\s0 des nouveaux algorithmes ne sont pas accessibles en utilisant les fonctions bas niveau. De plus, cela rend le code plus difficile à adapter aux nouveaux algorithmes, certaines options ne sont pas proprement prises en charge au bas niveau, et certaines opérations sont plus efficaces en utilisant l'interface haut niveau. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBEVP_DigestInit\fR(3), \&\fBEVP_EncryptInit\fR(3), \&\fBEVP_OpenInit\fR(3), \&\fBEVP_SealInit\fR(3), \&\fBEVP_DigestSignInit\fR(3), \&\fBEVP_SignInit\fR(3), \&\fBEVP_VerifyInit\fR(3), \&\fBEVP_PKEY_new\fR(3), \&\fBEVP_PKEY_set1_RSA\fR(3), \&\fBEVP_PKEY_keygen\fR(3), \&\fBEVP_PKEY_print_private\fR(3), \&\fBEVP_PKEY_decrypt\fR(3), \&\fBEVP_PKEY_encrypt\fR(3), \&\fBEVP_PKEY_sign\fR(3), \&\fBEVP_PKEY_verify\fR(3), \&\fBEVP_PKEY_verify_recover\fR(3), \&\fBEVP_PKEY_derive\fR(3), \&\fBEVP_BytesToKey\fR(3), \&\fBOpenSSL_add_all_algorithms\fR(3), \&\fBengine\fR(3) .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.