如何在C中使用openssl从私钥中提取公钥

问题描述 投票:0回答:1

我在命令行中知道给定私钥的pem文件,你可以从中提取公钥。

想知道如何使用openssl的C库实现类似的功能?

c openssl
1个回答
0
投票

首先,阅读密钥:

EVP_PKEY *key;
FILE *fpkey;
OpenSSL_add_all_algorithms();
key = EVP_PKEY_new();
fpkey = fopen ("key.pem", "r");
PEM_read_PrivateKey(fpkey, &key, NULL, NULL);
fclose(fpkey);

现在你有了EVP_PKEY结构,你可以保存公钥:

FILE* fppubkey = fopen("pubkey.pem", "wb");
PEM_write_PUBKEY(fppubkey, key);
fclose(fppubkey);

确保添加错误检查。

© www.soinside.com 2019 - 2024. All rights reserved.