Loading trusty/keymaster/include/trusty_keymaster/legacy/trusty_keymaster_device.h +2 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ class TrustyKeymasterDevice { const keymaster_blob_t* input, const keymaster_blob_t* signature, keymaster_key_param_set_t* out_params, keymaster_blob_t* output); keymaster_error_t abort(keymaster_operation_handle_t operation_handle); keymaster_error_t delete_key(const keymaster_key_blob_t* key); keymaster_error_t delete_all_keys(); private: keymaster_error_t Send(uint32_t command, const Serializable& request, Loading trusty/keymaster/legacy/trusty_keymaster_device.cpp +41 −2 Original line number Diff line number Diff line Loading @@ -70,8 +70,8 @@ TrustyKeymasterDevice::TrustyKeymasterDevice(const hw_module_t* module) { device_.export_key = export_key; device_.attest_key = attest_key; device_.upgrade_key = upgrade_key; device_.delete_key = nullptr; device_.delete_all_keys = nullptr; device_.delete_key = delete_key; device_.delete_all_keys = delete_all_keys; device_.begin = begin; device_.update = update; device_.finish = finish; Loading Loading @@ -606,6 +606,34 @@ keymaster_error_t TrustyKeymasterDevice::abort(keymaster_operation_handle_t oper return trusty_keymaster_send(KM_ABORT_OPERATION, request, &response); } keymaster_error_t TrustyKeymasterDevice::delete_key(const keymaster_key_blob_t* key) { ALOGD("Device received delete_key"); if (error_ != KM_ERROR_OK) { return error_; } if (!key || !key->key_material) return KM_ERROR_UNEXPECTED_NULL_POINTER; DeleteKeyRequest request(message_version_); request.SetKeyMaterial(*key); DeleteKeyResponse response(message_version_); return trusty_keymaster_send(KM_DELETE_KEY, request, &response); } keymaster_error_t TrustyKeymasterDevice::delete_all_keys() { ALOGD("Device received delete_all_key"); if (error_ != KM_ERROR_OK) { return error_; } DeleteAllKeysRequest request(message_version_); DeleteAllKeysResponse response(message_version_); return trusty_keymaster_send(KM_DELETE_ALL_KEYS, request, &response); } hw_device_t* TrustyKeymasterDevice::hw_device() { return &device_.common; } Loading Loading @@ -719,4 +747,15 @@ keymaster_error_t TrustyKeymasterDevice::abort(const keymaster2_device_t* dev, return convert_device(dev)->abort(operation_handle); } /* static */ keymaster_error_t TrustyKeymasterDevice::delete_key(const keymaster2_device_t* dev, const keymaster_key_blob_t* key) { return convert_device(dev)->delete_key(key); } /* static */ keymaster_error_t TrustyKeymasterDevice::delete_all_keys(const keymaster2_device_t* dev) { return convert_device(dev)->delete_all_keys(); } } // namespace keymaster Loading
trusty/keymaster/include/trusty_keymaster/legacy/trusty_keymaster_device.h +2 −0 Original line number Diff line number Diff line Loading @@ -80,6 +80,8 @@ class TrustyKeymasterDevice { const keymaster_blob_t* input, const keymaster_blob_t* signature, keymaster_key_param_set_t* out_params, keymaster_blob_t* output); keymaster_error_t abort(keymaster_operation_handle_t operation_handle); keymaster_error_t delete_key(const keymaster_key_blob_t* key); keymaster_error_t delete_all_keys(); private: keymaster_error_t Send(uint32_t command, const Serializable& request, Loading
trusty/keymaster/legacy/trusty_keymaster_device.cpp +41 −2 Original line number Diff line number Diff line Loading @@ -70,8 +70,8 @@ TrustyKeymasterDevice::TrustyKeymasterDevice(const hw_module_t* module) { device_.export_key = export_key; device_.attest_key = attest_key; device_.upgrade_key = upgrade_key; device_.delete_key = nullptr; device_.delete_all_keys = nullptr; device_.delete_key = delete_key; device_.delete_all_keys = delete_all_keys; device_.begin = begin; device_.update = update; device_.finish = finish; Loading Loading @@ -606,6 +606,34 @@ keymaster_error_t TrustyKeymasterDevice::abort(keymaster_operation_handle_t oper return trusty_keymaster_send(KM_ABORT_OPERATION, request, &response); } keymaster_error_t TrustyKeymasterDevice::delete_key(const keymaster_key_blob_t* key) { ALOGD("Device received delete_key"); if (error_ != KM_ERROR_OK) { return error_; } if (!key || !key->key_material) return KM_ERROR_UNEXPECTED_NULL_POINTER; DeleteKeyRequest request(message_version_); request.SetKeyMaterial(*key); DeleteKeyResponse response(message_version_); return trusty_keymaster_send(KM_DELETE_KEY, request, &response); } keymaster_error_t TrustyKeymasterDevice::delete_all_keys() { ALOGD("Device received delete_all_key"); if (error_ != KM_ERROR_OK) { return error_; } DeleteAllKeysRequest request(message_version_); DeleteAllKeysResponse response(message_version_); return trusty_keymaster_send(KM_DELETE_ALL_KEYS, request, &response); } hw_device_t* TrustyKeymasterDevice::hw_device() { return &device_.common; } Loading Loading @@ -719,4 +747,15 @@ keymaster_error_t TrustyKeymasterDevice::abort(const keymaster2_device_t* dev, return convert_device(dev)->abort(operation_handle); } /* static */ keymaster_error_t TrustyKeymasterDevice::delete_key(const keymaster2_device_t* dev, const keymaster_key_blob_t* key) { return convert_device(dev)->delete_key(key); } /* static */ keymaster_error_t TrustyKeymasterDevice::delete_all_keys(const keymaster2_device_t* dev) { return convert_device(dev)->delete_all_keys(); } } // namespace keymaster