imgtool: ECDSA pad signature

Until we fix the padding problem, pad the ecdsa signatures with zeros to
always be 72 bytes long.  Add a 'raw_sign' method so that the unit test
can use the real signature.

Signed-off-by: David Brown <david.brown@linaro.org>
diff --git a/scripts/imgtool/keys/ecdsa.py b/scripts/imgtool/keys/ecdsa.py
index 7066e30..f541d16 100644
--- a/scripts/imgtool/keys/ecdsa.py
+++ b/scripts/imgtool/keys/ecdsa.py
@@ -89,7 +89,14 @@
         with open(path, 'wb') as f:
             f.write(pem)
 
-    def sign(self, payload):
+    def raw_sign(self, payload):
+        """Return the actual signature"""
         return self.key.sign(
                 data=payload,
                 signature_algorithm=ec.ECDSA(SHA256()))
+
+    def sign(self, payload):
+        # To make fixed length, pad with one or two zeros.
+        sig = self.raw_sign(payload)
+        sig += b'\000' * (self.sig_len() - len(sig))
+        return sig