mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-12-23 06:05:28 +00:00
Check public part when parsing private RSA key
This commit is contained in:
parent
9ab0305700
commit
25bb8dc228
|
@ -819,9 +819,20 @@ static int pk_parse_key_pkcs1_der( mbedtls_rsa_context *rsa,
|
|||
goto cleanup;
|
||||
#endif
|
||||
|
||||
/* Complete the RSA private key */
|
||||
if( ( ret = mbedtls_rsa_complete( rsa ) ) != 0 )
|
||||
/* rsa_complete() doesn't complete anything with the default
|
||||
* implementation but is still called:
|
||||
* - for the benefit of alternative implementation that may want to
|
||||
* pre-compute stuff beyond what's provided (eg Montgomery factors)
|
||||
* - as is also sanity-checks the key
|
||||
*
|
||||
* Furthermore, we also check the public part for consistency with
|
||||
* mbedtls_pk_parse_pubkey(), as it includes size minima for example.
|
||||
*/
|
||||
if( ( ret = mbedtls_rsa_complete( rsa ) ) != 0 ||
|
||||
( ret = mbedtls_rsa_check_pubkey( rsa ) ) != 0 )
|
||||
{
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if( p != end )
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue