我在项目中使用公钥/私钥来加密/解密一些数据。
我在服务器上托管了一个公钥("public.pem")。
"public.pem"看起来像这样:
-----BEGIN PUBLIC KEY-----
.....
.....
-----END PUBLIC KEY-----
我编写了一个客户端,它下载了这个公钥并将其保存到磁盘上,然后使用指向该文件的文件描述符调用 OpenSSL 的 PEM_read_RSA_PUBKEY() 函数。这个操作很好用,结果是一个已准备好加密的 RSA 对象。我想避免每次都将公钥写入磁盘(因为我已经有内存中的缓冲区了)。
如何在不将缓冲区保存到磁盘的情况下执行相同的操作呢?我注意到有一个名为 PEM_read_bio_RSAPublicKey() 的函数,但我不确定它对 BIO 结构的使用方法。我是否走在正确的道路上?
所以真正的问题是:如何直接从内存中读取公/私钥并将其转换为 RSA 对象,而不是从文件描述符中读取?