-1

では、問題は、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を実行し、プログラムがクラッシュします。私は何を間違えますか?

4

1 に答える 1

0

自分でmallocしないppでください。代わりに、NULLに設定してください。i2d_RSAPublicKeyはmallocを実行し、新しくmallocされた公開鍵を指すようにppを設定します。

于 2012-04-25T11:23:52.560 に答える