mirror of
https://github.com/yuzu-emu/mbedtls
synced 2024-11-24 11:48:12 +00:00
Check public part when parsing private RSA key
This commit is contained in:
parent
9ab0305700
commit
25bb8dc228
1 changed files with 13 additions and 2 deletions
|
@ -819,9 +819,20 @@ static int pk_parse_key_pkcs1_der( mbedtls_rsa_context *rsa,
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Complete the RSA private key */
|
/* rsa_complete() doesn't complete anything with the default
|
||||||
if( ( ret = mbedtls_rsa_complete( rsa ) ) != 0 )
|
* 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;
|
goto cleanup;
|
||||||
|
}
|
||||||
|
|
||||||
if( p != end )
|
if( p != end )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue