docs: def checkMessageSignature(self, message):
          """Given a message with a signature, calculate a new signature
          and return whether it matches the signature in the message.
  
          @raises ValueError: if the message has no signature or no signature
              can be calculated for it.
          """
          message_sig = message.getArg(OPENID_NS, 'sig')
          if not message_sig:
              raise ValueError("%s has no sig." % (message,))
          calculated_sig = self.getMessageSignature(message)
          return cryptutil.const_eq(calculated_sig, message_sig)