Provided by: manpages-fr-extra_20151231_all bug

NOM

       X509_NAME_get_index_by_NID, X509_NAME_get_index_by_OBJ, X509_NAME_get_entry,
       X509_NAME_entry_count, X509_NAME_get_text_by_NID, X509_NAME_get_text_by_OBJ - Fonctions de
       recherche et d'indexation de structures X509_NAME

SYNOPSIS

        #include <openssl/x509.h>

        int X509_NAME_get_index_by_NID(X509_NAME *nom,int nid,int dern_pos);
        int X509_NAME_get_index_by_OBJ(X509_NAME *nom,ASN1_OBJECT *obj, int dern_pos);

        int X509_NAME_entry_count(X509_NAME *name);
        X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *nom, int loc);

        int X509_NAME_get_text_by_NID(X509_NAME *nom, int nid, char *buf,int len);
        int X509_NAME_get_text_by_OBJ(X509_NAME *nom, ASN1_OBJECT *obj, char *buf,int len);

DESCRIPTION

       Ces fonctions permettent d'examiner une structure X509_NAME. La structure X509_NAME est la
       même que celle de type Name définie dans la RFC2459 (et ailleurs) et utilisée par exemple
       dans le sujet du certificat et les noms d'émetteur.

       X509_NAME_get_index_by_NID() et X509_NAME_get_index_by_OBJ() récupèrent le prochain indice
       concordant à nid ou obj après dern_pos. dern_pos devrait d'abord être mis à -1. S'il n'y a
       pas plus d'entrées, -1 est renvoyé.

       X509_NAME_entry_count() renvoie le nombre total d'entrées dans nom .

       X509_NAME_get_entry() récupère la structure X509_NAME_ENTRY dans nom correspondant à
       l'indice loc. Les valeurs acceptables pour loc vont de 0 à (X509_NAME_entry_count(name)
       − 1). La valeur renvoyée est un pointeur interne qui ne doit pas être libéré.

       X509_NAME_get_text_by_NID(), X509_NAME_get_text_by_OBJ() récupèrent le « texte » de la
       première entrée dans nom qui correspond à nid ou obj. Si aucune entrée n'existe, -1 est
       renvoyé. Au moins len octets seront écrits et le texte écrit sur buf sera terminé par
       NULL. La longueur de la chaîne de sortie est renvoyée, à l'exclusion du caractère NULL de
       fin. Si buf est NULL, alors la quantité d'espace nécessaire dans buf (hors NULL final) est
       renvoyée.

NOTES

       X509_NAME_get_text_by_NID() et X509_NAME_get_text_by_OBJ() sont des fonctions anciennes
       qui ont diverses limitations qui rendent leur utilisation restreinte dans la pratique.
       Elles ne peuvent trouver que la première entrée correspondante et copier le contenu du
       champ in extenso : ce peut être très déroutant si la cible est une chaîne multi-caractères
       comme un BMPString ou un UTF8String.

       Pour une solution plus générale, X509_NAME_get_index_by_NID() ou
       X509_NAME_get_index_by_OBJ() doit être utilisée, suivie par X509_NAME_get_entry() sur
       chaque indice correspondant, puis les divers utilitaires X509_NAME_ENTRY sur le résultat.

       La liste de tous les codes NID_* et OBJ_* est disponible dans les fichiers d’en-têtes de
       code source <openssl/obj_mac.h> et <openssl/objects.h>.

EXEMPLES

       Traiter toutes les entrées :

        int i;
        X509_NAME_ENTRY *e;

        for (i = 0; i < X509_NAME_entry_count(nm); i++)
               {
               e = X509_NAME_get_entry(nm, i);
               /* Faire quelque chose avec e */
               }

       Traiter toutes les entrées commonName :

        int loc;
        X509_NAME_ENTRY *e;

        loc = -1;
        for (;;)
               {
               dern_pos = X509_NAME_get_index_by_NID(nm, NID_commonName, dern_pos);
               if (dern_pos == -1)
                       break;
               e = X509_NAME_get_entry(nm, dern_pos);
               /* Faire quelque chose avec e */
               }

VALEURS DE RETOUR

       X509_NAME_get_index_by_NID() et X509_NAME_get_index_by_OBJ() renvoient l'index de la
       prochaine entrée correspondante ou -1 si elle n'est pas trouvée.

       X509_NAME_entry_count() renvoie le nombre total d'entrées.

       X509_NAME_get_entry() renvoie un pointeur X509_NAME vers l'entrée demandée ou NULL si
       l'index n'est pas valable.

VOIR AUSSI

       ERR_get_error(3), d2i_X509_NAME(3)

HISTORIQUE

       À préciser

TRADUCTION

       La traduction de cette page de manuel est maintenue par les membres de la liste
       <debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler toute erreur de
       traduction par un rapport de bogue sur le paquet manpages-fr-extra.

1.0.2a 1.0.2c                               2015-12-3fr::crypto::X509_NAME_get_index_by_NID(3SSL)