Add AuthToken to request's additional_params Original change: https://android-review.googlesource.com/c/platform/system/keymaster/+/1788562 Similar to begin(...) method, the update(...) and the finish(...) methods also need to forward this AuthToken. Bug:195427672 Test: lunch sdk_phone64_x86_64-userdebug m -j emulator Run CtsVerifier SECURITY->Biometrics 2a on goldfish Change-Id: I77d92d95f0db738059c515f0699e154c7cb19e33 Merged-In: I77d92d95f0db738059c515f0699e154c7cb19e33
diff --git a/ng/AndroidKeymaster4Device.cpp b/ng/AndroidKeymaster4Device.cpp index a71948e..18d7fb4 100644 --- a/ng/AndroidKeymaster4Device.cpp +++ b/ng/AndroidKeymaster4Device.cpp
@@ -511,7 +511,7 @@ Return<void> AndroidKeymaster4Device::update(uint64_t operationHandle, const hidl_vec<KeyParameter>& inParams, const hidl_vec<uint8_t>& input, - const HardwareAuthToken& /* authToken */, + const HardwareAuthToken& authToken , const VerificationToken& /* verificationToken */, update_cb _hidl_cb) { UpdateOperationRequest request(impl_->message_version()); @@ -519,6 +519,10 @@ request.input.Reinitialize(input.data(), input.size()); request.additional_params.Reinitialize(KmParamSet(inParams)); + hidl_vec<uint8_t> hidl_vec_token = authToken2HidlVec(authToken); + request.additional_params.push_back( + TAG_AUTH_TOKEN, reinterpret_cast<uint8_t*>(hidl_vec_token.data()), hidl_vec_token.size()); + UpdateOperationResponse response(impl_->message_version()); impl_->UpdateOperation(request, &response); @@ -538,7 +542,7 @@ const hidl_vec<KeyParameter>& inParams, const hidl_vec<uint8_t>& input, const hidl_vec<uint8_t>& signature, - const HardwareAuthToken& /* authToken */, + const HardwareAuthToken& authToken , const VerificationToken& /* verificationToken */, finish_cb _hidl_cb) { FinishOperationRequest request(impl_->message_version()); @@ -547,6 +551,11 @@ request.signature.Reinitialize(signature.data(), signature.size()); request.additional_params.Reinitialize(KmParamSet(inParams)); + hidl_vec<uint8_t> hidl_vec_token = authToken2HidlVec(authToken); + request.additional_params.push_back( + TAG_AUTH_TOKEN, reinterpret_cast<uint8_t*>(hidl_vec_token.data()), hidl_vec_token.size()); + + FinishOperationResponse response(impl_->message_version()); impl_->FinishOperation(request, &response);