ASN1_STRING_LENGTH(3SSL)

NOM
ASN1_STRING_dup, ASN1_STRING_cmp, ASN1_STRING_set, ASN1_STRING_length, ASN1_STRING_type, ASN1_STRING_get0_data, ASN1_STRING_data, ASN1_STRING_to_UTF8 – Fonctions utilitaires ASN1_STRING

SYNOPSIS
 #include <openssl/asn1.h>

 int ASN1_STRING_length(ASN1_STRING *x);
 const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x);
 unsigned char *ASN1_STRING_data(ASN1_STRING *x);

 ASN1_STRING *ASN1_STRING_dup(const ASN1_STRING *a);

 int ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b);

 int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len);

 int ASN1_STRING_type(const ASN1_STRING *x);

 int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in);

DESCRIPTION
Ces fonctions permettent la manipulation d'une structure ASN1_STRING.

ASN1_STRING_length() renvoie la longueur du contenu de x. x NE DOIT PAS être NULL.

ASN1_STRING_get0_data() renvoie un pointeur interne vers les données de x. Dans la mesure où c'est un pointeur interne, il ne doit pas être libéré ou modifié de quelque manière que ce soit. x NE DOIT PAS être

ASN1_STRING_data() est identique à ASN1_STRING_get0_data() sauf que la valeur renvoyée n'est pas constante. Cette fonction est obsolète : les applications doivent utiliser ASN1_STRING_get0_data() à la place.

ASN1_STRING_dup() renvoie une copie de la structure a.

ASN1_STRING_cmp() compare a et b, en renvoyant 0 si les deux sont identiques. Les types de chaîne et les contenus sont comparés.

ASN1_STRING_set() définit le membre data de la chaîne str avec le le contenu du tampon data de longueur len. Les données fournies sont copiées. Si len est -1, la longueur est déterminée par strlen(data).

ASN1_STRING_type() renvoie le type de x en utilisant des constantes standard telles que V_ASN1_OCTET_STRING.

ASN1_STRING_to_UTF8() convertit la chaîne in au format UTF-8, les données converties sont allouées dans un tampon *out. La longueur de out ou un code d'erreur négatif est renvoyée. Le tampon *out doit être libéré en utilisant OPENSSL_free().

NOTES
Presque tous les types ASN1 dans OpenSSL sont représentés comme des structures ASN1_STRING. Les autres types tels que ASN1_OCTET_STRING sont simplement définis en tant que type ASN1_STRING et les fonctions appellent les équivalents ASN1_STRING. ASN1_STRING est aussi utilisé pour certains types CHOICE qui sont entièrement constitués de types de chaîne primitive tels que DirectoryString et Time.

Ces fonctions ne doivent pas être utilisées pour examiner ou modifier les types ASN1_INTEGER ou ASN1_ENUMERATED : les fonctions utilitaires INTEGER ou ENUMERATED appropriées doivent être utilisées à la place.

En général, il n'est pas possible de supposer que les données renvoyées par ASN1_STRING_data() sont terminées par un octet NULL ou ne contiennent pas d'octets NULL incorporés. Le format réel des données dépendra du type réel de chaîne lui-même : par exemple, pour une chaîne IA5String, les données seront au format ASCII, pour une chaîne BMPString, deux octets par caractère, au format grand boutiste, et pour une chaîne UTF8String les données seront au format UTF-8.

Des précautions similaires doivent être prises pour s'assurer que les données sont au format correct lors de l'appel de ASN1_STRING_set().

VALEURS RENVOYÉES
ASN1_STRING_length() renvoie la longueur du contenu de x.

ASN1_STRING_get0_data() et ASN1_STRING_data() renvoient un pointeur interne vers les données de x.

ASN1_STRING_dup() renvoie une structure ASN1_STRING valable ou NULL en cas d'erreur.

ASN1_STRING_cmp() renvoie un entier supérieur, égal ou inférieur à 0 selon que a est supérieur, égal ou inférieur à b.

ASN1_STRING_set() renvoie 1 en cas de succès et 0 en cas d'erreur.

ASN1_STRING_type() renvoie le type de x.

ASN1_STRING_to_UTF8() renvoie le nombre d'octets dans la chaîne de sortie out ou une valeur négative en cas d'erreur.

VOIR AUSSI
ERR_get_error(3)

COPYRIGHT
Copyright 2002-2020 Les auteurs du projet OpenSSL. Tous droits réservés.

Sous licence Apache 2.0 (la « Licence »). Vous ne pouvez utiliser ce fichier que conformément à la Licence. Vous trouverez une copie dans le fichier LICENSE de la distribution du source ou à l'adresse <https://www.openssl.org/source/license.html>.

TRADUCTION
La traduction française de cette page de manuel a été créée par Nicolas François <nicolas.francois@centraliens.net>, David Prévot <david@tilapin.org>, Oliver Hamm <oliver.c.hamm@gmail.com> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.