From cedcb4cd92d0d677d62ec97998ef8b1d467caac5 Mon Sep 17 00:00:00 2001 From: David Drysdale Date: Wed, 9 Aug 2023 11:32:48 +0100 Subject: [PATCH] KeyMint HAL: process destroyAttestationIds Bugs: 283049310 Test: VtsAidlKeyMintTargetTest using disabled test Change-Id: I545511a7a701faf8e82dff9c169c3738f2c30e6d --- trusty/keymaster/TrustyKeymaster.cpp | 5 +++++ trusty/keymaster/include/trusty_keymaster/TrustyKeymaster.h | 2 ++ trusty/keymaster/keymint/TrustyKeyMintDevice.cpp | 6 +++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/trusty/keymaster/TrustyKeymaster.cpp b/trusty/keymaster/TrustyKeymaster.cpp index ac986951d..b118a2001 100644 --- a/trusty/keymaster/TrustyKeymaster.cpp +++ b/trusty/keymaster/TrustyKeymaster.cpp @@ -218,6 +218,11 @@ void TrustyKeymaster::DeleteAllKeys(const DeleteAllKeysRequest& request, ForwardCommand(KM_DELETE_ALL_KEYS, request, response); } +void TrustyKeymaster::DestroyAttestationIds(const DestroyAttestationIdsRequest& request, + DestroyAttestationIdsResponse* response) { + ForwardCommand(KM_DESTROY_ATTESTATION_IDS, request, response); +} + void TrustyKeymaster::BeginOperation(const BeginOperationRequest& request, BeginOperationResponse* response) { ForwardCommand(KM_BEGIN_OPERATION, request, response); diff --git a/trusty/keymaster/include/trusty_keymaster/TrustyKeymaster.h b/trusty/keymaster/include/trusty_keymaster/TrustyKeymaster.h index 60d3f87ae..c50178bcf 100644 --- a/trusty/keymaster/include/trusty_keymaster/TrustyKeymaster.h +++ b/trusty/keymaster/include/trusty_keymaster/TrustyKeymaster.h @@ -55,6 +55,8 @@ class TrustyKeymaster { void UpgradeKey(const UpgradeKeyRequest& request, UpgradeKeyResponse* response); void DeleteKey(const DeleteKeyRequest& request, DeleteKeyResponse* response); void DeleteAllKeys(const DeleteAllKeysRequest& request, DeleteAllKeysResponse* response); + void DestroyAttestationIds(const DestroyAttestationIdsRequest& request, + DestroyAttestationIdsResponse* response); void BeginOperation(const BeginOperationRequest& request, BeginOperationResponse* response); void UpdateOperation(const UpdateOperationRequest& request, UpdateOperationResponse* response); void FinishOperation(const FinishOperationRequest& request, FinishOperationResponse* response); diff --git a/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp b/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp index b696ff931..fec4c60fe 100644 --- a/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp +++ b/trusty/keymaster/keymint/TrustyKeyMintDevice.cpp @@ -258,7 +258,11 @@ ScopedAStatus TrustyKeyMintDevice::deleteAllKeys() { } ScopedAStatus TrustyKeyMintDevice::destroyAttestationIds() { - return kmError2ScopedAStatus(KM_ERROR_UNIMPLEMENTED); + keymaster::DestroyAttestationIdsRequest request(impl_->message_version()); + keymaster::DestroyAttestationIdsResponse response(impl_->message_version()); + impl_->DestroyAttestationIds(request, &response); + + return kmError2ScopedAStatus(response.error); } ScopedAStatus TrustyKeyMintDevice::begin(KeyPurpose purpose, const vector& keyBlob,