![]() |
Synergy Software Package User's Manual
|
#include <sf_crypto_key_installation_api.h>
Data Fields | |
| ssp_err_t(* | open )(sf_crypto_key_installation_ctrl_t *const p_ctrl, sf_crypto_key_installation_cfg_t const *const p_cfg) |
| ssp_err_t(* | close )(sf_crypto_key_installation_ctrl_t *const p_ctrl) |
| ssp_err_t(* | versionGet )(ssp_version_t *const p_version) |
| ssp_err_t(* | keyInstall )(sf_crypto_key_installation_ctrl_t *const p_ctrl, sf_crypto_data_handle_t const *const p_user_key_rsa_modulus, sf_crypto_data_handle_t const *const p_user_key_input, sf_crypto_key_installation_shared_index_t const shared_index_input, sf_crypto_data_handle_t const *const p_session_key_input, uint32_t const *const p_iv_input, sf_crypto_data_handle_t *const p_key_data_out) |
Shared Interface definition for the SSP Crypto Key Installation Interface framework
| ssp_err_t(* sf_crypto_key_installation_api_t::close) (sf_crypto_key_installation_ctrl_t *const p_ctrl) |
Close SSP Crypto Key Installation framework.
| [in,out] | p_ctrl | Pointer to Crypto Key Installation Framework control block structure. |
| ssp_err_t(* sf_crypto_key_installation_api_t::keyInstall) (sf_crypto_key_installation_ctrl_t *const p_ctrl, sf_crypto_data_handle_t const *const p_user_key_rsa_modulus, sf_crypto_data_handle_t const *const p_user_key_input, sf_crypto_key_installation_shared_index_t const shared_index_input, sf_crypto_data_handle_t const *const p_session_key_input, uint32_t const *const p_iv_input, sf_crypto_data_handle_t *const p_key_data_out) |
Install a key from the user's encrypted key, a shared index, session key, and an IV generated using a scheme designed to maintain plaintext source key isolation. This returns a wrapped key (sometimes called a key index) that can be used in other crypto APIs in place of the associated plaintext key (stored offline).
| [in] | p_ctrl | Pointer to Crypto Key Installation Framework control block structure. Caller should not modify any elements of this structure at any time. |
| [in] | p_user_key_rsa_modulus | Pointer to sf_crypto_key_handle_t structure which includes a pointer to the WORD aligned buffer which holds the RSA modulus portion of the encrypted user RSA private key and the modulus length. This is only applicable when a RSA standard key is being installed. To be set to NULL otherwise. |
| [in] | p_user_key_input | Pointer to sf_crypto_key_handle_t structure which includes a pointer to the WORD aligned buffer which holds the encrypted user key and length. This is the key to be installed in encrypted format. |
| [in] | shared_index_input | An enumerated type that reflects the shared key index returned by the DLM Service, accompanied by the session key that follows. |
| [in] | p_session_key_input | Pointer to sf_crypto_key_handle_t structure which includes a pointer to the WORD aligned buffer which holds the session key and length returned by the DLM Service, accompanied by the shared index key, above. |
| [in] | p_iv_input | Pointer to the 128-bit IV array used to encrypt p_user_key_input. |
| [in,out] | p_key_data_out | Pointer to sf_crypto_key_handle_t structure which includes a pointer to the WORD aligned buffer to hold the wrapped key and the buffer length. This is the wrapped key returned after key installation. |
| ssp_err_t(* sf_crypto_key_installation_api_t::open) (sf_crypto_key_installation_ctrl_t *const p_ctrl, sf_crypto_key_installation_cfg_t const *const p_cfg) |
Open SSP Crypto Key Installation framework for subsequent call / Key installation.
| [in,out] | p_ctrl | Pointer to Crypto Key Installation Framework control block structure. |
| [in] | p_cfg | Pointer to sf_crypto_key_installation_cfg_t configuration structure. All elements of this structure must be set by user. |
| ssp_err_t(* sf_crypto_key_installation_api_t::versionGet) (ssp_version_t *const p_version) |
Get version of SSP Crypto Key Installation framework.
| [out] | p_version | Pointer to the memory to store the module version. |