Hi NaGaGo,
the keylen and ivlen are off by one:
int keyLength = sizeof(uKey) -1; /* == strlen(uKey) */
int ivLength = sizeof(iv) -1;
(and really use it later instead of "8*sizeof(uKey)")
HTH
Christian
On Tue, Nov 17, 2009 at 09:06:07PM -0800, NaGaGo wrote:
>
> Hi christian,
> Thank you very much for your help...I was thinking the same but I already
> tried with real key...
> and even I changed the code for getting the file size also but yet my
> program didn't give me correct out put...
> The problem actually is the files which i'm getting when I decrypt the bin
> file through shell can be unzipped to get some result files whereas my code
> i'm getting a output file i'm not able to unzip it properly ..can you help
> regarding this issue..
> thanks in advance..
>
> Christian Hohnstaedt wrote:
> >
> > Hi,
> >
> > you used the ASCII representation of the key, instead of the real key.
> > Same with iv.
> >
> > On Tue, Nov 17, 2009 at 02:43:48AM -0800, NaGaGo wrote:
> >>
> >> Hai
> >> this is the openssl shell command i'm using to decrypt a binary file...
> >> openssl enc -d -K
> >> 3834373532303435333730323834383132373330393233343531323330383839 -iv
> >> 36363333383630393433313132323031 -aes-256-cbc-in final2.bin -out test.zip
> >> As my target doesnot support openssl commd i was asked to write
> >> decryption
> >> code using some API's and create a binary ...so I decided to write it
> >> using
> >> AES API's
> >> Here is my code please tell me where I went wrong...thanks in advance.
> >> int main()
> >> {
> >>
> >> unsigned long lSize;
> >> FILE * inFile;
> >> FILE * outFile;
> >> size_t n,m;
> >> char * pTemp;
> >> char * buffer;
> >> const AES_KEY *key;
> >> inFile = fopen("SB2.bin", "rb");
> >> outFile = fopen("finalPackResult", "wb+");
> >>
> >> unsigned char uKey[]=
> >> "3834373532303435333730323834383132373330393233343531323330383839";
> >
> > unsigned char uKey[]= "84752045370284812730923451230889";
> >
> >> unsigned char iv[] = "36363333383630393433313132323031";
> >
> > unsigned char iv[] = "6633860943112201";
> >
> >
> >> /* get file size and allocate memory to buffer */
> >> fseek (inFile , 0,SEEK_END);
> >> lSize = ftell (inFile);
> >> rewind (inFile);
> >
> > Maybe:
> >
> > struct stat st;
> > fstat(fileno(inFile), &st);
> > lSize = st.st_size;
> >
> > is saner than bouncing the filepos ?
> >
> > Christian
> >
> > ______________________________________________________________________
> > OpenSSL Project http://www.openssl.org
> > User Support Mailing List [email protected]
> > Automated List Manager [email protected]
> >
> >
>
> --
> View this message in context:
> http://old.nabble.com/help-me-decrypting-a-binary-file-which-is-encrypted-by-aes-256-cbc-mode-tp26387750p26402609.html
> Sent from the OpenSSL - User mailing list archive at Nabble.com.
> ______________________________________________________________________
> OpenSSL Project http://www.openssl.org
> User Support Mailing List [email protected]
> Automated List Manager [email protected]
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [email protected]