making the README pretty

This commit is contained in:
David Michael
2013-05-21 14:54:42 -04:00
parent 8966f9d83d
commit 8d2d8236a5

53
README.md Normal file
View File

@@ -0,0 +1,53 @@
# NTLM Implementation for Go
## Sample Usage as NTLM Client
```go
import "ntlm"
import "ntlm/messages"
session = ntlm.NewClientSession(ntlm.Version1, ntlm.ConnectionlessMode)
session.SetUserInfo("someuser","somepassword","somedomain")
negotiate := session.GenerateNegotiateMessage()
<send negotiate to server>
challenge, err := messages.ParseChallengeMessage(challengeBytes)
session.ProcessChallengeMessage(challenge)
authenticate := session.GenerateAuthenticateMessage()
<send authenticate message to server>
```
## Sample Usage as NTLM Server
```go
session = ntlm.NewServerSession(ntlm.Version1, ntlm.ConnectionlessMode)
session.SetUserInfo("someuser","somepassword","somedomain")
challenge := session.GenerateChallengeMessage()
<send challenge to client>
<receive authentication bytes>
auth, err := messages.ParseAuthentiateMessage(authenticateBytes)
session.ProcessAuthenticateMessage(auth)
```
## Generating a message MAC
Once a session is created you can generate the Mac for a message using:
```go
message := "this is some message to sign"
sequenceNumber := 100
signature, err := session.Mac([]byte(message), sequenceNumber)
```
## License
Copyright Thomson Reuters Global Resources 2013
Apache License