Сгенерируйте пары ключей RSA, используя openssl 3.0 в С++.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сгенерируйте пары ключей RSA, используя openssl 3.0 в С++.

Сообщение Anonymous »

Может ли кто-нибудь поделиться простым примером генерации пар ключей с использованием библиотеки openssl 3.0 C++? Официальный сайт бесполезен, многие функции устарели, но все еще указаны там, а сгенерированный gpt код не удался в EVP_PKEY_copy_parameters. Это код, который я получил от gpt, и он не работает.

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 
#include 
#include 

// Custom deleter for EVP_PKEY
struct EVP_PKEY_Deleter {
void operator()(EVP_PKEY *pkey) const { EVP_PKEY_free(pkey); }
};

// Type alias for unique_ptr with EVP_PKEY and custom deleter
using Key = std::unique_ptr;

std::pair generate_rsa_keys() {
EVP_PKEY_CTX *ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, nullptr);
if (!ctx) {
throw std::runtime_error("Failed to create context");
}

EVP_PKEY *pkey_raw = EVP_RSA_gen(2048);
if (!pkey_raw) {
EVP_PKEY_CTX_free(ctx);
throw std::runtime_error("Key generation failed");
}

EVP_PKEY *public_key_raw = EVP_PKEY_new();
if (!public_key_raw) {
EVP_PKEY_free(pkey_raw);
EVP_PKEY_CTX_free(ctx);
throw std::runtime_error("Failed to create public key");
}

if (EVP_PKEY_copy_parameters(public_key_raw, pkey_raw) 

Подробнее здесь: [url]https://stackoverflow.com/questions/79144068/generate-rsa-key-pairs-using-openssl-3-0-in-c[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»