psa: Export internally psa_export_(public_)key_internal
Export psa_export_(public_)key_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
d18b5f84c6
commit
7285cda387
2 changed files with 57 additions and 47 deletions
|
@ -1496,29 +1496,7 @@ static psa_status_t psa_export_key_buffer_internal( const uint8_t *key_buffer,
|
||||||
return( PSA_SUCCESS );
|
return( PSA_SUCCESS );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Export a key in binary format
|
psa_status_t psa_export_key_internal(
|
||||||
*
|
|
||||||
* \note The signature of this function is that of a PSA driver export_key
|
|
||||||
* entry point. This function behaves as an export_key entry point as
|
|
||||||
* defined in the PSA driver interface specification.
|
|
||||||
*
|
|
||||||
* \param[in] attributes The attributes for the key to export.
|
|
||||||
* \param[in] key_buffer Material or context of the key to export.
|
|
||||||
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
|
|
||||||
* \param[out] data Buffer where the key data is to be written.
|
|
||||||
* \param[in] data_size Size of the \p data buffer in bytes.
|
|
||||||
* \param[out] data_length On success, the number of bytes written in
|
|
||||||
* \p data
|
|
||||||
*
|
|
||||||
* \retval #PSA_SUCCESS The key was exported successfully.
|
|
||||||
* \retval #PSA_ERROR_NOT_SUPPORTED
|
|
||||||
* \retval #PSA_ERROR_COMMUNICATION_FAILURE
|
|
||||||
* \retval #PSA_ERROR_HARDWARE_FAILURE
|
|
||||||
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
|
||||||
* \retval #PSA_ERROR_STORAGE_FAILURE
|
|
||||||
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY
|
|
||||||
*/
|
|
||||||
static psa_status_t psa_export_key_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,
|
||||||
uint8_t *data, size_t data_size, size_t *data_length )
|
uint8_t *data, size_t data_size, size_t *data_length )
|
||||||
|
@ -1607,30 +1585,7 @@ exit:
|
||||||
return( ( status == PSA_SUCCESS ) ? unlock_status : status );
|
return( ( status == PSA_SUCCESS ) ? unlock_status : status );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Export a public key or the public part of a key pair in binary format.
|
psa_status_t psa_export_public_key_internal(
|
||||||
*
|
|
||||||
* \note The signature of this function is that of a PSA driver
|
|
||||||
* export_public_key entry point. This function behaves as an
|
|
||||||
* export_public_key entry point as defined in the PSA driver interface
|
|
||||||
* specification.
|
|
||||||
*
|
|
||||||
* \param[in] attributes The attributes for the key to export.
|
|
||||||
* \param[in] key_buffer Material or context of the key to export.
|
|
||||||
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
|
|
||||||
* \param[out] data Buffer where the key data is to be written.
|
|
||||||
* \param[in] data_size Size of the \p data buffer in bytes.
|
|
||||||
* \param[out] data_length On success, the number of bytes written in
|
|
||||||
* \p data
|
|
||||||
*
|
|
||||||
* \retval #PSA_SUCCESS The public key was exported successfully.
|
|
||||||
* \retval #PSA_ERROR_NOT_SUPPORTED
|
|
||||||
* \retval #PSA_ERROR_COMMUNICATION_FAILURE
|
|
||||||
* \retval #PSA_ERROR_HARDWARE_FAILURE
|
|
||||||
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
|
||||||
* \retval #PSA_ERROR_STORAGE_FAILURE
|
|
||||||
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY
|
|
||||||
*/
|
|
||||||
static psa_status_t psa_export_public_key_internal(
|
|
||||||
const psa_key_attributes_t *attributes,
|
const psa_key_attributes_t *attributes,
|
||||||
const uint8_t *key_buffer,
|
const uint8_t *key_buffer,
|
||||||
size_t key_buffer_size,
|
size_t key_buffer_size,
|
||||||
|
|
|
@ -212,4 +212,59 @@ psa_status_t psa_copy_key_material_into_slot( psa_key_slot_t *slot,
|
||||||
*/
|
*/
|
||||||
psa_status_t mbedtls_to_psa_error( int ret );
|
psa_status_t mbedtls_to_psa_error( int ret );
|
||||||
|
|
||||||
|
/** Export a key in binary format
|
||||||
|
*
|
||||||
|
* \note The signature of this function is that of a PSA driver export_key
|
||||||
|
* entry point. This function behaves as an export_key entry point as
|
||||||
|
* defined in the PSA driver interface specification.
|
||||||
|
*
|
||||||
|
* \param[in] attributes The attributes for the key to export.
|
||||||
|
* \param[in] key_buffer Material or context of the key to export.
|
||||||
|
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
|
||||||
|
* \param[out] data Buffer where the key data is to be written.
|
||||||
|
* \param[in] data_size Size of the \p data buffer in bytes.
|
||||||
|
* \param[out] data_length On success, the number of bytes written in
|
||||||
|
* \p data
|
||||||
|
*
|
||||||
|
* \retval #PSA_SUCCESS The key was exported successfully.
|
||||||
|
* \retval #PSA_ERROR_NOT_SUPPORTED
|
||||||
|
* \retval #PSA_ERROR_COMMUNICATION_FAILURE
|
||||||
|
* \retval #PSA_ERROR_HARDWARE_FAILURE
|
||||||
|
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
||||||
|
* \retval #PSA_ERROR_STORAGE_FAILURE
|
||||||
|
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY
|
||||||
|
*/
|
||||||
|
psa_status_t psa_export_key_internal(
|
||||||
|
const psa_key_attributes_t *attributes,
|
||||||
|
const uint8_t *key_buffer, size_t key_buffer_size,
|
||||||
|
uint8_t *data, size_t data_size, size_t *data_length );
|
||||||
|
|
||||||
|
/** Export a public key or the public part of a key pair in binary format.
|
||||||
|
*
|
||||||
|
* \note The signature of this function is that of a PSA driver
|
||||||
|
* export_public_key entry point. This function behaves as an
|
||||||
|
* export_public_key entry point as defined in the PSA driver interface
|
||||||
|
* specification.
|
||||||
|
*
|
||||||
|
* \param[in] attributes The attributes for the key to export.
|
||||||
|
* \param[in] key_buffer Material or context of the key to export.
|
||||||
|
* \param[in] key_buffer_size Size of the \p key_buffer buffer in bytes.
|
||||||
|
* \param[out] data Buffer where the key data is to be written.
|
||||||
|
* \param[in] data_size Size of the \p data buffer in bytes.
|
||||||
|
* \param[out] data_length On success, the number of bytes written in
|
||||||
|
* \p data
|
||||||
|
*
|
||||||
|
* \retval #PSA_SUCCESS The public key was exported successfully.
|
||||||
|
* \retval #PSA_ERROR_NOT_SUPPORTED
|
||||||
|
* \retval #PSA_ERROR_COMMUNICATION_FAILURE
|
||||||
|
* \retval #PSA_ERROR_HARDWARE_FAILURE
|
||||||
|
* \retval #PSA_ERROR_CORRUPTION_DETECTED
|
||||||
|
* \retval #PSA_ERROR_STORAGE_FAILURE
|
||||||
|
* \retval #PSA_ERROR_INSUFFICIENT_MEMORY
|
||||||
|
*/
|
||||||
|
psa_status_t psa_export_public_key_internal(
|
||||||
|
const psa_key_attributes_t *attributes,
|
||||||
|
const uint8_t *key_buffer, size_t key_buffer_size,
|
||||||
|
uint8_t *data, size_t data_size, size_t *data_length );
|
||||||
|
|
||||||
#endif /* PSA_CRYPTO_CORE_H */
|
#endif /* PSA_CRYPTO_CORE_H */
|
||||||
|
|
Loading…
Reference in a new issue