【发布时间】:2015-12-21 16:45:50
【问题描述】:
我需要创建一个包含私钥的 EVP_PKEY 密钥。 最初,PEM 格式的私钥存储在变量 pKey 中。
现在我正在尝试使用 BIO 内存创建 EVP_PKEY 密钥。
EVP_PKEY *privkey;
BIO *mem;
mem = BIO_new_mem_buf(pKey, -1);
privkey = PEM_read_bio_PrivateKey(mem, NULL, NULL, 0);
为什么 PEM_read_bio_PrivateKey 返回 NULL?
pKey contains valid Key bytes in PEM format.
PEM_read_bio_PrivateKey() 失败的可能原因是什么?
【问题讨论】:
-
您的 pKey 的每一行是否以
\r\n结尾?这是 PEM_read 函数所必需的。 -
ERR_print_errors() 可能会提供更多信息。
标签: c openssl private-key