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
13 files changed
tree: ff9080fda84ab5b6b34903eb5ade2d7463e50439
  1. certs/
  2. .gitignore
  3. action.h
  4. action_mock.h
  5. action_pipe.h
  6. action_pipe_unittest.cc
  7. action_processor.cc
  8. action_processor.h
  9. action_processor_mock.h
  10. action_processor_unittest.cc
  11. action_unittest.cc
  12. buffered_file_writer.cc
  13. buffered_file_writer.h
  14. buffered_file_writer_unittest.cc
  15. bzip.cc
  16. bzip.h
  17. bzip_extent_writer.cc
  18. bzip_extent_writer.h
  19. bzip_extent_writer_unittest.cc
  20. cycle_breaker.cc
  21. cycle_breaker.h
  22. cycle_breaker_unittest.cc
  23. dbus_constants.h
  24. dbus_service.cc
  25. dbus_service.h
  26. decompressing_file_writer.cc
  27. decompressing_file_writer.h
  28. decompressing_file_writer_unittest.cc
  29. delta_diff_generator.cc
  30. delta_diff_generator.h
  31. delta_diff_generator_unittest.cc
  32. delta_performer.cc
  33. delta_performer.h
  34. delta_performer_unittest.cc
  35. download_action.cc
  36. download_action.h
  37. download_action_unittest.cc
  38. extent_mapper.cc
  39. extent_mapper.h
  40. extent_mapper_unittest.cc
  41. extent_ranges.cc
  42. extent_ranges.h
  43. extent_ranges_unittest.cc
  44. extent_writer.cc
  45. extent_writer.h
  46. extent_writer_unittest.cc
  47. file_writer.cc
  48. file_writer.h
  49. file_writer_mock.h
  50. file_writer_unittest.cc
  51. filesystem_copier_action.cc
  52. filesystem_copier_action.h
  53. filesystem_copier_action_unittest.cc
  54. filesystem_iterator.cc
  55. filesystem_iterator.h
  56. filesystem_iterator_unittest.cc
  57. gen_coverage_html.sh
  58. generate_delta_main.cc
  59. graph_types.h
  60. graph_utils.cc
  61. graph_utils.h
  62. graph_utils_unittest.cc
  63. gzip.cc
  64. gzip.h
  65. http_fetcher.h
  66. http_fetcher_unittest.cc
  67. inherit-review-settings-ok
  68. install_plan.h
  69. integration_unittest.cc
  70. libcurl_http_fetcher.cc
  71. libcurl_http_fetcher.h
  72. LICENSE
  73. local_coverage_rate.sh
  74. main.cc
  75. marshal.list
  76. mock_file_writer.h
  77. mock_http_fetcher.cc
  78. mock_http_fetcher.h
  79. omaha_hash_calculator.cc
  80. omaha_hash_calculator.h
  81. omaha_hash_calculator_unittest.cc
  82. omaha_request_action.cc
  83. omaha_request_action.h
  84. omaha_request_action_unittest.cc
  85. omaha_request_params.cc
  86. omaha_request_params.h
  87. omaha_request_params_unittest.cc
  88. omaha_response_handler_action.cc
  89. omaha_response_handler_action.h
  90. omaha_response_handler_action_unittest.cc
  91. org.chromium.UpdateEngine.service
  92. payload_signer.cc
  93. payload_signer.h
  94. payload_signer_unittest.cc
  95. postinstall_runner_action.cc
  96. postinstall_runner_action.h
  97. postinstall_runner_action_unittest.cc
  98. prefs.cc
  99. prefs.h
  100. prefs_interface.h
  101. prefs_mock.h
  102. prefs_unittest.cc
  103. SConstruct
  104. set_bootable_flag_action.cc
  105. set_bootable_flag_action.h
  106. set_bootable_flag_action_unittest.cc
  107. setup_dev_packages
  108. simple_key_value_store.cc
  109. simple_key_value_store.h
  110. simple_key_value_store_unittest.cc
  111. split_file_writer.cc
  112. split_file_writer.h
  113. split_file_writer_unittest.cc
  114. subprocess.cc
  115. subprocess.h
  116. subprocess_unittest.cc
  117. tarjan.cc
  118. tarjan.h
  119. tarjan_unittest.cc
  120. test_http_server.cc
  121. test_http_server.py
  122. test_utils.cc
  123. test_utils.h
  124. testrunner.cc
  125. topological_sort.cc
  126. topological_sort.h
  127. topological_sort_unittest.cc
  128. unittest_key.pem
  129. update_attempter.cc
  130. update_attempter.h
  131. update_attempter_mock.h
  132. update_attempter_unittest.cc
  133. update_check_scheduler.cc
  134. update_check_scheduler.h
  135. update_check_scheduler_unittest.cc
  136. update_engine.xml
  137. update_engine_client.cc
  138. update_metadata.proto
  139. UpdateEngine.conf
  140. utils.cc
  141. utils.h
  142. utils_unittest.cc
  143. WATCHLISTS
  144. zip_unittest.cc