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)
 

Detailed Description

Shared Interface definition for the SSP Crypto Key Installation Interface framework

Field Documentation

◆ close

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.

Implemented as
Parameters
[in,out]p_ctrlPointer to Crypto Key Installation Framework control block structure.

◆ keyInstall

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).

Implemented as
Parameters
[in]p_ctrlPointer 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_modulusPointer 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_inputPointer 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_inputAn enumerated type that reflects the shared key index returned by the DLM Service, accompanied by the session key that follows.
[in]p_session_key_inputPointer 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_inputPointer to the 128-bit IV array used to encrypt p_user_key_input.
[in,out]p_key_data_outPointer 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.
Note
It is the user's responsibility to ensure all the above input/output buffers are WORD aligned.
Caller must assign appropriate length to data_length field for all buffers before calling this API.

◆ open

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.

Implemented as
Parameters
[in,out]p_ctrlPointer to Crypto Key Installation Framework control block structure.
[in]p_cfgPointer to sf_crypto_key_installation_cfg_t configuration structure. All elements of this structure must be set by user.

◆ versionGet

ssp_err_t(* sf_crypto_key_installation_api_t::versionGet) (ssp_version_t *const p_version)

Get version of SSP Crypto Key Installation framework.

Implemented as
Parameters
[out]p_versionPointer to the memory to store the module version.

The documentation for this struct was generated from the following file: