diff --git a/tools/binctl b/tools/binctl index 49ddff478..1aa71acb9 100755 --- a/tools/binctl +++ b/tools/binctl @@ -54,9 +54,6 @@ class BinImage(object): assert self.reserved2 == 415 * b'\x00' self.code = data[self.hdrlen:] assert len(self.code) == self.codelen - h = pyblake2.blake2s(data[:IMAGE_HEADER_SIZE - 65]) - h.update(b'\x00' * 65) - self.fingerprint = h.hexdigest() def print(self): if self.magic == b'TRZF': @@ -79,7 +76,7 @@ class BinImage(object): print(' * sigmask :', format_sigmask(self.sigmask)) print(' * sig :', binascii.hexlify(self.sig).decode()) print(' * total : %d bytes' % total_len) - print(' * fngprnt :', self.fingerprint) + print(' * fngprnt :', self.fingerprint()) print() def compute_hashes(self): @@ -120,6 +117,9 @@ class BinImage(object): assert len(header) == self.hdrlen return header + def fingerprint(self): + return pyblake2.blake2s(self.serialize_header(False)).hexdigest() + def sign(self, sigmask, signature): header = self.serialize_header(sig=False) data = header + self.code