mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-04 04:32:24 -05:00 
			
		
		
		
	psa: Export "internally" psa_sign/verify_hash_internal
Export psa_sign/verify_hash_internal from psa_crypto.c to make it available to the driver wrapper. Signed-off-by: Ronald Cron <ronald.cron@arm.com>
This commit is contained in:
		
							parent
							
								
									9f17aa48c2
								
							
						
					
					
						commit
						67b1eb309b
					
				@ -3341,7 +3341,7 @@ cleanup:
 | 
				
			|||||||
#endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) ||
 | 
					#endif /* defined(MBEDTLS_PSA_BUILTIN_ALG_ECDSA) ||
 | 
				
			||||||
        * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) */
 | 
					        * defined(MBEDTLS_PSA_BUILTIN_ALG_DETERMINISTIC_ECDSA) */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static psa_status_t psa_sign_hash_internal(
 | 
					psa_status_t psa_sign_hash_internal(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
					    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
				
			||||||
@ -3487,7 +3487,7 @@ exit:
 | 
				
			|||||||
    return( ( status == PSA_SUCCESS ) ? unlock_status : status );
 | 
					    return( ( status == PSA_SUCCESS ) ? unlock_status : status );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static psa_status_t psa_verify_hash_internal(
 | 
					psa_status_t psa_verify_hash_internal(
 | 
				
			||||||
    const psa_key_attributes_t *attributes,
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
					    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
				
			||||||
 | 
				
			|||||||
@ -324,4 +324,80 @@ psa_status_t psa_generate_key_internal( const psa_key_attributes_t *attributes,
 | 
				
			|||||||
                                        size_t key_buffer_size,
 | 
					                                        size_t key_buffer_size,
 | 
				
			||||||
                                        size_t *key_buffer_length );
 | 
					                                        size_t *key_buffer_length );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** Sign an already-calculated hash with a private key.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \note The signature of this function is that of a PSA driver
 | 
				
			||||||
 | 
					 *       sign_hash entry point. This function behaves as a sign_hash
 | 
				
			||||||
 | 
					 *       entry point as defined in the PSA driver interface specification for
 | 
				
			||||||
 | 
					 *       transparent drivers.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \param[in]  attributes       The attributes of the key to use for the
 | 
				
			||||||
 | 
					 *                              operation.
 | 
				
			||||||
 | 
					 * \param[in]  key_buffer       The buffer containing the key context.
 | 
				
			||||||
 | 
					 *                              format.
 | 
				
			||||||
 | 
					 * \param[in]  key_buffer_size  Size of the \p key_buffer buffer in bytes.
 | 
				
			||||||
 | 
					 * \param[in]  alg              A signature algorithm that is compatible with
 | 
				
			||||||
 | 
					 *                              the type of the key.
 | 
				
			||||||
 | 
					 * \param[in]  hash             The hash or message to sign.
 | 
				
			||||||
 | 
					 * \param[in]  hash_length      Size of the \p hash buffer in bytes.
 | 
				
			||||||
 | 
					 * \param[out] signature        Buffer where the signature is to be written.
 | 
				
			||||||
 | 
					 * \param[in]  signature_size   Size of the \p signature buffer in bytes.
 | 
				
			||||||
 | 
					 * \param[out] signature_length On success, the number of bytes
 | 
				
			||||||
 | 
					 *                              that make up the returned signature value.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \retval #PSA_SUCCESS
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_BUFFER_TOO_SMALL
 | 
				
			||||||
 | 
					 *         The size of the \p signature buffer is too small. You can
 | 
				
			||||||
 | 
					 *         determine a sufficient buffer size by calling
 | 
				
			||||||
 | 
					 *         #PSA_SIGN_OUTPUT_SIZE(\c key_type, \c key_bits, \p alg)
 | 
				
			||||||
 | 
					 *         where \c key_type and \c key_bits are the type and bit-size
 | 
				
			||||||
 | 
					 *         respectively of the key.
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_NOT_SUPPORTED
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INVALID_ARGUMENT
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_CORRUPTION_DETECTED
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INSUFFICIENT_ENTROPY
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					psa_status_t psa_sign_hash_internal(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
				
			||||||
 | 
					    uint8_t *signature, size_t signature_size, size_t *signature_length );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * \brief Verify the signature a hash or short message using a public key.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \note The signature of this function is that of a PSA driver
 | 
				
			||||||
 | 
					 *       verify_hash entry point. This function behaves as a verify_hash
 | 
				
			||||||
 | 
					 *       entry point as defined in the PSA driver interface specification for
 | 
				
			||||||
 | 
					 *       transparent drivers.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \param[in]  attributes       The attributes of the key to use for the
 | 
				
			||||||
 | 
					 *                              operation.
 | 
				
			||||||
 | 
					 * \param[in]  key_buffer       The buffer containing the key context.
 | 
				
			||||||
 | 
					 *                              format.
 | 
				
			||||||
 | 
					 * \param[in]  key_buffer_size  Size of the \p key_buffer buffer in bytes.
 | 
				
			||||||
 | 
					 * \param[in]  alg              A signature algorithm that is compatible with
 | 
				
			||||||
 | 
					 *                              the type of the key.
 | 
				
			||||||
 | 
					 * \param[in]  hash             The hash or message whose signature is to be
 | 
				
			||||||
 | 
					 *                              verified.
 | 
				
			||||||
 | 
					 * \param[in]  hash_length      Size of the \p hash buffer in bytes.
 | 
				
			||||||
 | 
					 * \param[in]  signature        Buffer containing the signature to verify.
 | 
				
			||||||
 | 
					 * \param[in]  signature_length Size of the \p signature buffer in bytes.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * \retval #PSA_SUCCESS
 | 
				
			||||||
 | 
					 *         The signature is valid.
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INVALID_SIGNATURE
 | 
				
			||||||
 | 
					 *         The calculation was performed successfully, but the passed
 | 
				
			||||||
 | 
					 *         signature is not a valid signature.
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_NOT_SUPPORTED
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INVALID_ARGUMENT
 | 
				
			||||||
 | 
					 * \retval #PSA_ERROR_INSUFFICIENT_MEMORY
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					psa_status_t psa_verify_hash_internal(
 | 
				
			||||||
 | 
					    const psa_key_attributes_t *attributes,
 | 
				
			||||||
 | 
					    const uint8_t *key_buffer, size_t key_buffer_size,
 | 
				
			||||||
 | 
					    psa_algorithm_t alg, const uint8_t *hash, size_t hash_length,
 | 
				
			||||||
 | 
					    const uint8_t *signature, size_t signature_length );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* PSA_CRYPTO_CORE_H */
 | 
					#endif /* PSA_CRYPTO_CORE_H */
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user