Documentation ¶
Index ¶
- func GenerateAuthenticatorResponse(Password []byte, NTResponse [24]byte, PeerChallenge [16]byte, ...) [20]byte
- func MsCHAPV2GetSendAndRecvKey(Password []byte, NTResponse [24]byte) (sendKey []byte, recvKey []byte)
- type ChallengePacket
- type OpCode
- type Packet
- type ReplySuccessPacketRequest
- type ResponsePacket
- type SimplePacket
- type SuccessPacket
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateAuthenticatorResponse ¶
func GenerateAuthenticatorResponse(Password []byte, NTResponse [24]byte, PeerChallenge [16]byte, AuthenticatorChallenge [16]byte, UserName []byte) [20]byte
RFC2759 section 8.7 page 9 return binary form of the result in the hash example password is utf-16 encode.
Password = "clientPass" 密码的输入格式比较奇怪.utf16? = 63 00 6C 00 69 00 65 00 6E 00 74 00 50 00 61 00 73 00 73 00
func MsCHAPV2GetSendAndRecvKey ¶
func MsCHAPV2GetSendAndRecvKey(Password []byte, NTResponse [24]byte) (sendKey []byte, recvKey []byte)
http://www.ietf.org/rfc/rfc3079.txt
Password = "clientPass" 密码的输入格式已经修正 = 63 00 6C 00 69 00 65 00 6E 00 74 00 50 00 61 00 73 00 73 00
Types ¶
type ChallengePacket ¶
func (*ChallengePacket) Encode ¶
func (p *ChallengePacket) Encode() (b []byte)
func (*ChallengePacket) OpCode ¶
func (p *ChallengePacket) OpCode() OpCode
func (*ChallengePacket) String ¶
func (p *ChallengePacket) String() string
type ReplySuccessPacketRequest ¶
type ReplySuccessPacketRequest struct { AuthenticatorChallenge [16]byte Response *ResponsePacket Username []byte Password []byte Message string }
type ResponsePacket ¶
type ResponsePacket struct { Identifier uint8 PeerChallenge [16]byte //16byte NTResponse [24]byte //24byte Name string }
func (*ResponsePacket) Encode ¶
func (p *ResponsePacket) Encode() (b []byte)
func (*ResponsePacket) OpCode ¶
func (p *ResponsePacket) OpCode() OpCode
func (*ResponsePacket) String ¶
func (p *ResponsePacket) String() string
type SimplePacket ¶
type SimplePacket struct {
Code OpCode
}
func (*SimplePacket) Encode ¶
func (p *SimplePacket) Encode() (b []byte)
func (*SimplePacket) OpCode ¶
func (p *SimplePacket) OpCode() OpCode
func (*SimplePacket) String ¶
func (p *SimplePacket) String() string
type SuccessPacket ¶
type SuccessPacket struct { Identifier uint8 Auth [20]byte // the binary format of auth_string Message string }
look like "S=<auth_string> M=<message>"
func ReplySuccessPacket ¶
func ReplySuccessPacket(req *ReplySuccessPacketRequest) (p *SuccessPacket)
func (*SuccessPacket) Encode ¶
func (p *SuccessPacket) Encode() (b []byte)
func (*SuccessPacket) OpCode ¶
func (p *SuccessPacket) OpCode() OpCode
func (*SuccessPacket) String ¶
func (p *SuccessPacket) String() string
Click to show internal directories.
Click to hide internal directories.