Hi all,
i'd like some advice on a problem i'm getting on a very simple piece of code,
i'm just trying to encrypt a string using rsa and then decrypt it, nothing
complicated really. Encryption seems to works fine but when i try to decrypt,
i'm only getting 4 characters whatever the size of the string. Those 4
characters are good but i'd like to have the rest of the string !!
could someone help me ?
code follows :
#include <openssl/rsa.h>
#define MYPADDING RSA_PKCS1_PADDING
char *mystring = "hello openssl";
char *mystring_encrypted = 0;
char *mystring2 = 0;
int ret1, ret2;
int main(void)
{
RAND_load_file("/dev/urandom", 16384);
RSA *rsa = RSA_generate_key(2048, 65537, NULL, NULL);
printf("RSA_size : %d\n", RSA_size(rsa));
mystring_encrypted = malloc(RSA_size(rsa));
bzero(mystring_encrypted, RSA_size(rsa));
ret1=RSA_public_encrypt(sizeof(mystring),mystring,mystring_encrypted,rsa,MYPADDING);
printf("ret1 : %d\n", ret1);
mystring2 = malloc(ret1);
bzero(mystring2, ret1);
ret2=RSA_private_decrypt(ret1,mystring_encrypted,mystring2,rsa,MYPADDING);
printf("ret2 : %d [%s]\n", ret2, mystring2);
}
---
Millet Florian
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]