diff options
author | Chad Brubaker <cbrubaker@google.com> | 2015-06-17 20:17:51 -0700 |
---|---|---|
committer | Chad Brubaker <cbrubaker@google.com> | 2015-06-17 20:19:42 -0700 |
commit | df70517b8d85b30e6ac7001ec68348f07d5129cb (patch) | |
tree | 6ae6275b635c610d808319192aa488ac97bf7782 | |
parent | 3a7d9e626fa6c0e116c07be912c319aad6e08614 (diff) | |
download | android_system_security-df70517b8d85b30e6ac7001ec68348f07d5129cb.tar.gz android_system_security-df70517b8d85b30e6ac7001ec68348f07d5129cb.tar.bz2 android_system_security-df70517b8d85b30e6ac7001ec68348f07d5129cb.zip |
Remove exist check from doLegacySignVerify
exist requires the keystore exist permission which callers of
sign/verify may not have. Instead log key not found if begin returns
::KEY_NOT_FOUND.
Bug: 21658885
Change-Id: I8c42f3a636a248e3fb1f0344bf32667fce57f667
-rw-r--r-- | keystore/keystore.cpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/keystore/keystore.cpp b/keystore/keystore.cpp index 639866c..a838dee 100644 --- a/keystore/keystore.cpp +++ b/keystore/keystore.cpp @@ -2969,10 +2969,6 @@ private: uint8_t** out, size_t* outLength, const uint8_t* signature, size_t signatureLength, keymaster_purpose_t purpose) { - if (exist(name, IPCThreadState::self()->getCallingUid()) != ::NO_ERROR) { - ALOGW("Key not found"); - return ::KEY_NOT_FOUND; - } std::basic_stringstream<uint8_t> outBuffer; OperationResult result; KeymasterArguments inArgs; @@ -2982,7 +2978,11 @@ private: begin(appToken, name, purpose, true, inArgs, NULL, 0, &result); if (result.resultCode != ResponseCode::NO_ERROR) { - ALOGW("Error in begin: %d", result.resultCode); + if (result.resultCode == ::KEY_NOT_FOUND) { + ALOGW("Key not found"); + } else { + ALOGW("Error in begin: %d", result.resultCode); + } return translateResultToLegacyResult(result.resultCode); } inArgs.params.clear(); |