Fix underlying pkey of RSA-PSS
authortb <tb@openbsd.org>
Wed, 28 Aug 2024 06:53:24 +0000 (06:53 +0000)
committertb <tb@openbsd.org>
Wed, 28 Aug 2024 06:53:24 +0000 (06:53 +0000)
commit9c6dcd480f58952c1ea6a18d41996d522349812f
treebb322bf76ee9cb8c6000e4520b3c8cadd8b82f16
parentde5c7f0b99056f22483141bcdfd727809ea02ae1
Fix underlying pkey of RSA-PSS

There are currently very few differences between the rsa_asn1_meth for
plain RSA and the rsa_pss_asn1_meth for RSA-PSS apart from the obviously
necessary differnces for base_method, pkey_id, pem_str and info (and the
fact that RSA has support for legacy private key encoding). This had the
lucky side effect that it didn't really matter which ameth one ended up
using after OBJ_find_sigid_algs().

With the upcoming support for X509_get_signature_infO() for RSA-PSS, this
needs to change as for RSA-PSS we need to decode the PSS parameters for
extracting the "security level", whereas for RSA we can just use the hash
length. Thus, for RSA-PSS switch pkey_id from the incorrect rsaEncryption
to rassaPss.

ok jsing

PS: OBJ_find_sigid_algs() manual is no longer entirely correct, but this
has been the case since we added Ed25519 support to obj_xref.
lib/libcrypto/objects/obj_xref.c