Split ec_asn1_parameters2group() into digestible pieces
authortb <tb@openbsd.org>
Thu, 17 Oct 2024 14:34:06 +0000 (14:34 +0000)
committertb <tb@openbsd.org>
Thu, 17 Oct 2024 14:34:06 +0000 (14:34 +0000)
commit6c0a1cff93ccff8c8374ece54d321913322a6704
tree80fd2f51a34a86e343eab08fa15c7f9938b8c7bf
parentb761d24c0b5d0d9ad512e141f454aa88f53007e5
Split ec_asn1_parameters2group() into digestible pieces

This becomes a simple wrapper function that currently does three checks:

1. ensure the fieldID is for a prime field

2. check that the purported prime is of reasonable size, extract and
   set curve coefficients and point conversion form

3. extract and set generator, order, cofactor and seed.

Sanity checks such as the Hasse bound are dealt with in the EC_GROUP API,
so need not be repeated here. They will become redundant once we enforce
that the parameters represent a builtin curve anyway.

ok jsing
lib/libcrypto/ec/ec_asn1.c