Merge pull request #8779 from gilles-peskine-arm/rsa-bitlen-fix

Fix mbedtls_pk_get_bitlen for a key size that is not a multiple of 8
This commit is contained in:
Tom Cosgrove 2024-02-14 11:18:25 +00:00 committed by GitHub
commit 1c0b1bffee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 224 additions and 38 deletions

View file

@ -58,7 +58,7 @@ static int rsa_can_do(mbedtls_pk_type_t type)
static size_t rsa_get_bitlen(mbedtls_pk_context *pk)
{
const mbedtls_rsa_context *rsa = (const mbedtls_rsa_context *) pk->pk_ctx;
return 8 * mbedtls_rsa_get_len(rsa);
return mbedtls_rsa_get_bitlen(rsa);
}
#if defined(MBEDTLS_USE_PSA_CRYPTO)

View file

@ -1014,6 +1014,14 @@ int mbedtls_rsa_get_md_alg(const mbedtls_rsa_context *ctx)
return ctx->hash_id;
}
/*
* Get length in bits of RSA modulus
*/
size_t mbedtls_rsa_get_bitlen(const mbedtls_rsa_context *ctx)
{
return mbedtls_mpi_bitlen(&ctx->N);
}
/*
* Get length in bytes of RSA modulus
*/