fr::crypto::ASN1_STRING_print_ex(3SSL)

NOM
ASN1_STRING_print_ex, ASN1_STRING_print_ex_fp, ASN1_STRING_print - Routines de sortie ASN1_STRING

SYNOPSIS

 #include <openssl/asn1.h>

 int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags);
 int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags);
 int ASN1_STRING_print(BIO *out, ASN1_STRING *str);

DESCRIPTION
Ces fonctions renvoient une structure ASN1_STRING. ASN1_STRING est utilisée pour représenter tous les types de chaîne ASN1.

ASN1_STRING_print_ex() renvoie str vers out, le format est déterminé par les options flags. ASN1_STRING_print_ex_fp() est identique à part qu’elle renvoie à la place vers fp.

ASN1_STRING_print() affiche str vers out mais en utilisant un format différent de ASN1_STRING_print_ex(). Elle remplace les caractères non imprimables (autres que RC et PAL — CR et LF en anglais) par « . ».

NOTES
ASN1_STRING_print() est une fonction obsolète qui devrait être évitée dans les nouvelles applications.

Malgré un grand nombre d’options, ASN1_STRFLGS_RFC2253 convient souvent, ou ASN1_STRFLGS_RFC2253 & ~ASN1_STRFLGS_ESC_MSB sur les terminaux UTF-8.

La totalité des options acceptées pour flags est décrite ci-dessous.

Plusieurs caractères peuvent être protégés. Si ASN1_STRFLGS_ESC_2253 est définie, les caractères déterminés par la RFC 2253 sont protégés. Si ASN1_STRFLGS_ESC_CTRL est définie, les caractères de contrôle sont protégés. Si ASN1_STRFLGS_ESC_MSB est définie, les caractères avec le bit de poids fort défini sont protégés : cette option ne devrait pas être utilisée si le terminal interprète correctement les suites UTF-8.

Les protections prennent différentes formes.

Si le caractère à protéger est un caractère de 16 bits, alors la forme « \UXXXX » est utilisée avec exactement quatre caractères pour la représentation hexadécimale. Si c’est en 32 bits, alors « \WXXXXXXXX » est utilisée avec huit caractères pour sa représentation hexadécimale. Ces formes ne sont utilisées que si la conversion en UTF-8 n’est pas définie (voir ci-dessous).

Les caractères imprimables sont normalement protégés à l’aide d’une barre oblique inversée « \ ». Si ASN1_STRFLGS_ESC_QUOTE est définie, alors toute la chaîne est à la place entourée de guillemets : ce peut être considéré plus lisible que la notation en barre oblique inversée. D’autres caractères utilisent « \XX » avec exactement deux caractères de la représentation hexadécimale.

Si ASN1_STRFLGS_UTF8_CONVERT est définie, alors les caractères sont d’abord convertis au format UTF-8. Si le terminal permet d’afficher les suites UTF-8, alors cette option permettra d’afficher correctement les caractères multioctets.

Si ASN1_STRFLGS_IGNORE_TYPE est définie, alors le type de chaîne n’est pas interprété du tout : tout est supposé être un octet par caractère. C’est surtout pour le débogage et peut résulter en affichage déroutant pour les chaînes multicaractères.

Si ASN1_STRFLGS_SHOW_TYPE est définie, alors le type de chaîne lui-même est affiché avant sa valeur (par exemple « BMPSTRING »), cela utilise en fait ASN1_tag2str().

Le contenu d’une chaîne, au lieu d’être interprété, peut être « déversé » : cela n’affiche que la valeur de la chaîne utilisant la forme #XXXX avec un format hexadécimal pour chaque octet.

Si ASN1_STRFLGS_DUMP_ALL est définie, alors tous les types sont déversés.

Normalement, les types de chaîne de non caractères (comme OCTET STRING) sont supposés être d’un octet par caractère, si ASN1_STRFLGS_DUMP_UNKNOWN est définie, alors elles seront déversées à la place.

Quand un type est déversé normalement, seul les octets du contenu sont affichés, si ASN1_STRFLGS_DUMP_DER est définie, alors l’encodage complet est déversé à la place (y compris les octets d’étiquette et de taille).

ASN1_STRFLGS_RFC2253 contient tous les attributs requis par la RFC 2253. C’est équivalent à :
 ASN1_STRFLGS_ESC_2253 | ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB |
 ASN1_STRFLGS_UTF8_CONVERT | ASN1_STRFLGS_DUMP_UNKNOWN ASN1_STRFLGS_DUMP_DER

VOIR AUSSI
ASN1_tag2str(3), X509_NAME_print_ex(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.