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,