y = BN_new ();
len = t->key_len / 2;
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_get_affine_coordinates (group, r_point, x, y, bn_ctx);
+#else
EC_POINT_get_affine_coordinates_GFp (group, r_point, x, y, bn_ctx);
+#endif
if (sa->is_initiator)
{
sa->i_dh_data = vec_new (u8, t->key_len);
x_off = len - BN_num_bytes (x);
- memset (sa->i_dh_data, 0, x_off);
+ clib_memset (sa->i_dh_data, 0, x_off);
BN_bn2bin (x, sa->i_dh_data + x_off);
y_off = t->key_len - BN_num_bytes (y);
- memset (sa->i_dh_data + len, 0, y_off - len);
+ clib_memset (sa->i_dh_data + len, 0, y_off - len);
BN_bn2bin (y, sa->i_dh_data + y_off);
const BIGNUM *prv = EC_KEY_get0_private_key (ec);
{
sa->r_dh_data = vec_new (u8, t->key_len);
x_off = len - BN_num_bytes (x);
- memset (sa->r_dh_data, 0, x_off);
+ clib_memset (sa->r_dh_data, 0, x_off);
BN_bn2bin (x, sa->r_dh_data + x_off);
y_off = t->key_len - BN_num_bytes (y);
- memset (sa->r_dh_data + len, 0, y_off - len);
+ clib_memset (sa->r_dh_data + len, 0, y_off - len);
BN_bn2bin (y, sa->r_dh_data + y_off);
x = BN_bin2bn (sa->i_dh_data, len, x);
y = BN_bin2bn (sa->i_dh_data + len, len, y);
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_set_affine_coordinates (group, i_point, x, y, bn_ctx);
+#else
EC_POINT_set_affine_coordinates_GFp (group, i_point, x, y, bn_ctx);
+#endif
sa->dh_shared_key = vec_new (u8, t->key_len);
EC_POINT_mul (group, shared_point, NULL, i_point,
EC_KEY_get0_private_key (ec), NULL);
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_get_affine_coordinates (group, shared_point, x, y, bn_ctx);
+#else
EC_POINT_get_affine_coordinates_GFp (group, shared_point, x, y,
bn_ctx);
+#endif
x_off = len - BN_num_bytes (x);
- memset (sa->dh_shared_key, 0, x_off);
+ clib_memset (sa->dh_shared_key, 0, x_off);
BN_bn2bin (x, sa->dh_shared_key + x_off);
y_off = t->key_len - BN_num_bytes (y);
- memset (sa->dh_shared_key + len, 0, y_off - len);
+ clib_memset (sa->dh_shared_key + len, 0, y_off - len);
BN_bn2bin (y, sa->dh_shared_key + y_off);
}
x = BN_bin2bn (sa->r_dh_data, len, x);
y = BN_bin2bn (sa->r_dh_data + len, len, y);
EC_POINT *r_point = EC_POINT_new (group);
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_set_affine_coordinates (group, r_point, x, y, bn_ctx);
+#else
EC_POINT_set_affine_coordinates_GFp (group, r_point, x, y, bn_ctx);
+#endif
EC_KEY_set_public_key (ec, r_point);
EC_POINT *i_point = EC_POINT_new (group);
x = BN_bin2bn (sa->i_dh_data, len, x);
y = BN_bin2bn (sa->i_dh_data + len, len, y);
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_set_affine_coordinates (group, i_point, x, y, bn_ctx);
+#else
EC_POINT_set_affine_coordinates_GFp (group, i_point, x, y, bn_ctx);
+#endif
EC_POINT_mul (group, shared_point, NULL, r_point,
EC_KEY_get0_private_key (ec), NULL);
+#if OPENSSL_VERSION_NUMBER >= 0x30000000L
+ EC_POINT_get_affine_coordinates (group, shared_point, x, y, bn_ctx);
+#else
EC_POINT_get_affine_coordinates_GFp (group, shared_point, x, y, bn_ctx);
+#endif
sa->dh_shared_key = vec_new (u8, t->key_len);
x_off = len - BN_num_bytes (x);
- memset (sa->dh_shared_key, 0, x_off);
+ clib_memset (sa->dh_shared_key, 0, x_off);
BN_bn2bin (x, sa->dh_shared_key + x_off);
y_off = t->key_len - BN_num_bytes (y);
- memset (sa->dh_shared_key + len, 0, y_off - len);
+ clib_memset (sa->dh_shared_key + len, 0, y_off - len);
BN_bn2bin (y, sa->dh_shared_key + y_off);
EC_KEY_free (ec);