diff options
Diffstat (limited to 'include/keymaster/km_openssl/rsa_operation.h')
-rw-r--r-- | include/keymaster/km_openssl/rsa_operation.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/include/keymaster/km_openssl/rsa_operation.h b/include/keymaster/km_openssl/rsa_operation.h index 578a3d2..dd14b57 100644 --- a/include/keymaster/km_openssl/rsa_operation.h +++ b/include/keymaster/km_openssl/rsa_operation.h @@ -188,7 +188,7 @@ class RsaOperationFactory : public OperationFactory { virtual keymaster_purpose_t purpose() const = 0; OperationPtr CreateOperation(Key&& key, const AuthorizationSet& begin_params, - keymaster_error_t* error) override { + keymaster_error_t* error) const override { return OperationPtr(CreateRsaOperation(move(key), begin_params, error)); } const keymaster_digest_t* SupportedDigests(size_t* digest_count) const override; @@ -196,13 +196,14 @@ class RsaOperationFactory : public OperationFactory { protected: static EVP_PKEY* GetRsaKey(Key&& key, keymaster_error_t* error); virtual RsaOperation* CreateRsaOperation(Key&& key, const AuthorizationSet& begin_params, - keymaster_error_t* error); + keymaster_error_t* error) const; private: virtual RsaOperation* InstantiateOperation(AuthorizationSet&& hw_enforced, AuthorizationSet&& sw_enforced, keymaster_digest_t digest, - keymaster_padding_t padding, EVP_PKEY* key) = 0; + keymaster_padding_t padding, + EVP_PKEY* key) const = 0; }; /** @@ -220,7 +221,7 @@ class RsaDigestingOperationFactory : public RsaOperationFactory { class RsaCryptingOperationFactory : public RsaOperationFactory { public: RsaOperation* CreateRsaOperation(Key&& key, const AuthorizationSet& begin_params, - keymaster_error_t* error) override; + keymaster_error_t* error) const override; const keymaster_padding_t* SupportedPaddingModes(size_t* padding_mode_count) const override; }; @@ -232,7 +233,7 @@ class RsaSigningOperationFactory : public RsaDigestingOperationFactory { keymaster_purpose_t purpose() const override { return KM_PURPOSE_SIGN; } RsaOperation* InstantiateOperation(AuthorizationSet&& hw_enforced, AuthorizationSet&& sw_enforced, keymaster_digest_t digest, - keymaster_padding_t padding, EVP_PKEY* key) override { + keymaster_padding_t padding, EVP_PKEY* key) const override { return new (std::nothrow) RsaSignOperation(move(hw_enforced), move(sw_enforced), digest, padding, key); } @@ -245,7 +246,7 @@ class RsaVerificationOperationFactory : public RsaDigestingOperationFactory { keymaster_purpose_t purpose() const override { return KM_PURPOSE_VERIFY; } RsaOperation* InstantiateOperation(AuthorizationSet&& hw_enforced, AuthorizationSet&& sw_enforced, keymaster_digest_t digest, - keymaster_padding_t padding, EVP_PKEY* key) override { + keymaster_padding_t padding, EVP_PKEY* key) const override { return new (std::nothrow) RsaVerifyOperation(move(hw_enforced), move(sw_enforced), digest, padding, key); } @@ -258,7 +259,7 @@ class RsaEncryptionOperationFactory : public RsaCryptingOperationFactory { keymaster_purpose_t purpose() const override { return KM_PURPOSE_ENCRYPT; } RsaOperation* InstantiateOperation(AuthorizationSet&& hw_enforced, AuthorizationSet&& sw_enforced, keymaster_digest_t digest, - keymaster_padding_t padding, EVP_PKEY* key) override { + keymaster_padding_t padding, EVP_PKEY* key) const override { return new (std::nothrow) RsaEncryptOperation(move(hw_enforced), move(sw_enforced), digest, padding, key); } @@ -271,7 +272,7 @@ class RsaDecryptionOperationFactory : public RsaCryptingOperationFactory { keymaster_purpose_t purpose() const override { return KM_PURPOSE_DECRYPT; } RsaOperation* InstantiateOperation(AuthorizationSet&& hw_enforced, AuthorizationSet&& sw_enforced, keymaster_digest_t digest, - keymaster_padding_t padding, EVP_PKEY* key) override { + keymaster_padding_t padding, EVP_PKEY* key) const override { return new (std::nothrow) RsaDecryptOperation(move(hw_enforced), move(sw_enforced), digest, padding, key); } |