LibCrypto: Check ECPrivateKey version when parsing

The version should always be one for version one. Fail if it isn't.
This commit is contained in:
devgianlu 2025-04-25 12:06:19 +02:00 committed by Jelle Raaijmakers
commit ce98d2bbf3
Notes: github-actions[bot] 2025-04-28 10:07:22 +00:00

View file

@ -87,6 +87,10 @@ ErrorOr<EC::KeyPairType> EC::parse_ec_key(ReadonlyBytes der, bool is_private, Ve
READ_OBJECT(Integer, Crypto::UnsignedBigInteger, version);
POP_SCOPE();
if (version != 1) {
ERROR_WITH_SCOPE("Invalid version");
}
PUSH_SCOPE("privateKey");
READ_OBJECT(OctetString, StringView, private_key_bytes);
POP_SCOPE();