summaryrefslogtreecommitdiffstats
path: root/rsa_operation.h
diff options
context:
space:
mode:
authorShawn Willden <swillden@google.com>2015-07-10 14:03:14 -0600
committerShawn Willden <swillden@google.com>2015-07-14 10:48:29 -0600
commit7d05d88dc44b18e0350f7fe8d28c20f2f643bb80 (patch)
tree2cdc75cfb2a4b90db3ac562a891a60efbc75a7b1 /rsa_operation.h
parent0d061c80d06f94291568e725f9eb649962a80352 (diff)
downloadandroid_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.h9
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; }