.\" 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_CTX_ctrl 3SSL" .TH fr::crypto::EVP_PKEY_CTX_ctrl 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_CTX_ctrl, EVP_PKEY_CTX_ctrl_str, EVP_PKEY_get_default_digest_nid, EVP_PKEY_CTX_set_signature_md, EVP_PKEY_CTX_set_rsa_padding, EVP_PKEY_CTX_set_rsa_pss_saltlen, EVP_PKEY_CTX_set_rsa_rsa_keygen_bits, EVP_PKEY_CTX_set_rsa_keygen_pubexp, EVP_PKEY_CTX_set_dsa_paramgen_bits, EVP_PKEY_CTX_set_dh_paramgen_prime_len, EVP_PKEY_CTX_set_dh_paramgen_generator, EVP_PKEY_CTX_set_ec_paramgen_curve_nid \- Opérations de contrôle spécifiques à l’algorithme .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB #include \fR .PP \&\fB int EVP_PKEY_CTX_ctrl(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fIkeytype\fR\fB, int\fR \fIoptype\fR\fB,\fR \fBint\fR \fIcmd\fR\fB, int\fR \fIp1\fR\fB, void *\fR\fIp2\fR\fB);\fR \fBint EVP_PKEY_CTX_ctrl_str(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, const char *\fR\fItype\fR\fB,\fR \fBconst char *\fR\fIvalue\fR\fB);\fR .PP \&\fB int EVP_PKEY_get_default_digest_nid(\s-1EVP_PKEY\s0 *\fR\fIpkey\fR\fB, int *\fR\fIpnid\fR\fB);\fR .PP \&\fB #include \fR .PP \&\fB int EVP_PKEY_CTX_set_signature_md(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, const \s-1EVP_MD\s0 *\fR\fImd\fR\fB);\fR .PP \&\fB int EVP_PKEY_CTX_set_rsa_padding(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fIpad\fR\fB);\fR \fBint EVP_PKEY_CTX_set_rsa_pss_saltlen(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fIlen\fR\fB);\fR \fBint EVP_PKEY_CTX_set_rsa_rsa_keygen_bits(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fImbits\fR\fB);\fR \fBint EVP_PKEY_CTX_set_rsa_keygen_pubexp(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, \s-1BIGNUM\s0 *\fR\fIpubexp\fR\fB);\fR .PP \&\fB #include \fR \fBint EVP_PKEY_CTX_set_dsa_paramgen_bits(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fInbits\fR\fB);\fR .PP \&\fB #include \fR \fBint EVP_PKEY_CTX_set_dh_paramgen_prime_len(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fIlen\fR\fB);\fR \fBint EVP_PKEY_CTX_set_dh_paramgen_generator(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fIgen\fR\fB);\fR .PP \&\fB #include \fR \fBint EVP_PKEY_CTX_set_ec_paramgen_curve_nid(\s-1EVP_PKEY_CTX\s0 *\fR\fIctx\fR\fB, int\fR \fInid\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" La fonction \fBEVP_PKEY_CTX_ctrl\fR() envoie une opération de contrôle au contexte \fIctx\fR. Le type de clef utilisé doit correspondre à \fIkeytype\fR s’il n’est pas \fB\-1\fR. Le paramètre \fIoptype\fR est un masque indiquant les opérations de contrôle qui peuvent être appliquées. La commande de contrôle est indiquée dans \fIcmd\fR et tous les arguments supplémentaires dans \fIp1\fR et \&\fIp2\fR. .PP Les applications n’appelleront normalement pas \fBEVP_PKEY_CTX_ctrl\fR() directement mais appelleront plutôt une des macros spécifiques à l’algorithme ci-dessous. .PP La fonction \fBEVP_PKEY_CTX_ctrl_str\fR() permet à une application d’envoyer une opération de contrôle spécifique à l’algorithme vers un contexte \fIctx\fR sous forme de chaîne. C’est dans le but d’être utilisé pour des options indiquées sur la ligne de commande ou dans des fichiers texte. Les commandes permises sont documentées dans les pages des lignes de commande de l’utilitaire openssl, pour l’option \fB\-pkeyopt\fR prise en charge par les commandes \fBpkeyutl\fR, \fBgenpkey\fR et \fBreq\fR. .PP Toutes les « fonctions » restantes sont implémentées comme des macros. .PP La macro \fBEVP_PKEY_CTX_set_signature_md\fR() définit le type d’algorithme de message utilisé dans une signature. Il peut être utilisé avec n’importe quel algorithme à clef publique permettant les opérations de signature. .PP La macro \fBEVP_PKEY_CTX_set_rsa_padding\fR() définit le mode de remplissage \&\s-1RSA\s0 pour \fIctx\fR. Le paramètre \fIpad\fR peut prendre la valeur \&\s-1RSA_PKCS1_PADDING\s0 pour un remplissage PKCS#1, \s-1RSA_SSLV23_PADDING\s0 pour un remplissage SSLv23, \s-1RSA_NO_PADDING\s0 pour une absence de remplissage, \&\s-1RSA_PKCS1_OAEP_PADDING\s0 pour un remplissage \s-1OAEP \s0(chiffrement et déchiffrement seulement), \s-1RSA_X931_PADDING\s0 pour un remplissage X9.31 (opérations de signature seulement) et \s-1RSA_PKCS1_PSS_PADDING \s0(signature et vérification seulement). .PP Deux modes de remplissage \s-1RSA\s0 se comportent différemment si \&\fBEVP_PKEY_CTX_set_signature_md\fR() est utilisée. Si cette macro est appelée pour un remplissage PKCS#1, le tampon de texte en clair est une véritable valeur d’algorithme de signature encapsulée dans une structure DigestInfo d’après PKCS#1 lors de la signature et cette structure est attendue (et supprimée) lors de la vérification. Si ce contrôle n’est pas utilisé avec \&\s-1RSA\s0 et un remplissage PKCS#1, alors les données fournies sont utilisées directement et non encapsulées. Dans le cas de remplissage X9.31 pour \s-1RSA,\s0 l’octet identifiant l’algorithme est ajouté ou vérifié et supprimé si ce contrôle est appelé. S’il n’est pas appelé, alors le premier octet du tampon de texte en clair est supposé être l’octet identifiant l’algorithme. .PP La macro \fBEVP_PKEY_CTX_set_rsa_pss_saltlen\fR() définit la taille de sel \s-1PSS RSA\s0 à \fIlen\fR ; comme son nom l’indique, ce n’est utile que pour le remplissage \s-1PSS.\s0 Deux valeurs spéciales sont permises : \fB\-1\fR définit la taille de sel à la taille de signature. Lors d’une signature, \fB\-2\fR définit la taille de sel à la valeur maximale permise. Lors de la vérification, \&\fB\-2\fR force la taille de sel à être déterminée automatiquement à partir de la structure de bloc \fB\s-1PSS\s0\fR. Si cette macro n’est pas appelée, une valeur de taille de sel \fB\-2\fR est utilisée par défaut. .PP La macro \fBEVP_PKEY_CTX_set_rsa_rsa_keygen_bits\fR() définit la taille de clef \&\s-1RSA\s0 pour la génération de clef \s-1RSA\s0 à \fIbits\fR. Si elle n’est pas indiquée, 1024 bits est utilisé. .PP La macro \fBEVP_PKEY_CTX_set_rsa_keygen_pubexp\fR() définit la valeur d’exposant public pour la génération de clef \s-1RSA\s0 à \fIpubexp\fR ; actuellement, ce devrait être un entier impair. Le pointeur \fIpubexp\fR est utilisé en interne par cette fonction, et ne devrait donc pas être modifié ni libéré après l’appel. Si cette macro n’est pas appelée, alors 65537 est utilisé. .PP La macro \fBEVP_PKEY_CTX_set_dsa_paramgen_bits\fR() définit le nombre de bits utilisés pour la génération de paramètres \s-1DSA\s0 à \fIbits\fR. En absence d’indication, 1024 est utilisé. .PP La macro \fBEVP_PKEY_CTX_set_dh_paramgen_prime_len\fR() définit la taille du paramètre \fIp\fR de nombre premier pour la génération de paramètres \s-1DH.\s0 Si cette macro n’est pas appelée, alors 1024 est utilisé. .PP La macro \fBEVP_PKEY_CTX_set_dh_paramgen_generator\fR() définit le générateur \&\s-1DH\s0 à \fIgen\fR pour la génération de paramètres \s-1DH.\s0 En absence d’indication, 2 est utilisé. .PP La macro \fBEVP_PKEY_CTX_set_ec_paramgen_curve_nid\fR() définit la courbe \s-1EC\s0 pour la génération de paramètres \s-1EC\s0 à \fInid\fR. Pour la génération de paramètres \s-1EC,\s0 cette macro doit être appelée sinon une erreur survient parce qu’il n’y a pas de courbe par défaut. .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBEVP_PKEY_CTX_ctrl\fR() et ses macros renvoient une valeur positive en cas de réussite et \fB0\fR ou une valeur négative en cas d’échec. En particulier, une valeur de \fB\-2\fR indique que l’opération n’est pas prise en charge par l’algorithme à clef publique. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBEVP_PKEY_CTX_new\fR(3), \&\fBEVP_PKEY_encrypt\fR(3), \&\fBEVP_PKEY_decrypt\fR(3), \&\fBBEVP_PKEY_sign\fR(3), \&\fBEVP_PKEY_verify\fR(3), \&\fBEVP_PKEY_verify_recover\fR(3), \&\fBEVP_PKEY_derive\fR(3) \&\fBEVP_PKEY_keygen\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.