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

时间:2015-06-20 21:36:42

标签: c encryption openssl cryptography rsa

主要的问题是我对C很新,OpenSSL文档对我来说不够清楚,我尝试过使用Reading and writing rsa keys to a pem file in C,但我并不完全明白它。例如,create_rsa_key()函数如何创建私有和公共? pCipher来自哪里?那是pcszPassphrase的重点是什么?

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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