pin*_*x51 1 c openssl rsa export
我想在C/C++中创建一个RSA密钥对,并将其导出为字符串以使用它.
我设法创建了密钥
rsa = RSA_generate_key(bits, exp, NULL, NULL);
if(RSA_check_key(rsa)!=1){
std::cout << "Error while checking key" << std::endl << std::flush;
}
pkey = EVP_PKEY_new();
EVP_PKEY_assign_RSA(pkey, rsa);
Run Code Online (Sandbox Code Playgroud)
从这一点开始,我可以使用PEM_write_PUBKEY()和PEM_write_PrivateKey()将私钥和公钥写入文件.但我想要做的是将pkey中的私钥和公钥直接转换为变量,最好是PEM格式.我已经环顾四周但找不到合适的功能.任何提示?
如果你真的需要的PEM表示,再PEM_write_bio_RSA_PUBKEY()和PEM_write_bio_RSAPrivateKey()(与他们一起read同行)是你想要的功能; 给他们内存BIO让他们写入内存缓冲区.
您可以BIO通过调用eg 来创建内存
BIO * b = BIO_new(BIO_s_mem());
Run Code Online (Sandbox Code Playgroud)
并通过调用获取内存缓冲区
void * buf;
BIO_get_mem_ptr(b, &buf);
Run Code Online (Sandbox Code Playgroud)
您还可以BIO通过调用eg 来创建现有内存周围的内存
BIO * b = BIO_new_mem_buf(buf, 9001)
Run Code Online (Sandbox Code Playgroud)
但结果BIO将是只读的.
| 归档时间: |
|
| 查看次数: |
2906 次 |
| 最近记录: |