diff options
| author | tb <> | 2026-06-08 11:52:43 +0000 |
|---|---|---|
| committer | tb <> | 2026-06-08 11:52:43 +0000 |
| commit | 66583c24ec477c457c733302a390034dcf581c73 (patch) | |
| tree | 4bbcfe74ebaef4b5c765a0acc2fc97b57089b600 /src/lib/libcrypto/engine | |
| parent | 7646f48d882beb02b217ec30dc5d9f2508d1b95b (diff) | |
| download | openbsd-66583c24ec477c457c733302a390034dcf581c73.tar.gz openbsd-66583c24ec477c457c733302a390034dcf581c73.tar.bz2 openbsd-66583c24ec477c457c733302a390034dcf581c73.zip | |
ssl_kex: ensure the public key uses uncompressed encoding
EC_POINT_oct2point() does most of the validation we need it to do, but it
has to accept the point at infinity, compressed and hybrid encodings for
historic reasons. So exclude these cases: the point at infinity makes no
sense here and will be caught later in ECDH_compute_key(), the compressed
and hybrid encodings MUST NOT be supported per RFC 8422 section 5.1.2.
This is implemented using the strategy already used in ec_convert.c since
the point_conversion_form_t is completely unfit for anything.
Set decode_error to ensure we send that alert. We may make some effort to
use illegal_parameter later.
Issue about the missing alert and the point at infinity raised by Lucca
Hirschi et al.
ok jsing kenjiro
Diffstat (limited to 'src/lib/libcrypto/engine')
0 files changed, 0 insertions, 0 deletions
