]> git.ipfire.org Git - thirdparty/openssl.git/commit
[ec_asn1.c] Avoid injecting seed when built-in matches
authorNicola Tuveri <nic.tuv@gmail.com>
Thu, 10 Oct 2019 17:30:58 +0000 (20:30 +0300)
committerNicola Tuveri <nic.tuv@gmail.com>
Tue, 15 Oct 2019 12:28:36 +0000 (15:28 +0300)
commit4e545c6a256fb1ab08cc5a3aabb00963dac3191b
tree0e9e2e0c549b846d599ed1027982ee698d082386
parent1c10029a68e910d936f9bf011f8c3bb18a05ff8b
[ec_asn1.c] Avoid injecting seed when built-in matches

An unintended consequence of https://github.com/openssl/openssl/pull/9808
is that when an explicit parameters curve is matched against one of the
well-known builtin curves we automatically inherit also the associated
seed parameter, even if the input parameters excluded such parameter.

This later affects the serialization of such parsed keys, causing their
input DER encoding and output DER encoding to differ due to the
additional optional field.

This does not cause problems internally but could affect external
applications, as reported in
https://github.com/openssl/openssl/pull/9811#issuecomment-536153288

This commit fixes the issue by conditionally clearing the seed field if
the original input parameters did not include it.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/10141)
crypto/ec/ec_asn1.c