<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openbsd/src/lib/libssl/tls_key_share.c, branch OPENBSD_7_9</title>
<subtitle>A mirror of https://github.com/libressl/openbsd.git
</subtitle>
<id>https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9</id>
<link rel='self' href='https://git.lua4.win/openbsd/atom?h=OPENBSD_7_9'/>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/'/>
<updated>2026-01-01T12:47:52+00:00</updated>
<entry>
<title>Rename RANK{768,1024} to MLKEM{768,1024}_RANK</title>
<updated>2026-01-01T12:47:52+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2026-01-01T12:47:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=10bebbca92ef87af97bc15c6337afbbe050bb96e'/>
<id>urn:sha1:10bebbca92ef87af97bc15c6337afbbe050bb96e</id>
<content type='text'>
RANK768 and RANK1024 are awfully short and generic names for public
constants. Before we make it worse with similarly named constants for
ML-DSA, let's fix this. This follows the naming convention used by the
other macros in the mlkem code.

ok kenjiro jsing
</content>
</entry>
<entry>
<title>Add a MLKEM768_X25519 hybrid key share.</title>
<updated>2025-12-04T21:03:42+00:00</updated>
<author>
<name>beck</name>
<email></email>
</author>
<published>2025-12-04T21:03:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=f8fcf556caab3fb1fb9d9b496d2724345c90a3eb'/>
<id>urn:sha1:f8fcf556caab3fb1fb9d9b496d2724345c90a3eb</id>
<content type='text'>
This implements the currently in use MLKEM768_X25519 hybrid
key share as outlined in

https://datatracker.ietf.org/doc/draft-ietf-tls-ecdhe-mlkem/

This commit does not yet wire this up to anything, that is done
in follow on changes.

ok tb@ jsing@ kenjiro@
</content>
</entry>
<entry>
<title>Make internal header file names consistent</title>
<updated>2022-11-26T16:08:57+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-11-26T16:08:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=81d98bf600a381a625eb11b39a725b08c0ba547f'/>
<id>urn:sha1:81d98bf600a381a625eb11b39a725b08c0ba547f</id>
<content type='text'>
Libcrypto currently has a mess of *_lcl.h, *_locl.h, and *_local.h names
used for internal headers. Move all these headers we inherited from
OpenSSL to *_local.h, reserving the name *_internal.h for our own code.
Similarly, move dtls_locl.h and ssl_locl.h to dtls_local and ssl_local.h.
constant_time_locl.h is moved to constant_time.h since it's special.

Adjust all .c files in libcrypto, libssl and regress.

The diff is mechanical with the exception of tls13_quic.c, where
#include &lt;ssl_locl.h&gt; was fixed manually.

discussed with jsing,
no objection bcook
</content>
</entry>
<entry>
<title>Rename uses 'curve' to 'group' and rework tls1 group API.</title>
<updated>2022-07-02T16:00:12+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-02T16:00:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=9c3b0c8dc2d9f6d2b9cb9cb675e49a1a04d021b8'/>
<id>urn:sha1:9c3b0c8dc2d9f6d2b9cb9cb675e49a1a04d021b8</id>
<content type='text'>
This reworks various tls1_ curve APIs to indicate success via a boolean
return value and move the output to an out parameter. This makes the
caller code easier and more consistent.

Based on a suggestion by jsing

ok jsing
</content>
</entry>
<entry>
<title>Make tls1_ec_curve_id2nid() return explicit NID_undef instead of 0 on error</title>
<updated>2022-07-02T09:33:20+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-07-02T09:33:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=76421b77581e4da35fd6bf29936087f28082b51e'/>
<id>urn:sha1:76421b77581e4da35fd6bf29936087f28082b51e</id>
<content type='text'>
and adjust the only caller that didn't check for NID_undef already.

ok beck jsing
</content>
</entry>
<entry>
<title>Check the security of DH key shares</title>
<updated>2022-06-29T08:27:52+00:00</updated>
<author>
<name>tb</name>
<email></email>
</author>
<published>2022-06-29T08:27:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=1aa9f0fe78279eb8ca28f1560639591dc29a28b3'/>
<id>urn:sha1:1aa9f0fe78279eb8ca28f1560639591dc29a28b3</id>
<content type='text'>
ok beck, looks good to jsing
</content>
</entry>
<entry>
<title>Plumb decode errors through key share parsing code.</title>
<updated>2022-01-11T18:28:41+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-01-11T18:28:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b01ac832c71e4a7870ab8197b2e2ca26d38f2b97'/>
<id>urn:sha1:b01ac832c71e4a7870ab8197b2e2ca26d38f2b97</id>
<content type='text'>
Distinguish between decode errors and other errors, so that we can send
a SSL_AD_DECODE_ERROR alert when appropriate.

Fixes a tlsfuzzer failure, due to it expecting a decode error alert and
not receiving one.

Prompted by anton@

ok tb@
</content>
</entry>
<entry>
<title>Convert legacy server to tls_key_share.</title>
<updated>2022-01-07T15:46:30+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-01-07T15:46:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b02f56a4209f162a9d9b202f5efc74dd0b6fc7d3'/>
<id>urn:sha1:b02f56a4209f162a9d9b202f5efc74dd0b6fc7d3</id>
<content type='text'>
This requires a few more additions to the DHE key share code - we need to
be able to either set the DHE parameters or specify the number of key bits
for use with auto DHE parameters. Additionally, we need to be able to
serialise the DHE parameters to send to the client.

This removes the infamous 'tmp' struct from ssl3_state_internal_st.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Convert legacy TLS client to tls_key_share.</title>
<updated>2022-01-06T18:23:56+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-01-06T18:23:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=b83111ab1ec477b511594289674b6ac2829f0945'/>
<id>urn:sha1:b83111ab1ec477b511594289674b6ac2829f0945</id>
<content type='text'>
This requires adding DHE support to tls_key_share. In doing so,
tls_key_share_peer_public() has to lose the group argument and gains
an invalid_key argument. The one place that actually needs the group
check is tlsext_keyshare_client_parse(), so add code to do this.

ok inoguchi@ tb@
</content>
</entry>
<entry>
<title>Rename tls13_key_share to tls_key_share.</title>
<updated>2022-01-05T17:10:03+00:00</updated>
<author>
<name>jsing</name>
<email></email>
</author>
<published>2022-01-05T17:10:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.lua4.win/openbsd/commit/?id=767ff39662be70f355eac7cf069fd9c23c34580d'/>
<id>urn:sha1:767ff39662be70f355eac7cf069fd9c23c34580d</id>
<content type='text'>
In preparation to use the key share code in both the TLSv1.3 and legacy
stacks, rename tls13_key_share to tls_key_share, moving it into the shared
handshake struct. Further changes will then allow the legacy stack to make
use of the same code for ephemeral key exchange.

ok inoguchi@ tb@
</content>
</entry>
</feed>
