2012-04-24 41 views
0

那麼,問題是如何正確創建RSA * rsa密鑰的二進制數據? 我做如何通過tcp發送RSA打開密鑰?

RSA *rsa = RSA_generate_key(2048, 65537, 0, 0); 
uchar *pp = (uchar *)malloc(2560); 
int bytes = i2d_RSAPublicKey(rsa, &pp); 
write(client, pp, bytes); 

和reciever確實d2i_RSAPublicKey和程序崩潰。我做錯了什麼?

回答

0

你自己不要malloc pp,而是將它設置爲NULL。 i2d_RSAPublicKey將爲你做malloc並設置pp指向新配置的公鑰。