Documentation ¶
Overview ¶
Package ntlmssp provides NTLM/Negotiate authentication over HTTP
Protocol details from https://msdn.microsoft.com/en-us/library/cc236621.aspx, implementation hints from http://davenport.sourceforge.net/ntlm.html . This package only implements authentication, no key exchange or encryption. It only supports Unicode (UTF16LE) encoding of protocol strings, no OEM encoding. This package implements NTLMv2.
Index ¶
- func GetDomain(user string) (string, string, bool)
- func NewNegotiateMessage(domainName, workstationName string) ([]byte, error)
- func ProcessChallenge(challengeMessageData []byte, user, password string, domainNeeded bool) ([]byte, error)
- func ProcessChallengeWithHash(challengeMessageData []byte, user, hash string) ([]byte, error)
- type Negotiator
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetDomain ¶
GetDomain : parse domain name from based on slashes in the input Need to check for upn as well
func NewNegotiateMessage ¶
NewNegotiateMessage creates a new NEGOTIATE message with the flags that this package supports.
Types ¶
type Negotiator ¶
type Negotiator struct{ http.RoundTripper }
Negotiator is a http.Roundtripper decorator that automatically converts basic authentication to NTLM/Negotiate authentication when appropriate.
type Version ¶
type Version struct { ProductMajorVersion uint8 ProductMinorVersion uint8 ProductBuild uint16 NTLMRevisionCurrent uint8 // contains filtered or unexported fields }
Version is a struct representing https://msdn.microsoft.com/en-us/library/cc236654.aspx
func DefaultVersion ¶
func DefaultVersion() Version
DefaultVersion returns a Version with "sensible" defaults (Windows 7)