我在命令行中知道给定私钥的pem文件,您可以从中提取公钥。
想知道如何使用openssl的C库实现类似的功能?
答案 0 :(得分: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);
确保添加错误检查。