Add loggers to crypto operation classes.
Change-Id: I06a83884721f3b9ee7853c9495e18d8ccd093182
diff --git a/asymmetric_key.cpp b/asymmetric_key.cpp
index 40b01fb..12f41b1 100644
--- a/asymmetric_key.cpp
+++ b/asymmetric_key.cpp
@@ -229,10 +229,10 @@
Operation* op;
switch (purpose) {
case KM_PURPOSE_SIGN:
- op = new RsaSignOperation(purpose, digest, padding, rsa_key_.release());
+ op = new RsaSignOperation(purpose, logger_, digest, padding, rsa_key_.release());
break;
case KM_PURPOSE_VERIFY:
- op = new RsaVerifyOperation(purpose, digest, padding, rsa_key_.release());
+ op = new RsaVerifyOperation(purpose, logger_, digest, padding, rsa_key_.release());
break;
default:
*error = KM_ERROR_UNIMPLEMENTED;
@@ -433,10 +433,10 @@
Operation* op;
switch (purpose) {
case KM_PURPOSE_SIGN:
- op = new DsaSignOperation(purpose, digest, padding, dsa_key_.release());
+ op = new DsaSignOperation(purpose, logger_, digest, padding, dsa_key_.release());
break;
case KM_PURPOSE_VERIFY:
- op = new DsaVerifyOperation(purpose, digest, padding, dsa_key_.release());
+ op = new DsaVerifyOperation(purpose, logger_, digest, padding, dsa_key_.release());
break;
default:
*error = KM_ERROR_UNIMPLEMENTED;
@@ -601,10 +601,10 @@
Operation* op;
switch (purpose) {
case KM_PURPOSE_SIGN:
- op = new EcdsaSignOperation(purpose, digest, padding, ecdsa_key_.release());
+ op = new EcdsaSignOperation(purpose, logger_, digest, padding, ecdsa_key_.release());
break;
case KM_PURPOSE_VERIFY:
- op = new EcdsaVerifyOperation(purpose, digest, padding, ecdsa_key_.release());
+ op = new EcdsaVerifyOperation(purpose, logger_, digest, padding, ecdsa_key_.release());
break;
default:
*error = KM_ERROR_UNIMPLEMENTED;
diff --git a/dsa_operation.h b/dsa_operation.h
index 685ec55..969cb61 100644
--- a/dsa_operation.h
+++ b/dsa_operation.h
@@ -29,9 +29,9 @@
class DsaOperation : public Operation {
public:
- DsaOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ DsaOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, DSA* key)
- : Operation(purpose), dsa_key_(key), digest_(digest), padding_(padding) {}
+ : Operation(purpose, logger), dsa_key_(key), digest_(digest), padding_(padding) {}
~DsaOperation();
virtual keymaster_error_t Begin() { return KM_ERROR_OK; }
@@ -49,17 +49,17 @@
class DsaSignOperation : public DsaOperation {
public:
- DsaSignOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ DsaSignOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, DSA* key)
- : DsaOperation(purpose, digest, padding, key) {}
+ : DsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};
class DsaVerifyOperation : public DsaOperation {
public:
- DsaVerifyOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ DsaVerifyOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, DSA* key)
- : DsaOperation(purpose, digest, padding, key) {}
+ : DsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};
diff --git a/ecdsa_operation.h b/ecdsa_operation.h
index 473f87f..684c145 100644
--- a/ecdsa_operation.h
+++ b/ecdsa_operation.h
@@ -29,9 +29,9 @@
class EcdsaOperation : public Operation {
public:
- EcdsaOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ EcdsaOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, EC_KEY* key)
- : Operation(purpose), ecdsa_key_(key), digest_(digest), padding_(padding) {}
+ : Operation(purpose, logger), ecdsa_key_(key), digest_(digest), padding_(padding) {}
~EcdsaOperation();
virtual keymaster_error_t Begin() { return KM_ERROR_OK; }
@@ -49,17 +49,17 @@
class EcdsaSignOperation : public EcdsaOperation {
public:
- EcdsaSignOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ EcdsaSignOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, EC_KEY* key)
- : EcdsaOperation(purpose, digest, padding, key) {}
+ : EcdsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};
class EcdsaVerifyOperation : public EcdsaOperation {
public:
- EcdsaVerifyOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
- keymaster_padding_t padding, EC_KEY* key)
- : EcdsaOperation(purpose, digest, padding, key) {}
+ EcdsaVerifyOperation(keymaster_purpose_t purpose, const Logger& logger,
+ keymaster_digest_t digest, keymaster_padding_t padding, EC_KEY* key)
+ : EcdsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};
diff --git a/operation.h b/operation.h
index 5d20541..f1be8b2 100644
--- a/operation.h
+++ b/operation.h
@@ -23,6 +23,7 @@
#include <keymaster/google_keymaster_utils.h>
#include <keymaster/keymaster_defs.h>
+#include <keymaster/logger.h>
namespace keymaster {
@@ -31,14 +32,13 @@
*/
class Operation {
public:
- Operation(keymaster_purpose_t purpose) : purpose_(purpose) {
- }
- virtual ~Operation() {
- }
+ Operation(keymaster_purpose_t purpose, const Logger& logger)
+ : purpose_(purpose), logger_(logger) {}
+ virtual ~Operation() {}
- keymaster_purpose_t purpose() const {
- return purpose_;
- }
+ keymaster_purpose_t purpose() const { return purpose_; }
+
+ const Logger& logger() { return logger_; }
virtual keymaster_error_t Begin() = 0;
virtual keymaster_error_t Update(const Buffer& input, Buffer* output) = 0;
@@ -47,6 +47,7 @@
private:
const keymaster_purpose_t purpose_;
+ const Logger& logger_;
};
} // namespace keymaster
diff --git a/rsa_operation.h b/rsa_operation.h
index ad0ebfc..4697866 100644
--- a/rsa_operation.h
+++ b/rsa_operation.h
@@ -27,9 +27,9 @@
class RsaOperation : public Operation {
public:
- RsaOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ RsaOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, RSA* key)
- : Operation(purpose), rsa_key_(key), digest_(digest), padding_(padding) {}
+ : Operation(purpose, logger), rsa_key_(key), digest_(digest), padding_(padding) {}
~RsaOperation();
virtual keymaster_error_t Begin() { return KM_ERROR_OK; }
@@ -47,17 +47,17 @@
class RsaSignOperation : public RsaOperation {
public:
- RsaSignOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ RsaSignOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, RSA* key)
- : RsaOperation(purpose, digest, padding, key) {}
+ : RsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};
class RsaVerifyOperation : public RsaOperation {
public:
- RsaVerifyOperation(keymaster_purpose_t purpose, keymaster_digest_t digest,
+ RsaVerifyOperation(keymaster_purpose_t purpose, const Logger& logger, keymaster_digest_t digest,
keymaster_padding_t padding, RSA* key)
- : RsaOperation(purpose, digest, padding, key) {}
+ : RsaOperation(purpose, logger, digest, padding, key) {}
virtual keymaster_error_t Finish(const Buffer& signature, Buffer* output);
};