繁体   English   中英

如何使用OpenSSL C库将RSA密钥从二进制数据加载到RSA结构?

[英]How to load an RSA key from binary data to an RSA structure using the OpenSSL C Library?

目前,我已将私钥保存在文件private.key中,并且使用以下函数来加载它:

RSA * r = PEM_read_RSAPrivateKey(“ private.key”,NULL,NULL,NULL);

这很完美,但是我对基于文件的格式不满意; 我想将我的密钥以纯二进制形式(即,没有base64或类似形式)保存在char*变量中,并从中/从中保存密钥。 这样,我就拥有了更多的自由:我将能够将密钥直接存储到应用程序中const char key[] { 0x01, 0x02, ... }; ,通过网络套接字等发送

不幸的是,尽管我还没有找到一种方法。 我知道的保存和加载密钥的唯一方法是直接将其读取/保存到文件中。

使用d2i_RSAPrivateKey直接从包含二进制DER格式的缓冲区中加载:

const unsigned char *p = key;
RSA *r = d2i_RSAPrivateKey(NULL, &p, keylen);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM