A PKCS12 object is encrypted with a shared secret.  When I use  the
function i2d_PKCS12_fp() to write to a file, it works, but, when I use
this to store in a BIO and convert this into base64, it does only
2/3rds of it.  Why is this?  Any thoughts or pointers?

Thanks



On Thu, 9 Sep 2004 08:32:36 -0700, Smith Baylor <[EMAIL PROTECTED]> wrote:
>         BIO *mbio, *b64bio, *bio;
> 
>         mbio = BIO_new(BIO_s_mem());
>         b64bio = BIO_new(BIO_f_base64());
>         bio = BIO_push(b64bio, mbio);
>         int bytes_stored = i2d_PKCS12_bio(bio, p12);
>         BIO_flush(mbio2);
> 
>         BIO_get_mem_data(mbio, (unsigned char *)&p12_data_tmp);
>         p12_data = (unsigned char*)OPENSSL_malloc(bytes_stored + 1);
>         strncpy(p12_data, p12_data_tmp, bytes_stored);
>         p12_data[bytes_stored] = '\0';
> 
> bytes_stored gives me 4030 bytes, but, when I try to print or save the
> p12_data, I am able to get only 3000 bytes and the program stops.
> What am I doing wrong?
> 
> Thanks in advance
> --Smith
>
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to