如何通过tcp发送RSA开放密钥?

时间:2012-04-24 22:10:07

标签: tcp openssl rsa

那么,问题是如何正确地生成RSA * 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);

和接收者执行d2i_RSAPublicKey并且程序崩溃。我做错了什么?

1 个答案:

答案 0 :(得分:0)

不要自己使用malloc pp,而是将其设置为NULL。 i2d_RSAPublicKey将为您执行malloc并将pp设置为指向新malloced公钥。