Из того, что я собрал, читая вики-страницу OpenSSL, мой код для генерации ключа Диффи-Хеллмана правильный. Но это не удается на последнем шаге — EVP_PKEY_keygen ().
Есть ли способ получить более подробную информацию, кроме как пройти / не пройти? Возможно, даже причина, по которой это не удалось?
Вот как можно получить более подробную информацию об ошибках OpenSSL. Это минимально, но в целом полезно.
#include <openssl/err.h>
// Do this during construction or initialization
ERR_load_crypto_strings();
// Do this when an error occurs
unsigned long error = ERR_get_error();
cout << "Error code = " << error << std::endl;
cout << ERR_reason_error_string(error) << std::endl;
// Do this when shutting down
ERR_free_strings();