NVIDIA DRIVE OS Linux API Reference5.1.0.2 Release |
NVIDIA Trusted Little Kernel Interface: NVIDIA Cryptography
Description: Declares the cryptography APIs in the TLK.
Definition in file ote_nvcrypto.h.
Go to the source code of this file.
Enumerations | |
enum | { KEYSLOT_RICH_OS_NO_READ_NO_WRITE_KEY_ACCESSIBLE = 0, KEYSLOT_CONFIG_ALL } |
enum | keystore_lookup_type { KEYSTORE_LOOKUP_ABSOLUTE = 1, KEYSTORE_LOOKUP_RELATIVE, KEYSTORE_LOOKUP_BY_ID } |
enum | keybox_attr_type { KEYBOX_ATTR_SIZE = 1 } |
Functions | |
te_error_t | ote_nvcrypto_init (void) |
Initializes and opens an nvcrypto service session. More... | |
te_error_t | ote_nvcrypto_deinit (void) |
Closes an nvcrypto service session. More... | |
te_error_t | ote_nvcrypto_get_keybox (uint32_t keybox_lookup_index, keystore_lookup_type lookup_type, void *buf, uint32_t *len) |
Gets the key box provisioned in the EKS partition. More... | |
te_error_t | ote_nvcrypto_get_keybox_size (uint32_t keybox_lookup_index, keystore_lookup_type lookup_type, uint32_t *len) |
Gets the size of the key box provisioned in the EKS partition. More... | |
te_error_t | ote_nvcrypto_get_storage_key (uint8_t *key, uint32_t key_size) |
Gets the storage key. More... | |
te_error_t | ote_nvcrypto_get_rollback_key (uint8_t *key, uint32_t key_size) |
Gets the rollback key. More... | |
te_error_t | ote_nvcrypto_get_ro_trust_key (uint8_t *key, uint32_t key_size) |
Gets the key derived from the root of trust. More... | |
te_error_t | ote_nvcrypto_get_random (uint8_t *buf, uint32_t buf_len) |
Gets SE HW random number generated data. More... | |
te_error_t | ote_nvcrypto_get_wv_rsa_sig_key (uint8_t *key, uint32_t *key_size) |
Gets the wv rsa sig key. More... | |
te_error_t | ote_nvcrypto_get_gs_key (uint8_t *key, uint32_t *key_size) |
Gets the vrr auth key. More... | |
te_error_t | ote_nvcrypto_get_key (uint8_t *key, uint32_t key_size, uint32_t key_type) |
Gets the storage/rollback key. More... | |
te_error_t | ote_nvcrypto_derive_key (const uint8_t *src_buffer, const uint32_t src_buf_len, uint8_t *dest) |
Generates a unique encryption key by performing crypto operations on the src_buffer a predefined initial vector IV and a secure storage key. More... | |
te_error_t | ote_nvcrypto_get_widevine_key (uint8_t *key, uint32_t key_size) |
Gets the Widevine Device Unique key. More... | |
te_error_t | ote_nvcrypto_update_se_keyslot (uint32_t KeySlotType, uint32_t KeySlotIdx, uint32_t access_control, const uint32_t *pData, uint32_t pData_len) |
Updates the HW security engine AES/RSA keyslots with an input Key. More... | |
te_error_t | ote_nvcrypto_rsa_raw_private_encrypt (uint8_t *pri_key, uint32_t pri_key_len, uint32_t *data_in, uint32_t data_in_len, uint8_t *signedData, uint32_t signed_data_len) |
Interface sign a data blob with a RSA key with no data padding. More... | |
te_error_t | ote_nvcrypto_do_crypt_functions (uint32_t algo, uint32_t mode, uint8_t *inbuf, uint32_t inbuf_len, uint8_t *iv, uint32_t iv_len, uint8_t *key, uint32_t key_len, uint8_t *outbuf, uint32_t *outbuf_len) |
Interface for crypto operations such as AES, SHA, and RSA using openssl library. More... | |
te_error_t | ote_nvcrypto_get_eks2_mac_key (uint8_t *key, uint32_t *key_size) |
Gets the EKS2 mac key, which is used to validate integrity of the EKS2 blob coming from the non-secure world. More... | |
te_error_t | ote_nvcrypto_install_eks2_keys (const uint8_t *buf, uint32_t buf_len, uint32_t num_keys) |
Installs EKS2 keys in NVCrypto key slots. More... | |