summaryrefslogtreecommitdiffstats
path: root/chromeos/cryptohome
diff options
context:
space:
mode:
authordkrahn@google.com <dkrahn@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 19:53:41 +0000
committerdkrahn@google.com <dkrahn@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 19:53:41 +0000
commit8b85035f732684e92ee738c071882888ca584191 (patch)
treed4532b7f09d0a33c92b83ef0ffb9830df442f1bb /chromeos/cryptohome
parent17f54130b0e90439710f55cbfc880baaa8f83ef3 (diff)
downloadchromium_src-8b85035f732684e92ee738c071882888ca584191.zip
chromium_src-8b85035f732684e92ee738c071882888ca584191.tar.gz
chromium_src-8b85035f732684e92ee738c071882888ca584191.tar.bz2
Implemented attestation message flow for Chrome OS.
Chrome OS has an attestation service which can interact with a Privacy CA in order to generate an attestation certificate. The AttestationFlow class coordinates this interaction. BUG=chromium-os:37806 TEST=unit Review URL: https://chromiumcodereview.appspot.com/11932004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178354 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/cryptohome')
-rw-r--r--chromeos/cryptohome/mock_async_method_caller.cc34
-rw-r--r--chromeos/cryptohome/mock_async_method_caller.h8
2 files changed, 42 insertions, 0 deletions
diff --git a/chromeos/cryptohome/mock_async_method_caller.cc b/chromeos/cryptohome/mock_async_method_caller.cc
index eb2203c..ce02bd3 100644
--- a/chromeos/cryptohome/mock_async_method_caller.cc
+++ b/chromeos/cryptohome/mock_async_method_caller.cc
@@ -10,6 +10,10 @@ using ::testing::_;
namespace cryptohome {
+const char MockAsyncMethodCaller::kFakeAttestationEnrollRequest[] = "enrollreq";
+const char MockAsyncMethodCaller::kFakeAttestationCertRequest[] = "certreq";
+const char MockAsyncMethodCaller::kFakeAttestationCert[] = "cert";
+
MockAsyncMethodCaller::MockAsyncMethodCaller()
: success_(false), return_code_(cryptohome::MOUNT_ERROR_NONE) {
}
@@ -34,10 +38,40 @@ void MockAsyncMethodCaller::SetUp(bool success, MountError return_code) {
ON_CALL(*this, AsyncRemove(_, _))
.WillByDefault(
WithArgs<1>(Invoke(this, &MockAsyncMethodCaller::DoCallback)));
+ ON_CALL(*this, AsyncTpmAttestationCreateEnrollRequest(_))
+ .WillByDefault(
+ WithArgs<0>(Invoke(this,
+ &MockAsyncMethodCaller::FakeCreateEnrollRequest)));
+ ON_CALL(*this, AsyncTpmAttestationEnroll(_, _))
+ .WillByDefault(
+ WithArgs<1>(Invoke(this, &MockAsyncMethodCaller::DoCallback)));
+ ON_CALL(*this, AsyncTpmAttestationCreateCertRequest(_, _))
+ .WillByDefault(
+ WithArgs<1>(Invoke(this,
+ &MockAsyncMethodCaller::FakeCreateCertRequest)));
+ ON_CALL(*this, AsyncTpmAttestationFinishCertRequest(_, _))
+ .WillByDefault(
+ WithArgs<1>(Invoke(this,
+ &MockAsyncMethodCaller::FakeFinishCertRequest)));
}
void MockAsyncMethodCaller::DoCallback(Callback callback) {
callback.Run(success_, return_code_);
}
+void MockAsyncMethodCaller::FakeCreateEnrollRequest(
+ const DataCallback& callback) {
+ callback.Run(success_, kFakeAttestationEnrollRequest);
+}
+
+void MockAsyncMethodCaller::FakeCreateCertRequest(
+ const DataCallback& callback) {
+ callback.Run(success_, kFakeAttestationCertRequest);
+}
+
+void MockAsyncMethodCaller::FakeFinishCertRequest(
+ const DataCallback& callback) {
+ callback.Run(success_, kFakeAttestationCert);
+}
+
} // namespace cryptohome
diff --git a/chromeos/cryptohome/mock_async_method_caller.h b/chromeos/cryptohome/mock_async_method_caller.h
index 37bc0c44..2e8d352 100644
--- a/chromeos/cryptohome/mock_async_method_caller.h
+++ b/chromeos/cryptohome/mock_async_method_caller.h
@@ -16,6 +16,10 @@ namespace cryptohome {
class MockAsyncMethodCaller : public AsyncMethodCaller {
public:
+ static const char kFakeAttestationEnrollRequest[];
+ static const char kFakeAttestationCertRequest[];
+ static const char kFakeAttestationCert[];
+
MockAsyncMethodCaller();
virtual ~MockAsyncMethodCaller();
@@ -50,6 +54,10 @@ class MockAsyncMethodCaller : public AsyncMethodCaller {
MountError return_code_;
void DoCallback(Callback callback);
+ // Default fakes for attestation calls.
+ void FakeCreateEnrollRequest(const DataCallback& callback);
+ void FakeCreateCertRequest(const DataCallback& callback);
+ void FakeFinishCertRequest(const DataCallback& callback);
DISALLOW_COPY_AND_ASSIGN(MockAsyncMethodCaller);
};