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);