code: def signature(self):
          
          log.debug("read tag signature")
          try:
              return bytes(self.transceive(b"\x3C\x00"))
          except tt2.Type2TagCommandError:
              return 32 * b"\0"
docs: The 32-byte ECC tag signature programmed at chip production. The
          signature is provided as a string and can only be read.
  
          The signature attribute is always loaded from the tag when it
          is accessed, i.e. it is not cached. If communication with the
          tag fails for some reason the signature attribute is set to a
          32-byte string of all zeros.