1.5.0:
* Added the `mic_present` property to the `NtlmContext` class to determine if a MIC has been added to the authentication message.
* Added the `sign` and `verify` function to the `NtlmContext` to sign data and verify signatures.
* Added the `reset_rc4_state` function to the `NtlmContext` to allow a caller to reset the incoming and outgoing RC4 cipher.
* Added the `NTLMSSP_NEGOTIATE_UNICODE` flag to the negotiate message to ensure the challenge and authentication message's text fields can be unicode encoded
1.3.0:
Added optional dependency for cryptography for faster RC4 cipher calls
Removed the deprecation warning for Ntlm, this is still advised not to use but there's no major harm keep it in place for older hosts
Add CI test for Python 3.7 and 3.8
1.2.0:
Deprecated ntlm_auth.ntlm.Ntlm in favour of ntlm_auth.ntlm.NtlmContext
This is because Ntlm is heavily geared towards HTTP auth which is not always the case, NtlmContext makes things more generic
Updated docs and tests to reflect this
Dropped support for Python 3.3
1.1.0:
Removed DES code as the license was found to be incorrect from the source
Added new DES code not based on the original
Fixed up some deprecation warnings
Changed tests from running unittest to py.test
Changed licence from GPL to MIT as code is not all my own
This library handles the low-level details of NTLM authentication for use
in authenticating with a service that uses NTLM. It will create and parse
the 3 different message types in the order required and produce a base64
encoded value that can be attached to the HTTP header.
Features:
- LM, NTLM and NTLMv2 authentication
- NTLM1 and NTLM2 extended session security
- Set the The NTLM Compatibility level when sending messages
- Channel Binding Tokens support, need to pass in the SHA256 hash of the
certificate for it to work
- Support for MIC to enhance the integrity of the messages
- Support for session security with signing and sealing messages after
authentication happens