diff options
author | Shawn Willden <swillden@google.com> | 2016-01-27 12:59:13 -0700 |
---|---|---|
committer | Shawn Willden <swillden@google.com> | 2016-01-28 16:24:17 -0700 |
commit | cb647fec03f71929fd316d2b8f0750f7b24824f3 (patch) | |
tree | 54b208b5c2de82c6ed5b722fdeac91a22dc675b1 /operation.h | |
parent | 4ed2d7ed2275735ddc4952f310badfa4dcbaf04e (diff) | |
download | android_system_keymaster-cb647fec03f71929fd316d2b8f0750f7b24824f3.tar.gz android_system_keymaster-cb647fec03f71929fd316d2b8f0750f7b24824f3.tar.bz2 android_system_keymaster-cb647fec03f71929fd316d2b8f0750f7b24824f3.zip |
Support input to "finish()" in AndroidKeymaster operations.
This CL does not yet take advantage of the simplifications that allowing
input to finish() provides. That will require updating the Java layer
first, to remove some assumptions and code that assume update() must
eventually consume all input.
Change-Id: Ie85896027a1d55ddec06750d19addbb1f5e462c8
Diffstat (limited to 'operation.h')
-rw-r--r-- | operation.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/operation.h b/operation.h index 74948fa..1b87e23 100644 --- a/operation.h +++ b/operation.h @@ -105,10 +105,16 @@ class Operation { virtual keymaster_error_t Update(const AuthorizationSet& input_params, const Buffer& input, AuthorizationSet* output_params, Buffer* output, size_t* input_consumed) = 0; - virtual keymaster_error_t Finish(const AuthorizationSet& input_params, const Buffer& signature, - AuthorizationSet* output_params, Buffer* output) = 0; + virtual keymaster_error_t Finish(const AuthorizationSet& input_params, const Buffer& input, + const Buffer& signature, AuthorizationSet* output_params, + Buffer* output) = 0; virtual keymaster_error_t Abort() = 0; +protected: + // Helper function for implementing Finish() methods that need to call Update() to process + // input, but don't expect any output. + keymaster_error_t UpdateForFinish(const AuthorizationSet& input_params, const Buffer& input); + private: const keymaster_purpose_t purpose_; AuthorizationSet key_auths_; |