.\" 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::X509_NAME_add_entry_by_txt 3SSL" .TH fr::crypto::X509_NAME_add_entry_by_txt 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" X509_NAME_add_entry_by_txt, X509_NAME_add_entry_by_OBJ, X509_NAME_add_entry_by_NID, X509_NAME_add_entry, X509_NAME_delete_entry \- Fonctions de modification des structures X509_NAME .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include .Ve .PP \&\fB int X509_NAME_add_entry_by_txt(X509_NAME *\fR\fInom\fR\fB, const char *\fR\fIchamp\fR\fB, int\fR \fItype\fR\fB, const unsigned char *\fR\fIbytes\fR\fB, int\fR \fIlen\fR\fB, int\fR \fIloc\fR\fB, int\fR \fIset\fR\fB);\fR .PP \&\fB int X509_NAME_add_entry_by_OBJ(X509_NAME *\fR\fInom\fR\fB, \s-1ASN1_OBJECT\s0 *\fR\fIobj\fR\fB, int\fR \fItype\fR\fB, unsigned char *\fR\fIbytes\fR\fB, int\fR \fIlen\fR\fB, int\fR \fIloc\fR\fB, int\fR \fIset\fR\fB);\fR .PP \&\fB int X509_NAME_add_entry_by_NID(X509_NAME *\fR\fInom\fR\fB, int\fR \fInid\fR\fB, int\fR \fItype\fR\fB, unsigned char *\fR\fIbytes\fR\fB, int\fR \fIlen\fR\fB, int\fR \fIloc\fR\fB, int\fR \fIset\fR\fB);\fR .PP \&\fB int X509_NAME_add_entry(X509_NAME *\fR\fInom\fR\fB,X509_NAME_ENTRY *\fR\fIne\fR\fB, int\fR \fIloc\fR\fB, int\fR \fIset\fR\fB);\fR .PP \&\fB X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *\fR\fInom\fR\fB, int\fR \fIloc\fR\fB);\fR .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBX509_NAME_add_entry_by_txt\fR(), \fBX509_NAME_add_entry_by_OBJ\fR() et \&\fBX509_NAME_add_entry_by_NID\fR() ajoutent un champ dont le nom est défini par une chaîne \fIchamp\fR, un objet \fIobj\fR ou un \s-1NID \s0\fInid\fR respectivement. La valeur du champ à ajouter est dans \fIbytes\fR de longueur \fIlen\fR. Si \fIlen\fR est \fB\-1\fR, alors la longueur du champ est calculé en interne à l'aide de \&\fBstrlen\fR(\fIbytes\fR). .PP Le type de champ est déterminé par \fItype\fR qui peut être soit une définition du type de \fIbytes\fR (tel que \fB\s-1MBSTRING_ASC\s0\fR) ou un type \s-1ASN1\s0 standard (tel que \fBV_ASN1_IA5STRING\fR). La nouvelle entrée est ajoutée à une position déterminée par \fIloc\fR et \fIset\fR. .PP \&\fBX509_NAME_add_entry\fR() ajoute une copie de la structure \fBX509_NAME_ENTRY\fR \&\fIne\fR à \fInom\fR. La nouvelle entrée est ajoutée à une position déterminée par \&\fIloc\fR et \fIset\fR. Puisqu'une copie de \fIne\fR est ajoutée, \fIne\fR doit être libéré après l'appel. .PP \&\fBX509_NAME_delete_entry\fR() supprime une entrée de \fInom\fR à la position \&\fIloc\fR. L'entrée supprimée est renvoyée et doit être libérée. .SH "NOTES" .IX Header "NOTES" L'utilisation des types chaîne telles que \fB\s-1MBSTRING_ASC\s0\fR ou \&\fB\s-1MBSTRING_UTF8\s0\fR est vivement recommandée pour le paramètre \fItype\fR. Cela permet au code interne de déterminer correctement le type de champ et d'appliquer des contrôles de longueur selon les normes en vigueur. Cela est fait en utilisant \fBASN1_STRING_set_by_NID\fR(). .PP Si un type \s-1ASN1\s0 est utilisé à la place, alors aucun contrôle n'est effectué et les données dans \fIbytes\fR sont utilisées directement. .PP Dans \fBX509_NAME_add_entry_by_txt\fR() la chaîne \fIfield\fR représente le nom du champ à l'aide de \fBOBJ_txt2obj\fR(\fIchamp, 0\fR). .PP Les paramètres \fIloc\fR et \fIset\fR déterminent où une nouvelle entrée devrait être ajoutée. Pour la quasi\-totalité des applications \fIloc\fR peut être réglé à \-1 et \fIset\fR à 0. Cela ajoute une nouvelle entrée à la fin de \fInom\fR comme une valeur unique de « RelativeDistinguishedName » (\s-1RDN\s0). .PP \&\fIloc\fR détermine en fait l'index où la nouvelle entrée est insérée : s’il vaut \-1, elle est ajoutée à la fin. .PP \&\fIset\fR détermine comment le nouveau type est ajouté. S’il vaut zéro, un nouveau \s-1RDN\s0 est créé. .PP Si \fIset\fR est \-1 ou 1, il est ajouté respectivement à la structure \s-1RDN\s0 précédente ou suivante. Ce sera alors un \s-1RDN \s0\fImulti-valeur\fR : comme les \s-1RDN \&\s0\fImulti-valeur\fR sont très rarement utilisés, \fIset\fR est presque toujours mis à zéro. .SH "EXEMPLES" .IX Header "EXEMPLES" Créer une structure \fBX509_NAME\fR : .PP \&\*(L"C=FR, O=Organisation désorganisée, CN=Joe Bloggs\*(R" .PP .Vb 10 \& X509_NAME *nm; \& nm = X509_NAME_new(); \& if (nm == NULL) \& /* Une erreur*/ \& if S<( X509_NAME_add_entry_by_txt(nm,> "C", MBSTRING_ASC, \& "FR", \-1, \-1, 0)) \& /* Erreur */ \& if S<( !X509_NAME_add_entry_by_txt(nm,> "O", MBSTRING_ASC, \& "Organisation désorganisée", \-1, \-1, 0)) \& /* Erreur */ \& if S<( !X509_NAME_add_entry_by_txt(nm,> "CN", MBSTRING_ASC, \& "Joe Bloggs", \-1, \-1, 0)) \& /* Erreur */ .Ve .SH "VALEURS DE RETOUR" .IX Header "VALEURS DE RETOUR" \&\fBX509_NAME_add_entry_by_txt\fR(), \fBX509_NAME_add_entry_by_OBJ\fR(), \&\fBX509_NAME_add_entry_by_NID\fR() et \fBX509_NAME_add_entry\fR() renvoient 1 en cas de succès et 0 si une erreur s'est produite. .PP \&\fBX509_NAME_delete_entry\fR() renvoie soit la structure \fBX509_NAME_ENTRY\fR supprimée ou \s-1NULL\s0 si une erreur s'est produite. .SH "BOGUES" .IX Header "BOGUES" \&\fItype\fR peut être positionné à \fBV_ASN1_APP_CHOOSE\fR pour utiliser un algorithme différent pour déterminer les types de champ. Puisque cette forme ne peut pas comprendre les types multi\-caractères, qu'elle n'effectue aucune vérification de longueur et qu'elle peut entraîner des types de champs non valables, son utilisation est fortement déconseillée. .SH "VOIR AUSSI" .IX Header "VOIR AUSSI" \&\fBERR_get_error\fR(3), \&\fBd2i_X509_NAME\fR(3) .SH "HISTORIQUE" .IX Header "HISTORIQUE" .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.