使用 OpenSSL 生成 RSA public/private 密钥?

Generate RSA public/private key with OpenSSL?

主要问题是我对C还很陌生,OpenSSL文档对我来说不够清楚,我试过使用Reading and writing rsa keys to a pem file in C,但我不太明白。例如,create_rsa_key() 函数如何同时创建 private 和 public? pCipher 从何而来? pcszPassphrase 的意义何在?

我会像伪代码一样解释,这是我想做的,粗体部分是我不知道怎么做的:

基本上我知道如何处理 AES encryption/decryption 和通信协议,它们已经实现了,我的问题是 RSA,我需要十六进制格式而不是 base64 或 pem,因为我正在使用套接字并作为二进制数据发送和存储。

正如在 IRC 上讨论的那样,create_rsa_key 问题的答案由 解决 - 它不应该那样工作。

pcszPassphrase 是用来保护私钥的password/phrase。它将由用户提供,但不是必需的。