openssl/openssl

Preset default elliptic curve and accept handshake when client doesn't propose supported_groups

Open

#22,732 opened on 2023年11月14日

GitHub で見る
 (7 comments) (0 reactions) (0 assignees)C (11,262 forks)batch import
backlog fixhelp wantedtriaged: feature

Repository metrics

Stars
 (30,157 stars)
PR merge metrics
 (30d に merged PR はありません)

説明

According to RFC :

A client that proposes ECC cipher suites may choose not to include these extensions. In this case, the server is free to choose any one of the elliptic curves or point formats listed in Section 5.

Also, as @mattcaswell mentions in #22703:

This allows OpenSSL to just pick a curve if the client hasn't provided a list to choose from. There aren't any MUSTs here, so I think OpenSSL is also conformant in deciding to fail the handshake in this case. But it would be possible for us to add the ability to choose an arbitrary one and that would also be ok.

I think this feature could be very helpful specially for embedded devices which have minimal implementation of TLS protocol. In my opinion It would be better that openssl let developer to choose which curve to be used as default (when client doesn't propose supported_groups extension in ClientHello) in order to maximize compatibility with different environments and devices.

コントリビューターガイド