Function esp_idf_svc::sys::mbedtls_rsa_rsassa_pss_verify_ext

source ยท
pub unsafe extern "C" fn mbedtls_rsa_rsassa_pss_verify_ext(
    ctx: *mut mbedtls_rsa_context,
    md_alg: u32,
    hashlen: u32,
    hash: *const u8,
    mgf1_hash_id: u32,
    expected_salt_len: i32,
    sig: *const u8,
) -> i32
Expand description

\brief This function performs a PKCS#1 v2.1 PSS verification operation (RSASSA-PSS-VERIFY).

\note The \p sig buffer must be as large as the size of \p ctx->N. For example, 128 Bytes if RSA-1024 is used.

\note The \c hash_id set in \p ctx by mbedtls_rsa_set_padding() is ignored.

\param ctx The initialized RSA public key context to use. \param md_alg The message-digest algorithm used to hash the original data. Use #MBEDTLS_MD_NONE for signing raw data. \param hashlen The length of the message digest or raw data in Bytes. If \p md_alg is not #MBEDTLS_MD_NONE, this must match the output length of the corresponding hash algorithm. \param hash The buffer holding the message digest or raw data. This must be a readable buffer of at least \p hashlen Bytes. \param mgf1_hash_id The message digest algorithm used for the verification operation and the mask generation function (MGF1). For more details on the encoding operation and the mask generation function, consult RFC-3447: Public-Key Cryptography Standards (PKCS) #1 v2.1: RSA Cryptography Specifications. \param expected_salt_len The length of the salt used in padding. Use #MBEDTLS_RSA_SALT_LEN_ANY to accept any salt length. \param sig The buffer holding the signature. This must be a readable buffer of length \c ctx->len Bytes. For example, \c 256 Bytes for an 2048-bit RSA modulus.

\return \c 0 if the verify operation was successful. \return An \c MBEDTLS_ERR_RSA_XXX error code on failure.