RA Flexible Software Package Documentation
Release v5.3.0
|
|
Interface for key injection by Renesas Secure IP (RSIP) functions.
The RSIP key injection interface provides RSIP functionality.
Data Structures | |
struct | rsip_key_injection_api_t |
Enumerations | |
enum | rsip_key_injection_type_t |
struct rsip_key_injection_api_t |
Functions implemented at the HAL layer will follow this API.
Data Fields | |
fsp_err_t(* | AES128_InitialKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | AES256_InitialKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA2048_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA2048_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA3072_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA3072_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA4096_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | RSA4096_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp256r1_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp256r1_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp384r1_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp384r1_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp256k1_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_secp256k1_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_brainpoolP256r1_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_brainpoolP256r1_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_brainpoolP384r1_InitialPublicKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* | ECC_brainpoolP384r1_InitialPrivateKeyWrap )(rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
fsp_err_t(* rsip_key_injection_api_t::AES128_InitialKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
This API outputs 128-bit AES wrapped key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 128-bit AES wrapped key |
fsp_err_t(* rsip_key_injection_api_t::AES256_InitialKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_aes_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit AES wrapped key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit AES wrapped key |
fsp_err_t(* rsip_key_injection_api_t::RSA2048_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 2048-bit RSA wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 2048-bit RSA wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::RSA2048_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa2048_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 2048-bit RSA wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 2048-bit RSA wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::RSA3072_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 3072-bit RSA wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 3072-bit RSA wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::RSA3072_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa3072_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 3072-bit RSA wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 3072-bit RSA wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::RSA4096_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 4096-bit RSA wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 4096-bit RSA wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::RSA4096_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_rsa4096_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 4096-bit RSA wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 4096-bit RSA wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp256r1_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit ECC wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp256r1_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit ECC wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp384r1_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 384-bit ECC wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 384-bit ECC wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp384r1_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 384-bit ECC wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 384-bit ECC wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp256k1_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit ECC wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::ECC_secp256k1_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit ECC wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::ECC_brainpoolP256r1_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit brainpool ECC wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::ECC_brainpoolP256r1_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 256-bit brainpool ECC wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 256-bit ECC wrapped private key |
fsp_err_t(* rsip_key_injection_api_t::ECC_brainpoolP384r1_InitialPublicKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_public_wrapped_key_t *const p_wrapped_key) |
This API outputs 384-bit brainpool ECC wrapped public key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 384-bit ECC wrapped public key |
fsp_err_t(* rsip_key_injection_api_t::ECC_brainpoolP384r1_InitialPrivateKeyWrap) (rsip_key_injection_type_t const key_injection_type, uint8_t const *const p_wrapped_user_factory_programming_key, uint8_t const *const p_initial_vector, uint8_t const *const p_user_key, rsip_ecc_private_wrapped_key_t *const p_wrapped_key) |
This API outputs 384-bit brainpool ECC wrapped private key.
[in] | key_injection_type | Selection key injection type when generating wrapped key |
[in] | p_wrapped_user_factory_programming_key | Wrapped user factory programming key by the Renesas Key Wrap Service. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_initial_vector | Initialization vector when generating encrypted key. When key injection type is plain, this is not required and any value can be specified. |
[in] | p_user_key | User key. If key injection type is not plain, it must be encrypted and have MAC appended. |
[out] | p_wrapped_key | 384-bit ECC wrapped private key |