diff --git a/include/mbedtls/rsa.h b/include/mbedtls/rsa.h index d77a53832..da5a47e54 100644 --- a/include/mbedtls/rsa.h +++ b/include/mbedtls/rsa.h @@ -181,6 +181,16 @@ void mbedtls_rsa_init(mbedtls_rsa_context *ctx); int mbedtls_rsa_set_padding(mbedtls_rsa_context *ctx, int padding, mbedtls_md_type_t hash_id); +/** + * \brief This function retrieves padding mode of RSA modulus. + * + * \param ctx The initialized RSA context. + * + * \return RSA padding mode. + * + */ +int mbedtls_rsa_get_padding_mode(const mbedtls_rsa_context *ctx); + /** * \brief This function imports a set of core parameters into an * RSA context. diff --git a/library/rsa.c b/library/rsa.c index df7d7975c..ba54d25bc 100644 --- a/library/rsa.c +++ b/library/rsa.c @@ -499,10 +499,17 @@ int mbedtls_rsa_set_padding(mbedtls_rsa_context *ctx, int padding, return 0; } +/* + * Get padding mode of RSA modulus + */ +int mbedtls_rsa_get_padding_mode(const mbedtls_rsa_context *ctx) +{ + return ctx->MBEDTLS_PRIVATE(padding); +} + /* * Get length in bytes of RSA modulus */ - size_t mbedtls_rsa_get_len(const mbedtls_rsa_context *ctx) { return ctx->len;