diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-08-17 23:34:57 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-08-17 23:34:57 +0000 |
commit | 38c6c03692ed2b3fdbe0f6cca3df616cc423005a (patch) | |
tree | 356b287b2c043223289b9b0cbacd72cef72ced63 | |
parent | 29d009eafd0d5d151609b06310f64bbabf10ff5d (diff) | |
parent | 68734604939070149f9da8f908b2a66364c90eeb (diff) | |
download | vold-android13-qpr1-s2-release.tar.gz |
Snap for 8961426 from 68734604939070149f9da8f908b2a66364c90eeb to tm-qpr1-releaseandroid-13.0.0_r30android-13.0.0_r29android-13.0.0_r28android-13.0.0_r27android-13.0.0_r24android-13.0.0_r23android-13.0.0_r22android-13.0.0_r21android-13.0.0_r20android-13.0.0_r19android-13.0.0_r18android-13.0.0_r17android-13.0.0_r16android13-qpr1-s8-releaseandroid13-qpr1-s7-releaseandroid13-qpr1-s6-releaseandroid13-qpr1-s5-releaseandroid13-qpr1-s4-releaseandroid13-qpr1-s3-releaseandroid13-qpr1-s2-releaseandroid13-qpr1-s1-releaseandroid13-qpr1-release
Change-Id: I720f7e872dc4f24bf993b8329ce4251f5fde6c75
-rw-r--r-- | KeyStorage.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/KeyStorage.cpp b/KeyStorage.cpp index 3ede67e5..b4abc277 100644 --- a/KeyStorage.cpp +++ b/KeyStorage.cpp @@ -117,9 +117,13 @@ static void hashWithPrefix(char const* prefix, const std::string& tohash, std::s SHA512_Final(reinterpret_cast<uint8_t*>(&(*res)[0]), &c); } -// Generates a keystore key, using rollback resistance if supported. -static bool generateKeystoreKey(Keystore& keystore, const km::AuthorizationSetBuilder& paramBuilder, - std::string* key) { +static bool generateKeyStorageKey(Keystore& keystore, const std::string& appId, std::string* key) { + auto paramBuilder = km::AuthorizationSetBuilder() + .AesEncryptionKey(AES_KEY_BYTES * 8) + .GcmModeMinMacLen(GCM_MAC_BYTES * 8) + .Authorization(km::TAG_APPLICATION_ID, appId) + .Authorization(km::TAG_NO_AUTH_REQUIRED); + LOG(DEBUG) << "Generating \"key storage\" key"; auto paramsWithRollback = paramBuilder; paramsWithRollback.Authorization(km::TAG_ROLLBACK_RESISTANCE); @@ -132,23 +136,13 @@ static bool generateKeystoreKey(Keystore& keystore, const km::AuthorizationSetBu return true; } -static bool generateKeyStorageKey(Keystore& keystore, const std::string& appId, std::string* key) { - auto paramBuilder = km::AuthorizationSetBuilder() - .AesEncryptionKey(AES_KEY_BYTES * 8) - .GcmModeMinMacLen(GCM_MAC_BYTES * 8) - .Authorization(km::TAG_APPLICATION_ID, appId) - .Authorization(km::TAG_NO_AUTH_REQUIRED); - LOG(DEBUG) << "Generating \"key storage\" key"; - return generateKeystoreKey(keystore, paramBuilder, key); -} - bool generateWrappedStorageKey(KeyBuffer* key) { Keystore keystore; if (!keystore) return false; std::string key_temp; auto paramBuilder = km::AuthorizationSetBuilder().AesEncryptionKey(AES_KEY_BYTES * 8); paramBuilder.Authorization(km::TAG_STORAGE_KEY); - if (!generateKeystoreKey(keystore, paramBuilder, &key_temp)) return false; + if (!keystore.generateKey(paramBuilder, &key_temp)) return false; *key = KeyBuffer(key_temp.size()); memcpy(reinterpret_cast<void*>(key->data()), key_temp.c_str(), key->size()); return true; |