461 #ifndef OPENSSL_V_3_0 462 EC_Handle keypair_ecdh(
keypair);
468 const EC_POINT* pubkey = EC_KEY_get0_public_key(keypair_ecdh);
474 size_t len = EC_POINT_point2oct(EC_KEY_get0_group(keypair_ecdh), pubkey,
475 EC_KEY_get_conv_form(keypair_ecdh), 0,
482 dst.length(static_cast<unsigned int>(len));
483 if (0 == EC_POINT_point2oct(EC_KEY_get0_group(keypair_ecdh), pubkey,
484 EC_KEY_get_conv_form(keypair_ecdh),
485 dst.get_buffer(), len, 0)) {
490 if (EVP_PKEY_todata(
keypair, EVP_PKEY_KEYPAIR, ¶ms) <= 0) {
494 const char* gname = 0;
495 const unsigned char* pubbuf = 0;
496 size_t pubbuflen = 0;
497 for (OSSL_PARAM* p = params; p != 0 && p->key != 0; ++p) {
499 gname =
static_cast<const char*
>(p->data);
501 pubbuf =
static_cast<const unsigned char*
>(p->data);
502 pubbuflen = p->data_size;
506 const int nid = OBJ_txt2nid(gname);
511 EC_GROUP*
const ecg = EC_GROUP_new_by_curve_name(nid);
512 const point_conversion_form_t cf = EC_GROUP_get_point_conversion_form(ecg);
513 EC_POINT*
const ec = EC_POINT_new(ecg);
514 if (!EC_POINT_oct2point(ecg, ec, pubbuf, pubbuflen, 0)) {
520 const size_t eclen = EC_POINT_point2oct(ecg, ec, cf, 0, 0u, 0);
521 dst.length(static_cast<ACE_CDR::ULong>(eclen));
522 EC_POINT_point2oct(ecg, ec, cf, dst.get_buffer(), eclen, 0);
int strcasecmp(const char *s, const char *t)
#define OPENDDS_SSL_LOG_ERR(MSG)