AU: Verify delta payload signature and signed hash.

The signature and hash are verified only if the public key file exists.
This means that currently this feature is desabled until we install a public
key.

BUG=5663
TEST=unit tests, applied a signed delta update on the server

Change-Id: I5be72f7fde88400587f8aae0c7d5745c79fc4428

Review URL: http://codereview.chromium.org/3592008
diff --git a/omaha_hash_calculator.h b/omaha_hash_calculator.h
index 208fd01..52ac1b7 100644
--- a/omaha_hash_calculator.h
+++ b/omaha_hash_calculator.h
@@ -40,6 +40,11 @@
     return hash_;
   }
 
+  const std::vector<char>& raw_hash() const {
+    DCHECK(!raw_hash_.empty()) << "Call Finalize() first";
+    return raw_hash_;
+  }
+
   static bool RawHashOfData(const std::vector<char>& data,
                             std::vector<char>* out_hash);
 
@@ -49,9 +54,10 @@
   static std::string OmahaHashOfData(const std::vector<char>& data);
 
  private:
-  // If non-empty, the final base64 encoded hash. Will only be set to
-  // non-empty when Finalize is called.
+  // If non-empty, the final base64 encoded hash and the raw hash. Will only be
+  // set to non-empty when Finalize is called.
   std::string hash_;
+  std::vector<char> raw_hash_;
 
   // Init success
   bool valid_;