使用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是用于保护私钥的密码/短语。 它将由用户提供,但不是必需的。