code: def unwrap(self, message, signature):
          
          if self.negotiate_flags & NegotiateFlags.NTLMSSP_NEGOTIATE_SEAL:
              message = self._unseal_message(message)
              self._verify_signature(message, signature)
  
          elif self.negotiate_flags & NegotiateFlags.NTLMSSP_NEGOTIATE_SIGN:
              self._verify_signature(message, signature)
  
          return message
docs: [MS-NLMP] v28.0 2016-07-14
  
          3.4.7 GSS_UnwrapEx()
          Emulates the GSS_Unwrap() implementation to unseal messages and verify the signature
          sent matches what has been computed locally. Will throw an Exception if the signature
          doesn't match
  
          @param message: The message data received from the server
          @param signature: The signature of the message
          @return message: The message that has been unsealed if flags are set