Comments inline:

On Wed, Sep 02, 2009, Nigel Sollars wrote:

> Hi,
>
> After looking at other examples, decided to go back to basic tried a simple 
> approach at taking a string argv and passing that to the enc/dec methods,  
> Seems i have the same errorcode as before.  I have provided the testfile 
> any help with this one would be very much appreciated.
>


> 
>       unsigned char *iv[8];
>       unsigned char  *password[16];

Definitions of iv, password are wrong. Get rid of the '*'.

>       string = argv[1];
> 
>       RAND_bytes(iv, 8);
>       RAND_bytes(password, 16);
> 
>       printf("Entering Encryption Stage:\n\n");
>       printf("String to encrypt: %s\n\n", string);
> 
>       EVP_CIPHER_CTX_init(&ectx);
> 
> 
>       EVP_EncryptInit(&ectx, EVP_bf_cbc(), password, iv);
> 
>       bzero (&enc_inbuf, input_buf_size);
> 
>       if(!EVP_EncryptUpdate(&ectx, enc_outbuf, &encoutlen, string, 
> strlen(string)))
>       {
>               printf("Error whilst EncryptUpdate\n");
>               return 0;
>       }
> 
>       if(!EVP_EncryptFinal(&ectx, enc_outbuf + encoutlen, &enctotallen))
>       {
>               printf("Error Whilst EncryptFinal\n");
>               return 0;
>       }
> 
>       encoutlen += enctotallen;
> 

OK, you've got the total length of the encrypted data as "encoutlen" at this
point.

>       printf("Encryption Successful\n\n");
>       printf("Entering Decryption Stage\n\n");
> 
>       EVP_CIPHER_CTX_init(&dctx);
>       EVP_DecryptInit(&dctx, EVP_bf_cbc(), password, iv);
> 
>       bzero (&dec_inbuf, output_buf_size);
>       bzero (&dec_outbuf, input_buf_size);
> 
>       if (!(EVP_DecryptUpdate(&dctx, dec_outbuf, &decoutlen, enc_outbuf, 
> output_buf_size)))
>       {
>               printf("Error Whilst DecryptUpdate\n");
>               return 0;
>       }
> 

But above you are passing the length as output_buf_size.

Steve.
--
Dr Stephen N. Henson. OpenSSL project core developer.
Commercial tech support now available see: http://www.openssl.org
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to