Store the signature blob as part of the update checkpoint.

If a signed update is interrupted after the download phase, then on resume we
don't re-download the signature blob from the server and fail the update due to
missing signature. This patch makes it so that the signature blob is stored and
restored as part of the update state checkpoint.

Some alternatives that we may want to consider in the future are:

- Redownload the signature blob from the server and re-verify it.

- Verify the signature as soon as it's received and don't checkpoint the blob
  and the signed sha-256 context.

BUG=chromium-os:15711
TEST=unit tests, tested manually interrupting updates on the device

Change-Id: If9b97e7f40c97c97da3049813c9332526ea65015
Reviewed-on: http://gerrit.chromium.org/gerrit/1594
Tested-by: Darin Petkov <petkov@chromium.org>
Reviewed-by: Andrew de los Reyes <adlr@chromium.org>
diff --git a/prefs_interface.h b/prefs_interface.h
index 8d07dde..ddebb3b 100644
--- a/prefs_interface.h
+++ b/prefs_interface.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium OS Authors. All rights reserved.
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
@@ -19,6 +19,7 @@
 extern const char kPrefsUpdateStateNextDataOffset[];
 extern const char kPrefsUpdateStateNextOperation[];
 extern const char kPrefsUpdateStateSHA256Context[];
+extern const char kPrefsUpdateStateSignatureBlob[];
 extern const char kPrefsUpdateStateSignedSHA256Context[];
 
 // The prefs interface allows access to a persistent preferences