imgtool: add option for confirming a padded image

Add imgtool command line option for confirming (setting image_ok =
0x01) in a padded image.

Fixes: #664

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
diff --git a/scripts/imgtool/image.py b/scripts/imgtool/image.py
index adba2b1..9701e21 100644
--- a/scripts/imgtool/image.py
+++ b/scripts/imgtool/image.py
@@ -117,14 +117,15 @@
 class Image():
 
     def __init__(self, version=None, header_size=IMAGE_HEADER_SIZE,
-                 pad_header=False, pad=False, align=1, slot_size=0,
-                 max_sectors=DEFAULT_MAX_SECTORS, overwrite_only=False,
-                 endian="little", load_addr=0, erased_val=None,
-                 save_enctlv=False, security_counter=None):
+                 pad_header=False, pad=False, confirm=False, align=1,
+                 slot_size=0, max_sectors=DEFAULT_MAX_SECTORS,
+                 overwrite_only=False, endian="little", load_addr=0,
+                 erased_val=None, save_enctlv=False, security_counter=None):
         self.version = version or versmod.decode_version("0")
         self.header_size = header_size
         self.pad_header = pad_header
         self.pad = pad
+        self.confirm = confirm
         self.align = align
         self.slot_size = slot_size
         self.max_sectors = max_sectors
@@ -432,8 +433,10 @@
                                    self.overwrite_only, self.enckey,
                                    self.save_enctlv, self.enctlv_len)
         padding = size - (len(self.payload) + tsize)
-        pbytes = bytes([self.erased_val] * padding)
-        pbytes += bytes([self.erased_val] * (tsize - len(boot_magic)))
+        pbytes = bytearray([self.erased_val] * padding)
+        pbytes += bytearray([self.erased_val] * (tsize - len(boot_magic)))
+        if self.confirm and not self.overwrite_only:
+            pbytes[-MAX_ALIGN] = 0x01  # image_ok = 0x01
         pbytes += boot_magic
         self.payload += pbytes