docs: def verify_signature(args):
      """ Verify a previously signed binary image, using the ECDSA public key """
      key_data = args.keyfile.read()
      if b"-BEGIN EC PRIVATE KEY" in key_data:
          sk = ecdsa.SigningKey.from_pem(key_data)
          vk = sk.get_verifying_key()
      elif b"-BEGIN PUBLIC KEY" in key_data:
          vk = ecdsa.VerifyingKey.from_pem(key_data)
      elif len(key_data) == 64:
          vk = ecdsa.VerifyingKey.from_string(key_data,
                                              curve=ecdsa.NIST256p)
      else:
          raise esptool.FatalError("Verification key does not appear to be an EC key in PEM format or binary EC public key data. Unsupported")
  
      if vk.curve != ecdsa.NIST256p:
          raise esptool.FatalError("Public key uses incorrect curve. ESP32 Secure Boot only supports NIST256p (openssl calls this curve 'prime256v1")
  
      binary_content = args.datafile.read()
      data = binary_content[0:-68]
      sig_version, signature = struct.unpack("I64s", binary_content[-68:])
      if sig_version != 0:
          raise esptool.FatalError("Signature block has version %d. This version  of espsecure only supports version 0." % sig_version)
      print("Verifying %d bytes of data" % len(data))
      try:
          if vk.verify(signature, data, hashlib.sha256):
              print("Signature is valid")
          else:
              raise esptool.FatalError("Signature is not valid")
      except ecdsa.keys.BadSignatureError:
          raise esptool.FatalError("Signature is not valid")