Class NTLMEngineImpl.NTLMMessage
- java.lang.Object
-
- org.apache.hc.client5.http.impl.auth.NTLMEngineImpl.NTLMMessage
-
- Direct Known Subclasses:
NTLMEngineImpl.Type1Message
,NTLMEngineImpl.Type2Message
,NTLMEngineImpl.Type3Message
- Enclosing class:
- NTLMEngineImpl
static class NTLMEngineImpl.NTLMMessage extends java.lang.Object
NTLM message generation, base class
-
-
Field Summary
Fields Modifier and Type Field Description (package private) int
currentOutputPosition
The current output position(package private) byte[]
messageContents
The current response
-
Constructor Summary
Constructors Constructor Description NTLMMessage()
Constructor to use when message contents are not yet knownNTLMMessage(byte[] message, int expectedType)
Constructor to use when message bytes are knownNTLMMessage(java.lang.String messageBody, int expectedType)
Constructor taking a string
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
addByte(byte b)
Adds the given byte to the response.(package private) void
addBytes(byte[] bytes)
Adds the given bytes to the response.(package private) void
addULong(int value)
Adds a ULong to the response(package private) void
addUShort(int value)
Adds a USHORT to the response(package private) void
buildMessage()
byte[]
getBytes()
(package private) int
getMessageLength()
Get the message length(package private) int
getPreambleLength()
Get the length of the signature and flags, so calculations can adjust offsets accordingly.java.lang.String
getResponse()
Returns the response that has been generated after shrinking the array if required and base64 encodes the response.(package private) void
prepareResponse(int maxlength, int messageType)
Prepares the object to create a response of the given length.(package private) byte
readByte(int position)
Read a byte from a position within the message buffer(package private) void
readBytes(byte[] buffer, int position)
Read a bunch of bytes from a position in the message buffer(package private) byte[]
readSecurityBuffer(int position)
Read a security buffer from a position within the message buffer(package private) int
readULong(int position)
Read a ulong from a position within the message buffer(package private) int
readUShort(int position)
Read a ushort from a position within the message buffer
-
-
-
Constructor Detail
-
NTLMMessage
NTLMMessage()
Constructor to use when message contents are not yet known
-
NTLMMessage
NTLMMessage(java.lang.String messageBody, int expectedType) throws NTLMEngineException
Constructor taking a string- Throws:
NTLMEngineException
-
NTLMMessage
NTLMMessage(byte[] message, int expectedType) throws NTLMEngineException
Constructor to use when message bytes are known- Throws:
NTLMEngineException
-
-
Method Detail
-
getPreambleLength
int getPreambleLength()
Get the length of the signature and flags, so calculations can adjust offsets accordingly.
-
getMessageLength
int getMessageLength()
Get the message length
-
readByte
byte readByte(int position) throws NTLMEngineException
Read a byte from a position within the message buffer- Throws:
NTLMEngineException
-
readBytes
void readBytes(byte[] buffer, int position) throws NTLMEngineException
Read a bunch of bytes from a position in the message buffer- Throws:
NTLMEngineException
-
readUShort
int readUShort(int position)
Read a ushort from a position within the message buffer
-
readULong
int readULong(int position)
Read a ulong from a position within the message buffer
-
readSecurityBuffer
byte[] readSecurityBuffer(int position)
Read a security buffer from a position within the message buffer
-
prepareResponse
void prepareResponse(int maxlength, int messageType)
Prepares the object to create a response of the given length.- Parameters:
maxlength
- the maximum length of the response to prepare, including the type and the signature (which this method adds).
-
addByte
void addByte(byte b)
Adds the given byte to the response.- Parameters:
b
- the byte to add.
-
addBytes
void addBytes(byte[] bytes)
Adds the given bytes to the response.- Parameters:
bytes
- the bytes to add.
-
addUShort
void addUShort(int value)
Adds a USHORT to the response
-
addULong
void addULong(int value)
Adds a ULong to the response
-
getResponse
public java.lang.String getResponse()
Returns the response that has been generated after shrinking the array if required and base64 encodes the response.- Returns:
- The response as above.
-
getBytes
public byte[] getBytes()
-
buildMessage
void buildMessage()
-
-