fr::crypto::BIO_push(3SSL)

NOM
BIO_push, BIO_pop - Ajouter et supprimer des BIO d'une chaîne

SYNOPSIS
 #include <openssl/bio.h>

 BIO *  BIO_push(BIO *b,BIO *append);
 BIO *  BIO_pop(BIO *b);

DESCRIPTION
La fonction BIO_push() ajoute le BIO append à b, elle renvoie b.

BIO_pop() supprime le BIO b d'une chaîne et renvoie le BIO suivant de la chaîne ou NULL s'il n'y a pas de BIO suivant. Le BIO supprimé devient alors un simple BIO sans association avec la chaîne d'origine, il peut donc être libéré ou attaché à une autre chaîne.

NOTES
Les noms de ces fonctions peuvent peut-être prêter un peu à confusion. BIO_push() joint deux chaînes de BIO alors que BIO_pop() supprime un seul BIO d'une chaîne, le BIO supprimé ne doit pas forcément être à la fin d'une chaîne.

Le processus d'appeler BIO_push() et BIO_pop() sur un BIO pourrait avoir des conséquences supplémentaires (un appel de contrôle est fait sur les BIO affectés), tous les effets seront notés dans les descriptions de chaque BIO.

EXEMPLES
Pour ces exemples, md1 et md2 sont supposés être des BIO de signature, b64 est un BIO en base64 et f est un BIO fichier.

Si l'appel :

 BIO_push(b64, f);

est fait, alors la nouvelle chaîne sera b64-f. Après avoir fait les appels

 BIO_push(md2, b64);
 BIO_push(md1, md2);

la nouvelle chaîne est md1-md2-b64-f. Les données écrites vers md1 seront signées par md1 et md2, encodées en base64 et écrites vers f.

Remarquez que la lecture force les données à passer en sens inverse, c'est-à-dire que les données sont lues de f, décodées de base64 et signées par md1 et md2. Si l'appel :

 BIO_pop(md2);

L'appel renverra b64 et la nouvelle chaîne sera md1-b64-f, les données peuvent être écrites vers md1 comme avant.

VALEURS DE RETOUR
BIO_push() renvoie la fin de la chaîne, b.

BIO_pop() renvoie le BIO suivant de la chaîne ou NULL s'il n'y a pas de BIO suivant.

VOIR AUSSI
À 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.