def unwrap(self, message, signature):
if self.negotiate_flags & NegotiateFlags.NTLMSSP_NEGOTIATE_SEAL:<EOL><INDENT>message = self._unseal_message(message)<EOL>self._verify_signature(message, signature)<EOL><DEDENT>elif self.negotiate_flags & NegotiateFlags.NTLMSSP_NEGOTIATE_SIGN:<EOL><INDENT>self._verify_signature(message, signature)<EOL><DEDENT>return message<EOL>
[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