Revert "Revise KeymasterMessage versioning system"
Revert "Add new message versioning protocol"
Revert submission 1533821-new_km_versioning
Reason for revert: DroidMonitor-triggered revert due to breakage https://android-build.googleplex.com/builds/quarterdeck?branch=git_master&target=adt3-userdebug&lkgb=7064747&lkbb=7064769&fkbb=7064769, bug 176867651
Reverted Changes:
I040fe7f62:Revise KeymasterMessage versioning system
Ibea104c39:Revise KeymasterMessage versioning system
Ibea104c39:Revise KeymasterMessage versioning system
I425fb45fc:Add new message versioning protocol
Change-Id: Ifee521bb4f499e77b7a5d9b650c1ba6c3c683649
BUG: 176867651
diff --git a/ng/AndroidKeymaster4Device.cpp b/ng/AndroidKeymaster4Device.cpp
index c48b82f..d5ba734 100644
--- a/ng/AndroidKeymaster4Device.cpp
+++ b/ng/AndroidKeymaster4Device.cpp
@@ -252,7 +252,7 @@
Return<void> AndroidKeymaster4Device::computeSharedHmac(
const hidl_vec<::android::hardware::keymaster::V4_0::HmacSharingParameters>& params,
computeSharedHmac_cb _hidl_cb) {
- ComputeSharedHmacRequest request(impl_->message_version());
+ ComputeSharedHmacRequest request;
request.params_array.params_array = new keymaster::HmacSharingParameters[params.size()];
request.params_array.num_params = params.size();
for (size_t i = 0; i < params.size(); ++i) {
@@ -277,7 +277,7 @@
const ::android::hardware::keymaster::V4_0::HardwareAuthToken& authToken,
verifyAuthorization_cb _hidl_cb) {
- VerifyAuthorizationRequest request(impl_->message_version());
+ VerifyAuthorizationRequest request;
request.challenge = challenge;
request.parameters_to_verify.Reinitialize(KmParamSet(parametersToVerify));
request.auth_token.challenge = authToken.challenge;
@@ -304,10 +304,10 @@
Return<ErrorCode> AndroidKeymaster4Device::addRngEntropy(const hidl_vec<uint8_t>& data) {
if (data.size() == 0) return ErrorCode::OK;
- AddEntropyRequest request(impl_->message_version());
+ AddEntropyRequest request;
request.random_data.Reinitialize(data.data(), data.size());
- AddEntropyResponse response(impl_->message_version());
+ AddEntropyResponse response;
impl_->AddRngEntropy(request, &response);
return legacy_enum_conversion(response.error);
@@ -315,10 +315,10 @@
Return<void> AndroidKeymaster4Device::generateKey(const hidl_vec<KeyParameter>& keyParams,
generateKey_cb _hidl_cb) {
- GenerateKeyRequest request(impl_->message_version());
+ GenerateKeyRequest request;
request.key_description.Reinitialize(KmParamSet(keyParams));
- GenerateKeyResponse response(impl_->message_version());
+ GenerateKeyResponse response;
impl_->GenerateKey(request, &response);
KeyCharacteristics resultCharacteristics;
@@ -336,11 +336,11 @@
const hidl_vec<uint8_t>& clientId,
const hidl_vec<uint8_t>& appData,
getKeyCharacteristics_cb _hidl_cb) {
- GetKeyCharacteristicsRequest request(impl_->message_version());
+ GetKeyCharacteristicsRequest request;
request.SetKeyMaterial(keyBlob.data(), keyBlob.size());
addClientAndAppData(clientId, appData, &request.additional_params);
- GetKeyCharacteristicsResponse response(impl_->message_version());
+ GetKeyCharacteristicsResponse response;
impl_->GetKeyCharacteristics(request, &response);
KeyCharacteristics resultCharacteristics;
@@ -356,12 +356,12 @@
KeyFormat keyFormat,
const hidl_vec<uint8_t>& keyData,
importKey_cb _hidl_cb) {
- ImportKeyRequest request(impl_->message_version());
+ ImportKeyRequest request;
request.key_description.Reinitialize(KmParamSet(params));
request.key_format = legacy_enum_conversion(keyFormat);
request.SetKeyMaterial(keyData.data(), keyData.size());
- ImportKeyResponse response(impl_->message_version());
+ ImportKeyResponse response;
impl_->ImportKey(request, &response);
KeyCharacteristics resultCharacteristics;
@@ -380,7 +380,7 @@
const hidl_vec<uint8_t>& maskingKey, const hidl_vec<KeyParameter>& unwrappingParams,
uint64_t passwordSid, uint64_t biometricSid, importWrappedKey_cb _hidl_cb) {
- ImportWrappedKeyRequest request(impl_->message_version());
+ ImportWrappedKeyRequest request;
request.SetWrappedMaterial(wrappedKeyData.data(), wrappedKeyData.size());
request.SetWrappingMaterial(wrappingKeyBlob.data(), wrappingKeyBlob.size());
request.SetMaskingKeyMaterial(maskingKey.data(), maskingKey.size());
@@ -388,7 +388,7 @@
request.password_sid = passwordSid;
request.biometric_sid = biometricSid;
- ImportWrappedKeyResponse response(impl_->message_version());
+ ImportWrappedKeyResponse response;
impl_->ImportWrappedKey(request, &response);
KeyCharacteristics resultCharacteristics;
@@ -407,12 +407,12 @@
const hidl_vec<uint8_t>& clientId,
const hidl_vec<uint8_t>& appData,
exportKey_cb _hidl_cb) {
- ExportKeyRequest request(impl_->message_version());
+ ExportKeyRequest request;
request.key_format = legacy_enum_conversion(exportFormat);
request.SetKeyMaterial(keyBlob.data(), keyBlob.size());
addClientAndAppData(clientId, appData, &request.additional_params);
- ExportKeyResponse response(impl_->message_version());
+ ExportKeyResponse response;
impl_->ExportKey(request, &response);
hidl_vec<uint8_t> resultKeyBlob;
@@ -426,11 +426,11 @@
Return<void> AndroidKeymaster4Device::attestKey(const hidl_vec<uint8_t>& keyToAttest,
const hidl_vec<KeyParameter>& attestParams,
attestKey_cb _hidl_cb) {
- AttestKeyRequest request(impl_->message_version());
+ AttestKeyRequest request;
request.SetKeyMaterial(keyToAttest.data(), keyToAttest.size());
request.attest_params.Reinitialize(KmParamSet(attestParams));
- AttestKeyResponse response(impl_->message_version());
+ AttestKeyResponse response;
impl_->AttestKey(request, &response);
hidl_vec<hidl_vec<uint8_t>> resultCertChain;
@@ -446,11 +446,11 @@
upgradeKey_cb _hidl_cb) {
// There's nothing to be done to upgrade software key blobs. Further, the software
// implementation never returns ErrorCode::KEY_REQUIRES_UPGRADE, so this should never be called.
- UpgradeKeyRequest request(impl_->message_version());
+ UpgradeKeyRequest request;
request.SetKeyMaterial(keyBlobToUpgrade.data(), keyBlobToUpgrade.size());
request.upgrade_params.Reinitialize(KmParamSet(upgradeParams));
- UpgradeKeyResponse response(impl_->message_version());
+ UpgradeKeyResponse response;
impl_->UpgradeKey(request, &response);
if (response.error == KM_ERROR_OK) {
@@ -463,10 +463,10 @@
Return<ErrorCode> AndroidKeymaster4Device::deleteKey(const hidl_vec<uint8_t>& keyBlob) {
// There's nothing to be done to delete software key blobs.
- DeleteKeyRequest request(impl_->message_version());
+ DeleteKeyRequest request;
request.SetKeyMaterial(keyBlob.data(), keyBlob.size());
- DeleteKeyResponse response(impl_->message_version());
+ DeleteKeyResponse response;
impl_->DeleteKey(request, &response);
return legacy_enum_conversion(response.error);
@@ -474,8 +474,8 @@
Return<ErrorCode> AndroidKeymaster4Device::deleteAllKeys() {
// There's nothing to be done to delete software key blobs.
- DeleteAllKeysRequest request(impl_->message_version());
- DeleteAllKeysResponse response(impl_->message_version());
+ DeleteAllKeysRequest request;
+ DeleteAllKeysResponse response;
impl_->DeleteAllKeys(request, &response);
return legacy_enum_conversion(response.error);
@@ -489,7 +489,7 @@
const hidl_vec<KeyParameter>& inParams,
const HardwareAuthToken& authToken, begin_cb _hidl_cb) {
- BeginOperationRequest request(impl_->message_version());
+ BeginOperationRequest request;
request.purpose = legacy_enum_conversion(purpose);
request.SetKeyMaterial(key.data(), key.size());
request.additional_params.Reinitialize(KmParamSet(inParams));
@@ -498,7 +498,7 @@
request.additional_params.push_back(
TAG_AUTH_TOKEN, reinterpret_cast<uint8_t*>(hidl_vec_token.data()), hidl_vec_token.size());
- BeginOperationResponse response(impl_->message_version());
+ BeginOperationResponse response;
impl_->BeginOperation(request, &response);
hidl_vec<KeyParameter> resultParams;
@@ -514,12 +514,12 @@
const HardwareAuthToken& /* authToken */,
const VerificationToken& /* verificationToken */,
update_cb _hidl_cb) {
- UpdateOperationRequest request(impl_->message_version());
+ UpdateOperationRequest request;
request.op_handle = operationHandle;
request.input.Reinitialize(input.data(), input.size());
request.additional_params.Reinitialize(KmParamSet(inParams));
- UpdateOperationResponse response(impl_->message_version());
+ UpdateOperationResponse response;
impl_->UpdateOperation(request, &response);
uint32_t resultConsumed = 0;
@@ -541,13 +541,13 @@
const HardwareAuthToken& /* authToken */,
const VerificationToken& /* verificationToken */,
finish_cb _hidl_cb) {
- FinishOperationRequest request(impl_->message_version());
+ FinishOperationRequest request;
request.op_handle = operationHandle;
request.input.Reinitialize(input.data(), input.size());
request.signature.Reinitialize(signature.data(), signature.size());
request.additional_params.Reinitialize(KmParamSet(inParams));
- FinishOperationResponse response(impl_->message_version());
+ FinishOperationResponse response;
impl_->FinishOperation(request, &response);
hidl_vec<KeyParameter> resultParams;
@@ -561,10 +561,10 @@
}
Return<ErrorCode> AndroidKeymaster4Device::abort(uint64_t operationHandle) {
- AbortOperationRequest request(impl_->message_version());
+ AbortOperationRequest request;
request.op_handle = operationHandle;
- AbortOperationResponse response(impl_->message_version());
+ AbortOperationResponse response;
impl_->AbortOperation(request, &response);
return legacy_enum_conversion(response.error);