diff options
author | Shawn Willden <swillden@google.com> | 2015-07-10 14:03:14 -0600 |
---|---|---|
committer | Shawn Willden <swillden@google.com> | 2015-07-14 10:48:29 -0600 |
commit | 7d05d88dc44b18e0350f7fe8d28c20f2f643bb80 (patch) | |
tree | 2cdc75cfb2a4b90db3ac562a891a60efbc75a7b1 /rsa_operation.h | |
parent | 0d061c80d06f94291568e725f9eb649962a80352 (diff) | |
download | android_system_keymaster-7d05d88dc44b18e0350f7fe8d28c20f2f643bb80.tar.gz android_system_keymaster-7d05d88dc44b18e0350f7fe8d28c20f2f643bb80.tar.bz2 android_system_keymaster-7d05d88dc44b18e0350f7fe8d28c20f2f643bb80.zip |
Use specified digest for RSA OAEP.
Bug: 22405614
Change-Id: Ia5eb67a571a9d46acca4b4e708bb8178bd3acd0d
Diffstat (limited to 'rsa_operation.h')
-rw-r--r-- | rsa_operation.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/rsa_operation.h b/rsa_operation.h index 89d4f37..30ea3c5 100644 --- a/rsa_operation.h +++ b/rsa_operation.h @@ -39,10 +39,8 @@ class RsaOperation : public Operation { digest_algorithm_(nullptr) {} ~RsaOperation(); - keymaster_error_t Begin(const AuthorizationSet& /* input_params */, - AuthorizationSet* /* output_params */) override { - return KM_ERROR_OK; - } + keymaster_error_t Begin(const AuthorizationSet& input_params, + AuthorizationSet* output_params) override; keymaster_error_t Update(const AuthorizationSet& additional_params, const Buffer& input, AuthorizationSet* output_params, Buffer* output, size_t* input_consumed) override; @@ -135,6 +133,9 @@ class RsaCryptOperation : public RsaOperation { EVP_PKEY* key) : RsaOperation(KM_PURPOSE_ENCRYPT, digest, padding, key) {} + protected: + keymaster_error_t SetOaepDigestIfRequired(EVP_PKEY_CTX* pkey_ctx); + private: int GetOpensslPadding(keymaster_error_t* error) override; bool require_digest() const override { return padding_ == KM_PAD_RSA_OAEP; } |