*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> BIO_f_base64 (3)              
Title
Content
Arch
Section
 

BIO_f_base64(3)

Contents


NAME    [Toc]    [Back]

       BIO_f_base64 - base64 BIO filter

LIBRARY    [Toc]    [Back]

       libcrypto, -lcrypto

SYNOPSIS    [Toc]    [Back]

        #include <openssl/bio.h>
        #include <openssl/evp.h>

        BIO_METHOD *   BIO_f_base64(void);

DESCRIPTION    [Toc]    [Back]

       BIO_f_base64() returns the base64 BIO method. This is a
       filter BIO that base64 encodes any data written through it
       and decodes any data read through it.

       Base64 BIOs do not support BIO_gets() or BIO_puts().

       BIO_flush() on a base64 BIO that is being written through
       is used to signal that no more data is to be encoded: this
       is used to flush the final block through the BIO.

       The flag BIO_FLAGS_BASE64_NO_NL can be set with
       BIO_set_flags() to encode the data all on one line or
       expect the data to be all on one line.

NOTES    [Toc]    [Back]

       Because of the format of base64 encoding the end of the
       encoded block cannot always be reliably determined.

RETURN VALUES    [Toc]    [Back]

       BIO_f_base64() returns the base64 BIO method.

EXAMPLES    [Toc]    [Back]

       Base64 encode the string "Hello World\n" and write the
       result to standard output:

        BIO *bio, *b64;
        char message[] = "Hello World \n";

        b64 = BIO_new(BIO_f_base64());
        bio = BIO_new_fp(stdout, BIO_NOCLOSE);
        bio = BIO_push(b64, bio);
        BIO_write(bio, message, strlen(message));
        BIO_flush(bio);

        BIO_free_all(bio);

       Read Base64 encoded data from standard input and write the
       decoded data to standard output:

        BIO *bio, *b64, bio_out;
        char inbuf[512];
        int inlen;
        char message[] = "Hello World \n";





        b64 = BIO_new(BIO_f_base64());
        bio = BIO_new_fp(stdin, BIO_NOCLOSE);
        bio_out = BIO_new_fp(stdout, BIO_NOCLOSE);
        bio = BIO_push(b64, bio);
        while((inlen = BIO_read(bio, inbuf, strlen(message))) > 0)
               BIO_write(bio_out, inbuf, inlen);

        BIO_free_all(bio);

BUGS    [Toc]    [Back]

       The ambiguity of EOF in base64 encoded data can cause
       additional data following the base64 encoded block to be
       misinterpreted.

       There should be some way of specifying a test that the BIO
       can perform to reliably determine EOF (for example a MIME
       boundary).

SEE ALSO    [Toc]    [Back]

      
      
       TBA



2001-04-12                    0.9.6g              BIO_f_base64(3)
[ Back ]
 Similar pages
Name OS Title
BIO_f_base64 Tru64 BIO filter for base64
ipfstat FreeBSD reports on packet filter statistics and filter list
bstream IRIX many buffered filter
BIO_f_null NetBSD null filter
BIO_f_cipher NetBSD cipher BIO filter
BIO_f_cipher Tru64 Cipher BIO filter
BIO_f_null Tru64 Null filter
BIO_get_cipher_status Tru64 Cipher BIO filter
mknetid OpenBSD a YP filter program
BIO_get_cipher_ctx Tru64 Cipher BIO filter
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service