使用OpenSSL生成RSA公钥/私钥?

主要的问题是我对C很新,OpenSSL文档对我来说还不够清楚,我尝试过用RS读取和写入一个pem文件的rsa键 ,但我不太明白。 例如, create_rsa_key()函数如何创建私有和公共? pCipher来自哪里? 那个pcszPassphrase什么pcszPassphrase呢?

我会解释好像它是某种伪代码,这就是我想做的事情,粗体部分是那些我不知道怎么做的部分:

  • 生成私钥和公钥作为hex缓冲区(客户端)
  • 安全地将公钥发送到另一个端点(客户端)
  • 使用AES256 CBC(服务器)使用随机256位密码加密某些数据
  • 使用公钥(服务器)加密密码
  • 将加密数据发送到客户端(服务器)
  • 使用私钥(客户端)解密加密的256位密码
  • 解密文件

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

正如在IRC上所讨论的那样,create_rsa_key问题的答案由https://stackoverflow.com/a/29589818/37923解决 – 它并不意味着以这种方式工作。

pcszPassphrase是用于保护私钥的密码/短语。 它将由用户提供,但不是必需的。