diff options
author | Janis Danisevskis <jdanis@google.com> | 2018-02-26 16:47:21 -0800 |
---|---|---|
committer | Janis Danisevskis <jdanis@google.com> | 2018-02-26 16:51:17 -0800 |
commit | 64ec1fefbd40956fa8544bf34922cff55e96f997 (patch) | |
tree | b648dc0ff1499aa8f83c8d5692d3109d646a9eb3 | |
parent | cee5f1213d41f352ac54b1f437e6aadca12e81a5 (diff) | |
download | security-64ec1fefbd40956fa8544bf34922cff55e96f997.tar.gz |
Fix appId, clientId, appData refactoring oopsie
Test: yes
Change-Id: Ibbead8ca5b2d302395cfdc3224f7bcd477b708e7
-rw-r--r-- | keystore/binder/android/security/IKeystoreService.aidl | 4 | ||||
-rw-r--r-- | keystore/key_store_service.cpp | 33 |
2 files changed, 19 insertions, 18 deletions
diff --git a/keystore/binder/android/security/IKeystoreService.aidl b/keystore/binder/android/security/IKeystoreService.aidl index 738eb686..a4c631d9 100644 --- a/keystore/binder/android/security/IKeystoreService.aidl +++ b/keystore/binder/android/security/IKeystoreService.aidl @@ -58,12 +58,12 @@ interface IKeystoreService { int addRngEntropy(in byte[] data, int flags); int generateKey(String alias, in KeymasterArguments arguments, in byte[] entropy, int uid, int flags, out KeyCharacteristics characteristics); - int getKeyCharacteristics(String alias, in KeymasterBlob clientId, in KeymasterBlob appId, + int getKeyCharacteristics(String alias, in KeymasterBlob clientId, in KeymasterBlob appData, int uid, out KeyCharacteristics characteristics); int importKey(String alias, in KeymasterArguments arguments, int format, in byte[] keyData, int uid, int flags, out KeyCharacteristics characteristics); ExportResult exportKey(String alias, int format, in KeymasterBlob clientId, - in KeymasterBlob appId, int uid); + in KeymasterBlob appData, int uid); OperationResult begin(IBinder appToken, String alias, int purpose, boolean pruneable, in KeymasterArguments params, in byte[] entropy, int uid); OperationResult update(IBinder token, in KeymasterArguments params, in byte[] input); diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp index d59966f4..78906102 100644 --- a/keystore/key_store_service.cpp +++ b/keystore/key_store_service.cpp @@ -579,8 +579,8 @@ Status KeyStoreService::verify(const String16& name, const ::std::vector<uint8_t Status KeyStoreService::get_pubkey(const String16& name, ::std::vector<uint8_t>* pubKey) { android::security::keymaster::ExportResult result; KeymasterBlob clientId; - KeymasterBlob appId; - exportKey(name, static_cast<int32_t>(KeyFormat::X509), clientId, appId, UID_SELF, &result); + KeymasterBlob appData; + exportKey(name, static_cast<int32_t>(KeyFormat::X509), clientId, appData, UID_SELF, &result); if (!result.resultCode.isOk()) { ALOGW("export failed: %d", int32_t(result.resultCode)); return Status::fromServiceSpecificError(static_cast<int32_t>(result.resultCode)); @@ -855,7 +855,7 @@ KeyStoreService::generateKey(const String16& name, const KeymasterArguments& par Status KeyStoreService::getKeyCharacteristics( const String16& name, const ::android::security::keymaster::KeymasterBlob& clientId, - const ::android::security::keymaster::KeymasterBlob& appId, int32_t uid, + const ::android::security::keymaster::KeymasterBlob& appData, int32_t uid, ::android::security::keymaster::KeyCharacteristics* outCharacteristics, int32_t* aidl_return) { if (!outCharacteristics) { *aidl_return = @@ -921,7 +921,7 @@ Status KeyStoreService::getKeyCharacteristics( }; rc = KS_HANDLE_HIDL_ERROR( - dev->getKeyCharacteristics(hidlKeyBlob, clientId.getData(), appId.getData(), hidlCb)); + dev->getKeyCharacteristics(hidlKeyBlob, clientId.getData(), appData.getData(), hidlCb)); if (!rc.isOk()) { *aidl_return = static_cast<int32_t>(rc); return Status::ok(); @@ -932,8 +932,8 @@ Status KeyStoreService::getKeyCharacteristics( if (clientId.getData().size()) { upgradeParams.push_back(TAG_APPLICATION_ID, clientId.getData()); } - if (appId.getData().size()) { - upgradeParams.push_back(TAG_APPLICATION_DATA, appId.getData()); + if (appData.getData().size()) { + upgradeParams.push_back(TAG_APPLICATION_DATA, appData.getData()); } rc = upgradeKeyBlob(name, targetUid, upgradeParams, &keyBlob); if (!rc.isOk()) { @@ -944,7 +944,7 @@ Status KeyStoreService::getKeyCharacteristics( auto upgradedHidlKeyBlob = blob2hidlVec(keyBlob); rc = KS_HANDLE_HIDL_ERROR(dev->getKeyCharacteristics( - upgradedHidlKeyBlob, clientId.getData(), appId.getData(), hidlCb)); + upgradedHidlKeyBlob, clientId.getData(), appData.getData(), hidlCb)); if (!rc.isOk()) { *aidl_return = static_cast<int32_t>(rc); return Status::ok(); @@ -1073,7 +1073,7 @@ KeyStoreService::importKey(const String16& name, const KeymasterArguments& param Status KeyStoreService::exportKey(const String16& name, int32_t format, const ::android::security::keymaster::KeymasterBlob& clientId, - const ::android::security::keymaster::KeymasterBlob& appId, + const ::android::security::keymaster::KeymasterBlob& appData, int32_t uid, ExportResult* result) { uid_t targetUid = getEffectiveUid(uid); @@ -1106,7 +1106,7 @@ Status KeyStoreService::exportKey(const String16& name, int32_t format, result->exportData = keyMaterial; }; KeyStoreServiceReturnCode rc = KS_HANDLE_HIDL_ERROR( - dev->exportKey(KeyFormat(format), key, clientId.getData(), appId.getData(), hidlCb)); + dev->exportKey(KeyFormat(format), key, clientId.getData(), appData.getData(), hidlCb)); // Overwrite result->resultCode only on HIDL error. Otherwise we want the result set in the // callback hidlCb. if (!rc.isOk()) { @@ -1118,8 +1118,8 @@ Status KeyStoreService::exportKey(const String16& name, int32_t format, if (clientId.getData().size()) { upgradeParams.push_back(TAG_APPLICATION_ID, clientId.getData()); } - if (appId.getData().size()) { - upgradeParams.push_back(TAG_APPLICATION_DATA, appId.getData()); + if (appData.getData().size()) { + upgradeParams.push_back(TAG_APPLICATION_DATA, appData.getData()); } result->resultCode = upgradeKeyBlob(name, targetUid, upgradeParams, &keyBlob); if (!result->resultCode.isOk()) { @@ -1129,7 +1129,7 @@ Status KeyStoreService::exportKey(const String16& name, int32_t format, auto upgradedHidlKeyBlob = blob2hidlVec(keyBlob); result->resultCode = KS_HANDLE_HIDL_ERROR(dev->exportKey( - KeyFormat(format), upgradedHidlKeyBlob, clientId.getData(), appId.getData(), hidlCb)); + KeyFormat(format), upgradedHidlKeyBlob, clientId.getData(), appData.getData(), hidlCb)); if (!result->resultCode.isOk()) { return Status::ok(); } @@ -1919,13 +1919,13 @@ ErrorCode KeyStoreService::getOperationCharacteristics(const hidl_vec<uint8_t>& sp<Keymaster>* dev, const AuthorizationSet& params, KeyCharacteristics* out) { - ::std::vector<uint8_t> appId; + ::std::vector<uint8_t> clientId; ::std::vector<uint8_t> appData; for (auto param : params) { if (param.tag == Tag::APPLICATION_ID) { - appId = authorizationValue(TAG_APPLICATION_ID, param).value(); + clientId = authorizationValue(TAG_APPLICATION_ID, param).value(); } else if (param.tag == Tag::APPLICATION_DATA) { - appId = authorizationValue(TAG_APPLICATION_DATA, param).value(); + appData = authorizationValue(TAG_APPLICATION_DATA, param).value(); } } ErrorCode error = ErrorCode::OK; @@ -1938,7 +1938,8 @@ ErrorCode KeyStoreService::getOperationCharacteristics(const hidl_vec<uint8_t>& if (out) *out = keyCharacteristics; }; - ErrorCode rc = KS_HANDLE_HIDL_ERROR((*dev)->getKeyCharacteristics(key, appId, appId, hidlCb)); + ErrorCode rc = + KS_HANDLE_HIDL_ERROR((*dev)->getKeyCharacteristics(key, clientId, appData, hidlCb)); if (rc != ErrorCode::OK) { return rc; } |