File: ntlm.el.html
This library is a direct translation of the Samba release 2.2.0 implementation of Windows NT and LanManager compatible password encryption.
Interface functions:
ntlm-build-auth-request
This will return a binary string, which should be used in the
base64 encoded form and it is the caller's responsibility to encode
the returned string with base64.
ntlm-build-auth-response
It is the caller's responsibility to pass a base64 decoded string
(which will be a binary string) as the first argument and to
encode the returned string with base64. The second argument user
should be given in user@domain format.
ntlm-get-password-hashes
NTLM authentication procedure example:
1. Open a network connection to the Exchange server at the IMAP port (143)
2. Receive an opening message such as:
"* OK Microsoft Exchange IMAP4rev1 server
version 5.5.2653.7 (XXXX) ready"
3. Ask for IMAP server capability by sending "NNN capability"
4. Receive a capability message such as:
"* CAPABILITY IMAP4 IMAP4rev1 IDLE LITERAL+
LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE AUTH=NTLM"
5. Ask for NTLM authentication by sending a string
"NNN authenticate ntlm"
6. Receive continuation acknowledgment "+"
7. Send NTLM authentication request generated by 'ntlm-build-auth-request
8. Receive NTLM challenge string following acknowledgment "+"
9. Generate response to challenge by 'ntlm-build-auth-response
(here two hash function values of the user password are encrypted)
10. Receive authentication completion message such as
"NNN OK AUTHENTICATE NTLM completed."
Defined variables (1)
ntlm-compatibility-level | The NTLM compatibility level. |
Defined functions (27)
ntlm--bignat-add | (A B &optional CARRY) |
ntlm--bignat-mul | (A B) |
ntlm--bignat-mul-byte | (A B) |
ntlm--bignat-of-digits | (DIGITS) |
ntlm--bignat-of-int | (X) |
ntlm--bignat-of-string | (S) |
ntlm--bignat-shift-left | (X N) |
ntlm--bignat-to-int64 | (X) |
ntlm--time-to-timestamp | (TIME) |
ntlm-ascii2unicode | (STR LEN) |
ntlm-build-auth-request | (USER &optional DOMAIN) |
ntlm-build-auth-response | (CHALLENGE USER PASSWORD-HASHES) |
ntlm-compute-timestamp | () |
ntlm-generate-nonce | () |
ntlm-get-password-hashes | (PASSWORD) |
ntlm-md4hash | (PASSWD) |
ntlm-smb-des-e-p16 | (P15) |
ntlm-smb-des-e-p24 | (P22 C8) |
ntlm-smb-dohash | (IN KEY FORW) |
ntlm-smb-hash | (IN KEY FORW) |
ntlm-smb-owf-encrypt | (PASSWD C8) |
ntlm-smb-passwd-hash | (PASSWD) |
ntlm-smb-str-to-key | (STR) |
ntlm-string-lshift | (STR COUNT LEN) |
ntlm-string-permute | (IN PERM N) |
ntlm-string-xor | (IN1 IN2 N) |
ntlm-unicode2ascii | (STR LEN) |