summaryrefslogtreecommitdiff
path: root/src/lib/libssl/ssl_srvr.c
diff options
context:
space:
mode:
authorjsing <>2021-11-29 16:03:56 +0000
committerjsing <>2021-11-29 16:03:56 +0000
commit0b1a9bd71e10a7b1f57eb401f99c29dd766eb047 (patch)
treeff38b43e2328192a8b7eeac799b7202a49205874 /src/lib/libssl/ssl_srvr.c
parenta0d7805041037ed2978f81fb42281572ecf06ba5 (diff)
downloadopenbsd-0b1a9bd71e10a7b1f57eb401f99c29dd766eb047.tar.gz
openbsd-0b1a9bd71e10a7b1f57eb401f99c29dd766eb047.tar.bz2
openbsd-0b1a9bd71e10a7b1f57eb401f99c29dd766eb047.zip
Convert server serialisation of DHE parameters/public key to new functions.
ok inoguchi@ tb@
Diffstat (limited to 'src/lib/libssl/ssl_srvr.c')
-rw-r--r--src/lib/libssl/ssl_srvr.c27
1 files changed, 3 insertions, 24 deletions
diff --git a/src/lib/libssl/ssl_srvr.c b/src/lib/libssl/ssl_srvr.c
index 6b0d85b15b..0c217d6d3e 100644
--- a/src/lib/libssl/ssl_srvr.c
+++ b/src/lib/libssl/ssl_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_srvr.c,v 1.125 2021/11/26 16:41:42 tb Exp $ */ 1/* $OpenBSD: ssl_srvr.c,v 1.126 2021/11/29 16:03:56 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1309,9 +1309,7 @@ ssl3_send_server_done(SSL *s)
1309static int 1309static int
1310ssl3_send_server_kex_dhe(SSL *s, CBB *cbb) 1310ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1311{ 1311{
1312 CBB dh_p, dh_g, dh_Ys;
1313 DH *dh = NULL, *dhp; 1312 DH *dh = NULL, *dhp;
1314 unsigned char *data;
1315 int al; 1313 int al;
1316 1314
1317 if (s->cert->dh_tmp_auto != 0) { 1315 if (s->cert->dh_tmp_auto != 0) {
@@ -1350,28 +1348,9 @@ ssl3_send_server_kex_dhe(SSL *s, CBB *cbb)
1350 goto err; 1348 goto err;
1351 } 1349 }
1352 1350
1353 /* 1351 if (!ssl_kex_params_dhe(dh, cbb))
1354 * Serialize the DH parameters and public key.
1355 */
1356 if (!CBB_add_u16_length_prefixed(cbb, &dh_p))
1357 goto err;
1358 if (!CBB_add_space(&dh_p, &data, BN_num_bytes(dh->p)))
1359 goto err;
1360 BN_bn2bin(dh->p, data);
1361
1362 if (!CBB_add_u16_length_prefixed(cbb, &dh_g))
1363 goto err;
1364 if (!CBB_add_space(&dh_g, &data, BN_num_bytes(dh->g)))
1365 goto err; 1352 goto err;
1366 BN_bn2bin(dh->g, data); 1353 if (!ssl_kex_public_dhe(dh, cbb))
1367
1368 if (!CBB_add_u16_length_prefixed(cbb, &dh_Ys))
1369 goto err;
1370 if (!CBB_add_space(&dh_Ys, &data, BN_num_bytes(dh->pub_key)))
1371 goto err;
1372 BN_bn2bin(dh->pub_key, data);
1373
1374 if (!CBB_flush(cbb))
1375 goto err; 1354 goto err;
1376 1355
1377 return (1); 1356 return (1);