mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05:00 
			
		
		
		
	Rename psa_generate_key() and psa_generator_import_key()
This commit is contained in:
		
							parent
							
								
									971bd69696
								
							
						
					
					
						commit
						5a5a79ae2a
					
				@ -335,7 +335,7 @@ Deriving a new AES-CTR 128-bit encryption key into a given key slot using HKDF w
 | 
				
			|||||||
1. Set up the generator using the `psa_key_derivation` function providing a key slot containing a key that can be used for key derivation and a salt and label (Note: salt and label are optional).
 | 
					1. Set up the generator using the `psa_key_derivation` function providing a key slot containing a key that can be used for key derivation and a salt and label (Note: salt and label are optional).
 | 
				
			||||||
1. Initiate a key policy to for the derived key by calling `psa_key_policy_set_usage()` with `PSA_KEY_USAGE_ENCRYPT` parameter and the algorithm `PSA_ALG_CTR`.
 | 
					1. Initiate a key policy to for the derived key by calling `psa_key_policy_set_usage()` with `PSA_KEY_USAGE_ENCRYPT` parameter and the algorithm `PSA_ALG_CTR`.
 | 
				
			||||||
1. Set the key policy to the derived key slot.
 | 
					1. Set the key policy to the derived key slot.
 | 
				
			||||||
1. Import a key from generator into the desired key slot using (`psa_generator_import_key`).
 | 
					1. Import a key from generator into the desired key slot using (`psa_generate_derived_key`).
 | 
				
			||||||
1. Clean up generator.
 | 
					1. Clean up generator.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
At this point the derived key slot holds a new 128-bit AES-CTR encryption key derived from the key, salt and label provided:
 | 
					At this point the derived key slot holds a new 128-bit AES-CTR encryption key derived from the key, salt and label provided:
 | 
				
			||||||
@ -378,7 +378,7 @@ At this point the derived key slot holds a new 128-bit AES-CTR encryption key de
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    psa_set_key_policy(derived_key, &policy);
 | 
					    psa_set_key_policy(derived_key, &policy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    psa_generator_import_key(derived_key, PSA_KEY_TYPE_AES, derived_bits, &generator);
 | 
					    psa_generate_derived_key(derived_key, PSA_KEY_TYPE_AES, derived_bits, &generator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Clean up generator and key */
 | 
					    /* Clean up generator and key */
 | 
				
			||||||
    psa_generator_abort(&generator);
 | 
					    psa_generator_abort(&generator);
 | 
				
			||||||
@ -494,7 +494,7 @@ Prerequisites to using key generation and export APIs:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Generate a piece of random 128-bit AES data:
 | 
					Generate a piece of random 128-bit AES data:
 | 
				
			||||||
1. Set the key policy for key generation by calling `psa_key_policy_set_usage()` with the `PSA_KEY_USAGE_EXPORT` parameter and the algorithm `PSA_ALG_GCM`.
 | 
					1. Set the key policy for key generation by calling `psa_key_policy_set_usage()` with the `PSA_KEY_USAGE_EXPORT` parameter and the algorithm `PSA_ALG_GCM`.
 | 
				
			||||||
1. Generate a random AES key by calling `psa_generate_key()`.
 | 
					1. Generate a random AES key by calling `psa_generate_random_key()`.
 | 
				
			||||||
1. Export the generated key by calling `psa_export_key()`:
 | 
					1. Export the generated key by calling `psa_export_key()`:
 | 
				
			||||||
```C
 | 
					```C
 | 
				
			||||||
    int slot = 1;
 | 
					    int slot = 1;
 | 
				
			||||||
@ -510,7 +510,7 @@ Generate a piece of random 128-bit AES data:
 | 
				
			|||||||
    psa_set_key_policy(slot, &policy);
 | 
					    psa_set_key_policy(slot, &policy);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Generate a key */
 | 
					    /* Generate a key */
 | 
				
			||||||
    psa_generate_key(slot, PSA_KEY_TYPE_AES, bits);
 | 
					    psa_generate_random_key(slot, PSA_KEY_TYPE_AES, bits);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    psa_export_key(slot, exported, exported_size, &exported_length)
 | 
					    psa_export_key(slot, exported, exported_size, &exported_length)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -179,11 +179,11 @@ psa_status_t psa_crypto_init(void);
 | 
				
			|||||||
 * -# Set the key type with psa_set_key_type(). If the key type requires
 | 
					 * -# Set the key type with psa_set_key_type(). If the key type requires
 | 
				
			||||||
 *    domain parameters, call psa_set_key_domain_parameters() instead.
 | 
					 *    domain parameters, call psa_set_key_domain_parameters() instead.
 | 
				
			||||||
 *    Skip this step if copying an existing key with psa_copy_key().
 | 
					 *    Skip this step if copying an existing key with psa_copy_key().
 | 
				
			||||||
 * -# When generating a random key with psa_generate_key() or deriving a key
 | 
					 * -# When generating a random key with psa_generate_random_key() or deriving a key
 | 
				
			||||||
 *    with psa_generator_import_key(), set the desired key size with
 | 
					 *    with psa_generate_derived_key(), set the desired key size with
 | 
				
			||||||
 *    psa_set_key_bits().
 | 
					 *    psa_set_key_bits().
 | 
				
			||||||
 * -# Call a key creation function: psa_import_key(), psa_generate_key(),
 | 
					 * -# Call a key creation function: psa_import_key(), psa_generate_random_key(),
 | 
				
			||||||
 *    psa_generator_import_key() or psa_copy_key(). This function reads
 | 
					 *    psa_generate_derived_key() or psa_copy_key(). This function reads
 | 
				
			||||||
 *    the attribute structure, creates a key with these attributes, and
 | 
					 *    the attribute structure, creates a key with these attributes, and
 | 
				
			||||||
 *    outputs a handle to the newly created key.
 | 
					 *    outputs a handle to the newly created key.
 | 
				
			||||||
 * -# The attribute structure is now no longer necessary. If you called
 | 
					 * -# The attribute structure is now no longer necessary. If you called
 | 
				
			||||||
@ -208,8 +208,8 @@ typedef struct psa_key_attributes_s psa_key_attributes_t;
 | 
				
			|||||||
 * This function does not access storage, it merely fills the attribute
 | 
					 * This function does not access storage, it merely fills the attribute
 | 
				
			||||||
 * structure with given values. The persistent key will be written to
 | 
					 * structure with given values. The persistent key will be written to
 | 
				
			||||||
 * storage when the attribute structure is passed to a key creation
 | 
					 * storage when the attribute structure is passed to a key creation
 | 
				
			||||||
 * function such as psa_import_key(), psa_generate_key(),
 | 
					 * function such as psa_import_key(), psa_generate_random_key(),
 | 
				
			||||||
 * psa_generator_import_key() or psa_copy_key().
 | 
					 * psa_generate_derived_key() or psa_copy_key().
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This function overwrites any identifier and lifetime values
 | 
					 * This function overwrites any identifier and lifetime values
 | 
				
			||||||
 * previously set in \p attributes.
 | 
					 * previously set in \p attributes.
 | 
				
			||||||
@ -3087,7 +3087,7 @@ psa_status_t psa_generator_read(psa_crypto_generator_t *generator,
 | 
				
			|||||||
 *         It is implementation-dependent whether a failure to initialize
 | 
					 *         It is implementation-dependent whether a failure to initialize
 | 
				
			||||||
 *         results in this error code.
 | 
					 *         results in this error code.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
psa_status_t psa_generator_import_key(const psa_key_attributes_t *attributes,
 | 
					psa_status_t psa_generate_derived_key(const psa_key_attributes_t *attributes,
 | 
				
			||||||
                                      psa_key_handle_t *handle,
 | 
					                                      psa_key_handle_t *handle,
 | 
				
			||||||
                                      psa_crypto_generator_t *generator);
 | 
					                                      psa_crypto_generator_t *generator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -3148,7 +3148,7 @@ psa_status_t psa_generator_abort(psa_crypto_generator_t *generator);
 | 
				
			|||||||
 *   or after providing inputs. For some algorithms, this step is mandatory
 | 
					 *   or after providing inputs. For some algorithms, this step is mandatory
 | 
				
			||||||
 *   because the output depends on the maximum capacity.
 | 
					 *   because the output depends on the maximum capacity.
 | 
				
			||||||
 * - Generate output with psa_generator_read() or
 | 
					 * - Generate output with psa_generator_read() or
 | 
				
			||||||
 *   psa_generator_import_key(). Successive calls to these functions
 | 
					 *   psa_generate_derived_key(). Successive calls to these functions
 | 
				
			||||||
 *   use successive output bytes from the generator.
 | 
					 *   use successive output bytes from the generator.
 | 
				
			||||||
 * - Clean up the generator object with psa_generator_abort().
 | 
					 * - Clean up the generator object with psa_generator_abort().
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
@ -3385,7 +3385,7 @@ psa_status_t psa_key_agreement_raw_shared_secret(psa_algorithm_t alg,
 | 
				
			|||||||
 *          and MUST NOT use the content of the output buffer if the return
 | 
					 *          and MUST NOT use the content of the output buffer if the return
 | 
				
			||||||
 *          status is not #PSA_SUCCESS.
 | 
					 *          status is not #PSA_SUCCESS.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \note    To generate a key, use psa_generate_key() instead.
 | 
					 * \note    To generate a key, use psa_generate_random_key() instead.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * \param[out] output       Output buffer for the generated data.
 | 
					 * \param[out] output       Output buffer for the generated data.
 | 
				
			||||||
 * \param output_size       Number of bytes to generate and output.
 | 
					 * \param output_size       Number of bytes to generate and output.
 | 
				
			||||||
@ -3447,7 +3447,7 @@ psa_status_t psa_generate_random(uint8_t *output,
 | 
				
			|||||||
 *         It is implementation-dependent whether a failure to initialize
 | 
					 *         It is implementation-dependent whether a failure to initialize
 | 
				
			||||||
 *         results in this error code.
 | 
					 *         results in this error code.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
psa_status_t psa_generate_key(const psa_key_attributes_t *attributes,
 | 
					psa_status_t psa_generate_random_key(const psa_key_attributes_t *attributes,
 | 
				
			||||||
                              psa_key_handle_t *handle);
 | 
					                              psa_key_handle_t *handle);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**@}*/
 | 
					/**@}*/
 | 
				
			||||||
 | 
				
			|||||||
@ -430,12 +430,12 @@ psa_status_t psa_copy_key_to_handle(psa_key_handle_t source_handle,
 | 
				
			|||||||
                          psa_key_handle_t target_handle,
 | 
					                          psa_key_handle_t target_handle,
 | 
				
			||||||
                          const psa_key_policy_t *constraint);
 | 
					                          const psa_key_policy_t *constraint);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generator_import_key_to_handle(psa_key_handle_t handle,
 | 
					psa_status_t psa_generate_derived_key_to_handle(psa_key_handle_t handle,
 | 
				
			||||||
                                      psa_key_type_t type,
 | 
					                                      psa_key_type_t type,
 | 
				
			||||||
                                      size_t bits,
 | 
					                                      size_t bits,
 | 
				
			||||||
                                      psa_crypto_generator_t *generator);
 | 
					                                      psa_crypto_generator_t *generator);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generate_key_to_handle(psa_key_handle_t handle,
 | 
					psa_status_t psa_generate_random_key_to_handle(psa_key_handle_t handle,
 | 
				
			||||||
                              psa_key_type_t type,
 | 
					                              psa_key_type_t type,
 | 
				
			||||||
                              size_t bits,
 | 
					                              size_t bits,
 | 
				
			||||||
                              const void *extra,
 | 
					                              const void *extra,
 | 
				
			||||||
 | 
				
			|||||||
@ -783,7 +783,7 @@ typedef psa_status_t (*psa_drv_se_export_key_t)(psa_key_slot_number_t key,
 | 
				
			|||||||
 * \param[in] extra         Extra parameters for key generation. The
 | 
					 * \param[in] extra         Extra parameters for key generation. The
 | 
				
			||||||
 *                          interpretation of this parameter should match the
 | 
					 *                          interpretation of this parameter should match the
 | 
				
			||||||
 *                          interpretation in the `extra` parameter is the
 | 
					 *                          interpretation in the `extra` parameter is the
 | 
				
			||||||
 *                          `psa_generate_key` function
 | 
					 *                          `psa_generate_random_key` function
 | 
				
			||||||
 * \param[in] extra_size    The size in bytes of the \p extra buffer
 | 
					 * \param[in] extra_size    The size in bytes of the \p extra buffer
 | 
				
			||||||
 * \param[out] p_pubkey_out The buffer where the public key information will
 | 
					 * \param[out] p_pubkey_out The buffer where the public key information will
 | 
				
			||||||
 *                          be placed
 | 
					 *                          be placed
 | 
				
			||||||
 | 
				
			|||||||
@ -4313,7 +4313,7 @@ static void psa_des_set_key_parity( uint8_t *data, size_t data_size )
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
#endif /* MBEDTLS_DES_C */
 | 
					#endif /* MBEDTLS_DES_C */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static psa_status_t psa_generator_import_key_internal(
 | 
					static psa_status_t psa_generate_derived_key_internal(
 | 
				
			||||||
    psa_key_slot_t *slot,
 | 
					    psa_key_slot_t *slot,
 | 
				
			||||||
    size_t bits,
 | 
					    size_t bits,
 | 
				
			||||||
    psa_crypto_generator_t *generator )
 | 
					    psa_crypto_generator_t *generator )
 | 
				
			||||||
@ -4344,7 +4344,7 @@ exit:
 | 
				
			|||||||
    return( status );
 | 
					    return( status );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generator_import_key( const psa_key_attributes_t *attributes,
 | 
					psa_status_t psa_generate_derived_key( const psa_key_attributes_t *attributes,
 | 
				
			||||||
                                       psa_key_handle_t *handle,
 | 
					                                       psa_key_handle_t *handle,
 | 
				
			||||||
                                       psa_crypto_generator_t *generator )
 | 
					                                       psa_crypto_generator_t *generator )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -4353,7 +4353,7 @@ psa_status_t psa_generator_import_key( const psa_key_attributes_t *attributes,
 | 
				
			|||||||
    status = psa_start_key_creation( attributes, handle, &slot );
 | 
					    status = psa_start_key_creation( attributes, handle, &slot );
 | 
				
			||||||
    if( status == PSA_SUCCESS )
 | 
					    if( status == PSA_SUCCESS )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        status = psa_generator_import_key_internal( slot,
 | 
					        status = psa_generate_derived_key_internal( slot,
 | 
				
			||||||
                                                    attributes->bits,
 | 
					                                                    attributes->bits,
 | 
				
			||||||
                                                    generator );
 | 
					                                                    generator );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -4367,7 +4367,7 @@ psa_status_t psa_generator_import_key( const psa_key_attributes_t *attributes,
 | 
				
			|||||||
    return( status );
 | 
					    return( status );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generator_import_key_to_handle( psa_key_handle_t handle,
 | 
					psa_status_t psa_generate_derived_key_to_handle( psa_key_handle_t handle,
 | 
				
			||||||
                                       psa_key_type_t type,
 | 
					                                       psa_key_type_t type,
 | 
				
			||||||
                                       size_t bits,
 | 
					                                       size_t bits,
 | 
				
			||||||
                                       psa_crypto_generator_t *generator )
 | 
					                                       psa_crypto_generator_t *generator )
 | 
				
			||||||
@ -5148,7 +5148,7 @@ static psa_status_t psa_read_rsa_exponent( const uint8_t *domain_parameters,
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
#endif /* MBEDTLS_RSA_C && MBEDTLS_GENPRIME */
 | 
					#endif /* MBEDTLS_RSA_C && MBEDTLS_GENPRIME */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static psa_status_t psa_generate_key_internal(
 | 
					static psa_status_t psa_generate_random_key_internal(
 | 
				
			||||||
    psa_key_slot_t *slot, size_t bits,
 | 
					    psa_key_slot_t *slot, size_t bits,
 | 
				
			||||||
    const uint8_t *domain_parameters, size_t domain_parameters_size )
 | 
					    const uint8_t *domain_parameters, size_t domain_parameters_size )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
@ -5254,7 +5254,7 @@ static psa_status_t psa_generate_key_internal(
 | 
				
			|||||||
    return( PSA_SUCCESS );
 | 
					    return( PSA_SUCCESS );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generate_key_to_handle( psa_key_handle_t handle,
 | 
					psa_status_t psa_generate_random_key_to_handle( psa_key_handle_t handle,
 | 
				
			||||||
                               psa_key_type_t type,
 | 
					                               psa_key_type_t type,
 | 
				
			||||||
                               size_t bits,
 | 
					                               size_t bits,
 | 
				
			||||||
                               const void *extra,
 | 
					                               const void *extra,
 | 
				
			||||||
@ -5274,7 +5274,7 @@ psa_status_t psa_generate_key_to_handle( psa_key_handle_t handle,
 | 
				
			|||||||
        return( status );
 | 
					        return( status );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    slot->type = type;
 | 
					    slot->type = type;
 | 
				
			||||||
    status = psa_generate_key_internal( slot, bits, extra, extra_size );
 | 
					    status = psa_generate_random_key_internal( slot, bits, extra, extra_size );
 | 
				
			||||||
    if( status != PSA_SUCCESS )
 | 
					    if( status != PSA_SUCCESS )
 | 
				
			||||||
        slot->type = 0;
 | 
					        slot->type = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -5288,7 +5288,7 @@ psa_status_t psa_generate_key_to_handle( psa_key_handle_t handle,
 | 
				
			|||||||
    return( status );
 | 
					    return( status );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
psa_status_t psa_generate_key( const psa_key_attributes_t *attributes,
 | 
					psa_status_t psa_generate_random_key( const psa_key_attributes_t *attributes,
 | 
				
			||||||
                               psa_key_handle_t *handle )
 | 
					                               psa_key_handle_t *handle )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    psa_status_t status;
 | 
					    psa_status_t status;
 | 
				
			||||||
@ -5296,7 +5296,7 @@ psa_status_t psa_generate_key( const psa_key_attributes_t *attributes,
 | 
				
			|||||||
    status = psa_start_key_creation( attributes, handle, &slot );
 | 
					    status = psa_start_key_creation( attributes, handle, &slot );
 | 
				
			||||||
    if( status == PSA_SUCCESS )
 | 
					    if( status == PSA_SUCCESS )
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        status = psa_generate_key_internal(
 | 
					        status = psa_generate_random_key_internal(
 | 
				
			||||||
            slot, attributes->bits,
 | 
					            slot, attributes->bits,
 | 
				
			||||||
            attributes->domain_parameters, attributes->domain_parameters_size );
 | 
					            attributes->domain_parameters, attributes->domain_parameters_size );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
				
			|||||||
@ -3148,7 +3148,7 @@ static int ssl_write_client_key_exchange( mbedtls_ssl_context *ssl )
 | 
				
			|||||||
            return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED );
 | 
					            return( MBEDTLS_ERR_SSL_HW_ACCEL_FAILED );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        /* Generate ECDH private key. */
 | 
					        /* Generate ECDH private key. */
 | 
				
			||||||
        status = psa_generate_key_to_handle( handshake->ecdh_psa_privkey,
 | 
					        status = psa_generate_random_key_to_handle( handshake->ecdh_psa_privkey,
 | 
				
			||||||
                          PSA_KEY_TYPE_ECC_KEYPAIR( handshake->ecdh_psa_curve ),
 | 
					                          PSA_KEY_TYPE_ECC_KEYPAIR( handshake->ecdh_psa_curve ),
 | 
				
			||||||
                          MBEDTLS_PSA_ECC_KEY_BITS_OF_CURVE( handshake->ecdh_psa_curve ),
 | 
					                          MBEDTLS_PSA_ECC_KEY_BITS_OF_CURVE( handshake->ecdh_psa_curve ),
 | 
				
			||||||
                          NULL, 0 );
 | 
					                          NULL, 0 );
 | 
				
			||||||
 | 
				
			|||||||
@ -164,7 +164,7 @@ cipher_example_encrypt_decrypt_aes_cbc_nopad_1_block( void )
 | 
				
			|||||||
    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
					    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
				
			||||||
    psa_set_key_bits( &attributes, key_bits );
 | 
					    psa_set_key_bits( &attributes, key_bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = psa_generate_key( &attributes, &key_handle );
 | 
					    status = psa_generate_random_key( &attributes, &key_handle );
 | 
				
			||||||
    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
					    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
					    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
				
			||||||
@ -215,7 +215,7 @@ static psa_status_t cipher_example_encrypt_decrypt_aes_cbc_pkcs7_multi( void )
 | 
				
			|||||||
    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
					    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
				
			||||||
    psa_set_key_bits( &attributes, key_bits );
 | 
					    psa_set_key_bits( &attributes, key_bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = psa_generate_key( &attributes, &key_handle );
 | 
					    status = psa_generate_random_key( &attributes, &key_handle );
 | 
				
			||||||
    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
					    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
					    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
				
			||||||
@ -262,7 +262,7 @@ static psa_status_t cipher_example_encrypt_decrypt_aes_ctr_multi( void )
 | 
				
			|||||||
    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
					    psa_set_key_type( &attributes, PSA_KEY_TYPE_AES );
 | 
				
			||||||
    psa_set_key_bits( &attributes, key_bits );
 | 
					    psa_set_key_bits( &attributes, key_bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = psa_generate_key( &attributes, &key_handle );
 | 
					    status = psa_generate_random_key( &attributes, &key_handle );
 | 
				
			||||||
    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
					    ASSERT_STATUS( status, PSA_SUCCESS );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
					    status = cipher_encrypt( key_handle, alg, iv, sizeof( iv ),
 | 
				
			||||||
 | 
				
			|||||||
@ -208,7 +208,7 @@ static psa_status_t generate( const char *key_file_name )
 | 
				
			|||||||
    psa_set_key_type( &attributes, PSA_KEY_TYPE_DERIVE );
 | 
					    psa_set_key_type( &attributes, PSA_KEY_TYPE_DERIVE );
 | 
				
			||||||
    psa_set_key_bits( &attributes, PSA_BYTES_TO_BITS( KEY_SIZE_BYTES ) );
 | 
					    psa_set_key_bits( &attributes, PSA_BYTES_TO_BITS( KEY_SIZE_BYTES ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PSA_CHECK( psa_generate_key( &attributes, &key_handle ) );
 | 
					    PSA_CHECK( psa_generate_random_key( &attributes, &key_handle ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PSA_CHECK( save_key( key_handle, key_file_name ) );
 | 
					    PSA_CHECK( save_key( key_handle, key_file_name ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -306,7 +306,7 @@ static psa_status_t derive_key_ladder( const char *ladder[],
 | 
				
			|||||||
        *key_handle = 0;
 | 
					        *key_handle = 0;
 | 
				
			||||||
        /* Use the generator obtained from the parent key to create
 | 
					        /* Use the generator obtained from the parent key to create
 | 
				
			||||||
         * the next intermediate key. */
 | 
					         * the next intermediate key. */
 | 
				
			||||||
        PSA_CHECK( psa_generator_import_key( &attributes, key_handle,
 | 
					        PSA_CHECK( psa_generate_derived_key( &attributes, key_handle,
 | 
				
			||||||
                                             &generator ) );
 | 
					                                             &generator ) );
 | 
				
			||||||
        PSA_CHECK( psa_generator_abort( &generator ) );
 | 
					        PSA_CHECK( psa_generator_abort( &generator ) );
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
@ -343,7 +343,7 @@ static psa_status_t derive_wrapping_key( psa_key_usage_t usage,
 | 
				
			|||||||
                   WRAPPING_KEY_SALT, WRAPPING_KEY_SALT_LENGTH,
 | 
					                   WRAPPING_KEY_SALT, WRAPPING_KEY_SALT_LENGTH,
 | 
				
			||||||
                   NULL, 0,
 | 
					                   NULL, 0,
 | 
				
			||||||
                   PSA_BITS_TO_BYTES( WRAPPING_KEY_BITS ) ) );
 | 
					                   PSA_BITS_TO_BYTES( WRAPPING_KEY_BITS ) ) );
 | 
				
			||||||
    PSA_CHECK( psa_generator_import_key( &attributes, wrapping_key_handle,
 | 
					    PSA_CHECK( psa_generate_derived_key( &attributes, wrapping_key_handle,
 | 
				
			||||||
                                         &generator ) );
 | 
					                                         &generator ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exit:
 | 
					exit:
 | 
				
			||||||
 | 
				
			|||||||
@ -97,7 +97,7 @@ psa_key_handle_t pk_psa_genkey( void )
 | 
				
			|||||||
        return( PK_PSA_INVALID_SLOT );
 | 
					        return( PK_PSA_INVALID_SLOT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* generate key */
 | 
					    /* generate key */
 | 
				
			||||||
    if( PSA_SUCCESS != psa_generate_key_to_handle( key, type, bits, NULL, 0 ) )
 | 
					    if( PSA_SUCCESS != psa_generate_random_key_to_handle( key, type, bits, NULL, 0 ) )
 | 
				
			||||||
        return( PK_PSA_INVALID_SLOT );
 | 
					        return( PK_PSA_INVALID_SLOT );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return( key );
 | 
					    return( key );
 | 
				
			||||||
 | 
				
			|||||||
@ -4322,7 +4322,7 @@ void derive_key_exercise( int alg_arg,
 | 
				
			|||||||
    psa_set_key_algorithm( &attributes, derived_alg );
 | 
					    psa_set_key_algorithm( &attributes, derived_alg );
 | 
				
			||||||
    psa_set_key_type( &attributes, derived_type );
 | 
					    psa_set_key_type( &attributes, derived_type );
 | 
				
			||||||
    psa_set_key_bits( &attributes, derived_bits );
 | 
					    psa_set_key_bits( &attributes, derived_bits );
 | 
				
			||||||
    PSA_ASSERT( psa_generator_import_key( &attributes, &derived_handle,
 | 
					    PSA_ASSERT( psa_generate_derived_key( &attributes, &derived_handle,
 | 
				
			||||||
                                          &generator ) );
 | 
					                                          &generator ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Test the key information */
 | 
					    /* Test the key information */
 | 
				
			||||||
@ -4393,7 +4393,7 @@ void derive_key_export( int alg_arg,
 | 
				
			|||||||
    psa_set_key_algorithm( &derived_attributes, 0 );
 | 
					    psa_set_key_algorithm( &derived_attributes, 0 );
 | 
				
			||||||
    psa_set_key_type( &derived_attributes, PSA_KEY_TYPE_RAW_DATA );
 | 
					    psa_set_key_type( &derived_attributes, PSA_KEY_TYPE_RAW_DATA );
 | 
				
			||||||
    psa_set_key_bits( &derived_attributes, PSA_BYTES_TO_BITS( bytes1 ) );
 | 
					    psa_set_key_bits( &derived_attributes, PSA_BYTES_TO_BITS( bytes1 ) );
 | 
				
			||||||
    PSA_ASSERT( psa_generator_import_key( &derived_attributes, &derived_handle,
 | 
					    PSA_ASSERT( psa_generate_derived_key( &derived_attributes, &derived_handle,
 | 
				
			||||||
                                          &generator ) );
 | 
					                                          &generator ) );
 | 
				
			||||||
    PSA_ASSERT( psa_export_key( derived_handle,
 | 
					    PSA_ASSERT( psa_export_key( derived_handle,
 | 
				
			||||||
                                export_buffer, bytes1,
 | 
					                                export_buffer, bytes1,
 | 
				
			||||||
@ -4401,7 +4401,7 @@ void derive_key_export( int alg_arg,
 | 
				
			|||||||
    TEST_EQUAL( length, bytes1 );
 | 
					    TEST_EQUAL( length, bytes1 );
 | 
				
			||||||
    PSA_ASSERT( psa_destroy_key( derived_handle ) );
 | 
					    PSA_ASSERT( psa_destroy_key( derived_handle ) );
 | 
				
			||||||
    psa_set_key_bits( &derived_attributes, PSA_BYTES_TO_BITS( bytes2 ) );
 | 
					    psa_set_key_bits( &derived_attributes, PSA_BYTES_TO_BITS( bytes2 ) );
 | 
				
			||||||
    PSA_ASSERT( psa_generator_import_key( &derived_attributes, &derived_handle,
 | 
					    PSA_ASSERT( psa_generate_derived_key( &derived_attributes, &derived_handle,
 | 
				
			||||||
                                          &generator ) );
 | 
					                                          &generator ) );
 | 
				
			||||||
    PSA_ASSERT( psa_export_key( derived_handle,
 | 
					    PSA_ASSERT( psa_export_key( derived_handle,
 | 
				
			||||||
                                export_buffer + bytes1, bytes2,
 | 
					                                export_buffer + bytes1, bytes2,
 | 
				
			||||||
@ -4695,7 +4695,7 @@ void generate_key( int type_arg,
 | 
				
			|||||||
    psa_set_key_bits( &attributes, bits );
 | 
					    psa_set_key_bits( &attributes, bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Generate a key */
 | 
					    /* Generate a key */
 | 
				
			||||||
    TEST_EQUAL( psa_generate_key( &attributes, &handle ), expected_status );
 | 
					    TEST_EQUAL( psa_generate_random_key( &attributes, &handle ), expected_status );
 | 
				
			||||||
    if( expected_status != PSA_SUCCESS )
 | 
					    if( expected_status != PSA_SUCCESS )
 | 
				
			||||||
        goto exit;
 | 
					        goto exit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -4755,7 +4755,7 @@ void generate_key_rsa( int bits_arg,
 | 
				
			|||||||
    psa_set_key_bits( &attributes, bits );
 | 
					    psa_set_key_bits( &attributes, bits );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* Generate a key */
 | 
					    /* Generate a key */
 | 
				
			||||||
    TEST_EQUAL( psa_generate_key( &attributes, &handle ), expected_status );
 | 
					    TEST_EQUAL( psa_generate_random_key( &attributes, &handle ), expected_status );
 | 
				
			||||||
    if( expected_status != PSA_SUCCESS )
 | 
					    if( expected_status != PSA_SUCCESS )
 | 
				
			||||||
        goto exit;
 | 
					        goto exit;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -4863,7 +4863,7 @@ void persistent_key_load_key_from_storage( data_t *data,
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        case GENERATE_KEY:
 | 
					        case GENERATE_KEY:
 | 
				
			||||||
            /* Generate a key */
 | 
					            /* Generate a key */
 | 
				
			||||||
            PSA_ASSERT( psa_generate_key( &attributes, &handle ) );
 | 
					            PSA_ASSERT( psa_generate_random_key( &attributes, &handle ) );
 | 
				
			||||||
            break;
 | 
					            break;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        case DERIVE_KEY:
 | 
					        case DERIVE_KEY:
 | 
				
			||||||
@ -4885,7 +4885,7 @@ void persistent_key_load_key_from_storage( data_t *data,
 | 
				
			|||||||
                PSA_ASSERT( psa_key_derivation_input_bytes(
 | 
					                PSA_ASSERT( psa_key_derivation_input_bytes(
 | 
				
			||||||
                                &generator, PSA_KDF_STEP_INFO,
 | 
					                                &generator, PSA_KDF_STEP_INFO,
 | 
				
			||||||
                                NULL, 0 ) );
 | 
					                                NULL, 0 ) );
 | 
				
			||||||
                PSA_ASSERT( psa_generator_import_key( &attributes, &handle,
 | 
					                PSA_ASSERT( psa_generate_derived_key( &attributes, &handle,
 | 
				
			||||||
                                                      &generator ) );
 | 
					                                                      &generator ) );
 | 
				
			||||||
                PSA_ASSERT( psa_generator_abort( &generator ) );
 | 
					                PSA_ASSERT( psa_generator_abort( &generator ) );
 | 
				
			||||||
                PSA_ASSERT( psa_destroy_key( base_key ) );
 | 
					                PSA_ASSERT( psa_destroy_key( base_key ) );
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user