Use specified digest for RSA OAEP.

Bug: 22405614
Change-Id: Ia5eb67a571a9d46acca4b4e708bb8178bd3acd0d
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 @@
           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 @@
                       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; }