diff options
author | jsing <> | 2021-11-29 16:03:56 +0000 |
---|---|---|
committer | jsing <> | 2021-11-29 16:03:56 +0000 |
commit | 0b1a9bd71e10a7b1f57eb401f99c29dd766eb047 (patch) | |
tree | ff38b43e2328192a8b7eeac799b7202a49205874 /src/lib/libssl/ssl_srvr.c | |
parent | a0d7805041037ed2978f81fb42281572ecf06ba5 (diff) | |
download | openbsd-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.c | 27 |
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) | |||
1309 | static int | 1309 | static int |
1310 | ssl3_send_server_kex_dhe(SSL *s, CBB *cbb) | 1310 | ssl3_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); |