2012-04-24 88 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指向新配置的公钥。