.\" 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::DSA_generate_parameters 3SSL" .TH fr::crypto::DSA_generate_parameters 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" DSA_generate_parameters_ex, DSA_generate_parameters \- Créer des paramètres \&\s-1DSA\s0 .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fB #include \fBlt\fBopenssl/dsa.h>\fR .PP \&\fB int DSA_generate_parameters_ex(\s-1DSA\s0 *\fR\fIdsa\fR\fB, int\fR \fIbits\fR\fB,\fR \fBconst unsigned char *\fR\fIseed\fR\fB, int\fR \fIseed_len\fR\fB,\fR \fBint *\fR\fIcounter_ret\fR\fB, unsigned long *\fR\fIh_ret\fR\fB, \s-1BN_GENCB\s0 *\fR\fIcb\fR\fB);\fR .PP Obsolète : .PP \&\fB \s-1DSA\s0 *DSA_generate_parameters(int\fR \fIbits\fR\fB, unsigned char *\fR\fIseed\fR\fB,\fR \fBint\fR \fIseed_len\fR\fB int *\fR\fIcounter_ret\fR\fB, unsigned long *\fR\fIh_ret\fR\fB,\fR \fBvoid (*\fR\fIcallback\fR\fB)(int, int, void *), void *\fR\fIcb_arg\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBDSA_generate_parameters_ex\fR() crée des nombres premiers \fIp\fR et \fIq\fR et un générateur \fIg\fR pour utiliser dans le \s-1DSA\s0 et conserve le résultat dans \&\fIdsa\fR. .PP \&\fIbits\fR est la taille du nombre premier à générer ; la \s-1DSS\s0 permet 1024 bits au maximum. .PP Si \fIseed\fR est \s-1NULL\s0 ou \fIseed_len\fR < 20, les nombres premiers seront créés de façon aléatoire. Sinon, ils seront initialisés avec \fIseed\fR. Si la valeur de départ donnée ne renvoie pas de nombre premier \fIq\fR, une nouvelle initialisation aléatoire est choisie et placée dans \fIseed\fR. .PP \&\fBDSA_generate_parameters_ex\fR() place le décompte d’itérations dans \&\fB*\fR\fIcounter_ret\fR et un compteur utilisé pour trouver un générateur dans \&\fB*\fR\fIh_ret\fR, sauf s’ils sont \s-1NULL.\s0 .PP Une fonction de rappel pourrait être utilisée pour fournir un retour sur l’avancement de la création de clef. Si \fIcb\fR n’est pas \s-1NULL,\s0 elle sera appelée comme montré ci-dessous. Pour plus de renseignements sur la structure \fB\s-1BN_GENCB\s0\fR et la fonction \fBBN_GENCB_call\fR() évoquées ci-dessous, consultez \fBBN_generate_prime\fR(3). .IP "\(bu" 4 Quand un candidat pour \fIq\fR est créé, \fBBN_GENCB_call(\fR\fIcb\fR, \fB0,\fR \&\fIm\fR\fB++\fR\fB)\fR est appelée (\fIm\fR est \fB0\fR pour le premier candidat). .IP "\(bu" 4 Quand un candidat pour \fIq\fR a passé un test par divisions successives, \&\fBBN_GENCB_call(\fR\fIcb\fR\fB, 1, \-1)\fR est appelée. Alors qu’un candidat pour \&\fIq\fR est testé par les tests de primalité de Miller-Rabin, \&\fBBN_GENCB_call(\fR\fIcb\fR\fB, 1,\fR \fIi\fR\fB)\fR est appelée dans la boucle externe (une fois pour chaque témoin confirmant que le candidat pourrait être premier) ; \fIi\fR est le compteur de boucles (commençant à \fB0\fR). .IP "\(bu" 4 Quand un nombre premier \fIq\fR a été trouvé, \fBBN_GENCB_call(\fR\fIcb\fR\fB, 2, 0)\fR et \fBBN_GENCB_call(\fR\fIcb\fR\fB, 3, 0)\fR sont appelées. .IP "\(bu" 4 Avant qu’un candidat pour \fIp\fR (autre que le premier) ne soit créé et testé, \&\fBBN_GENCB_call(\fR\fIcb\fR\fB, 0,\fR \fIcompteur\fR\fB)\fR est appelée. .IP "\(bu" 4 Quand un candidat pour \fIp\fR a passé un test par divisions successives, \&\fBBN_GENCB_call(\fR\fIcb\fR\fB, 1, \-1)\fR est appelée. Alors qu’il est testé par les tests de primalité de Miller-Rabin, \fBBN_GENCB_call(\fR\fIcb\fR\fB, 1,\fR \fIi\fR\fB)\fR est appelée dans la boucle externe (une fois pour chaque témoin confirmant que le candidat pourrait être premier). \fIi\fR est le compteur de boucle (commençant à \fB0\fR). .IP "\(bu" 4 Quand \fIp\fR a été trouvé, \fBBN_GENCB_call(\fR\fIcb\fR\fB, 2, 1)\fR est appelée. .IP "\(bu" 4 Quand le générateur a été trouvé, \fBBN_GENCB_call(\fR\fIcb\fR\fB, 3, 1)\fR est appelée. .PP \&\fBDSA_generate_parameters\fR() (obsolète) fonctionne de façon très similaire à \&\fBDSA_generate_parameters_ex\fR(), à part qu’aucun paramètre \fIdsa\fR n’est passé et, qu’à la place, une structure \fB\s-1DSA\s0\fR nouvellement allouée est renvoyée. De plus, les rappels « à l’ancienne » sont utilisés au lieu de la nouvelle approche basée sur \fB\s-1BN_GENCB\s0\fR. Consultez \&\fBBN_generate_prime\fR(3) pour plus de renseignements. .SH "VALEUR DE RETOUR" .IX Header "VALEUR DE RETOUR" \&\fBDSA_generate_parameters_ex\fR() renvoie \fB1\fR si elle réussit et \fB0\fR sinon. .PP \&\fBDSA_generate_parameters\fR() renvoie un pointeur vers la structure \s-1DSA\s0 ou \&\s-1NULL\s0 en cas d’échec de création de paramètre. .PP Les codes d'erreur peuvent être obtenus à l'aide de \&\fBERR_get_error\fR(3). .SH "BOGUES" .IX Header "BOGUES" Les tailles de \fIseed\fR > 20 ne sont pas prises en charge. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBdsa\fR(3), \fBERR_get_error\fR(3), \&\fBrand\fR(3), \fBDSA_free\fR(3), \&\fBBN_generate_prime\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" \&\fBDSA_generate_parameters\fR() est apparue dans SSLeay 0.8. L’argument \&\fIcb_arg\fR a été ajouté dans SSLeay 0.9.0. Dans OpenSSL jusqu’à la version 0.9.4, \fIcallback\fR\fB(1, ...)\fR était appelée dans la boucle interne du test de Miller-Rabin à chaque fois qu’elle atteignait l’étape du carré (les paramètres de \fIcallback\fR n’indiquaient pas le nombre de témoins qui avaient été essayés) ; depuis OpenSSL 0.9.5, \fIcallback\fR\fB(1, ...)\fR est appelée comme dans \fBBN_is_prime\fR(3), c’est\-à\-dire une fois par témoin. .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.