Authentication
API v8.1 SP2

com.rsa.ace.techservice.udpserver
Class AbstractAceRequest

java.lang.Object
  extended by com.rsa.ace.techservice.udpserver.AbstractAceRequest
Direct Known Subclasses:
AbstractV3Request, AbstractV4Request, AceTimeRequest

public abstract class AbstractAceRequest
extends java.lang.Object

This class is the Ace Request Core abstract implementation.

This class handles data associated with an agent request. It must be extended by classes representing a specific type of request. This provides many implentations for the AceRequest inteface.


Constructor Summary
AbstractAceRequest(AceDatagram packet)
          Constructs an AbstractAceRequest from the Datagram passed.
AbstractAceRequest(byte[] requestData)
          Constructs an AbstractAceRequest from the array passed.
AbstractAceRequest(byte messageType, byte protocolVersion, byte encode, byte options, byte circuitID, AgentConfig agentConfig)
          Constructs an AbstractAceRequest from the arguments passed.
 
Method Summary
 AcePinUtil getAcePinUtil()
           
 AgentConfig getAgentConfig()
           
 java.nio.ByteBuffer getBuffer()
          Get the request Byte-buffer.
 AgentCipherProvider getCipherProvider()
          Returns the cipher provider used to decrypt this request.
 long getCreationTime()
          Get the requests creation time.
 int getEncryptOffset()
          Common method for overide the offset.Needed for older protocol
 AcePacketHeader getHeader()
          Returns the request header.
 byte[] getNonce()
          Get the request's nonce, if any.
 AceDatagram getPacket()
          Provides the original packet received from the agent.
 byte getProtocolVersion()
          Provides the Protocol version from the header.
 byte[] getSecretKey()
           
 byte[] getWpCode()
           
 boolean haveNodeSecret()
          Common method for checking is we have a nodesecret.
 boolean haveSecretKey()
          Common method for checking is we have a nodesecret.
 int processRequest()
          Process the header from the Datagram passed.
 void readTrailer(java.nio.ByteBuffer buf)
          Common method for reading a packet trailer.
 void setEncode(byte encode)
          Common method for overide the encode field.
 void setEncryptOffset(int offset)
          Common method for overide the offset.Needed for older protocol
 void setNodeSecret(byte[] buf)
          Common method for overide a nodesecret.Needed for older protocol
 void setSecretKey(byte[] secretKey)
           
 void setTrailer(AcePacketTrailer trailer)
           
 java.lang.String toString()
          Converts the AbstractAceRequest to a string.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AbstractAceRequest

public AbstractAceRequest(byte[] requestData)
Constructs an AbstractAceRequest from the array passed. This constructor also captures the packet creation time.

Parameters:
packet - The data used to construct the AceInputPacket.

AbstractAceRequest

public AbstractAceRequest(AceDatagram packet)
Constructs an AbstractAceRequest from the Datagram passed. This constructor defers to the byte[] constructor.

Parameters:
packet - The data used to construct the AceInputPacket.

AbstractAceRequest

public AbstractAceRequest(byte messageType,
                          byte protocolVersion,
                          byte encode,
                          byte options,
                          byte circuitID,
                          AgentConfig agentConfig)
                   throws AcePacketException
Constructs an AbstractAceRequest from the arguments passed. This constructor also captures the packet creation time.

Parameters:
messageType - The header message type.
protocolVersion - The protocol version.
applicationID - The application ID.
encode - The message encoding.
options - The options field (bit-mask).
circuitID - The the circuit ID for subsequent requests.
Throws:
AcePacketException
Method Detail

processRequest

public int processRequest()
                   throws AcePacketException
Process the header from the Datagram passed. This method parses the header, get the cipher, and decrypts the packet, if needed. If there's no request-specific implementation, this method assumes the repsonse can be sent immediately.

Throws:
AcePacketException - If a problem occurs finding the node secret or decrypting the packet.

setEncode

public void setEncode(byte encode)
Common method for overide the encode field.


setEncryptOffset

public void setEncryptOffset(int offset)
Common method for overide the offset.Needed for older protocol


getEncryptOffset

public int getEncryptOffset()
Common method for overide the offset.Needed for older protocol


setNodeSecret

public void setNodeSecret(byte[] buf)
Common method for overide a nodesecret.Needed for older protocol


haveNodeSecret

public boolean haveNodeSecret()
Common method for checking is we have a nodesecret.

See Also:
getCircuitID

readTrailer

public void readTrailer(java.nio.ByteBuffer buf)
                 throws AcePacketException
Common method for reading a packet trailer.

Throws:
AcePacketException
See Also:
getCircuitID

getProtocolVersion

public byte getProtocolVersion()
Provides the Protocol version from the header.

Returns:
The Protocol version.
See Also:
getProtocolVersion

getHeader

public AcePacketHeader getHeader()
Returns the request header. This is used when constructing a Response from a Request.

Returns:
The request header.
See Also:
AcePacketHeader

getCreationTime

public long getCreationTime()
Get the requests creation time.

Returns:
The creation time in milliseconds.

getNonce

public byte[] getNonce()
Get the request's nonce, if any.

Returns:
The nonce from the trailer, if any. Returns null if no trailer was present.

getCipherProvider

public AgentCipherProvider getCipherProvider()
Returns the cipher provider used to decrypt this request.

Returns:
The cipher provider used to encrypt the request.
See Also:
AgentCipherProvider

getPacket

public AceDatagram getPacket()
                      throws AcePacketException
Provides the original packet received from the agent.

Returns:
The original input packet.
Throws:
AcePacketException

getBuffer

public java.nio.ByteBuffer getBuffer()
Get the request Byte-buffer.

Returns:
The input request byte buffer.

toString

public java.lang.String toString()
Converts the AbstractAceRequest to a string.

Overrides:
toString in class java.lang.Object
Returns:
A String representation of the packet.

getSecretKey

public byte[] getSecretKey()
Returns:
Returns the secretKey.

setSecretKey

public void setSecretKey(byte[] secretKey)
Parameters:
secretKey - The secretKey to set.

haveSecretKey

public boolean haveSecretKey()
Common method for checking is we have a nodesecret.

See Also:
getCircuitID

getWpCode

public byte[] getWpCode()
Returns:

setTrailer

public void setTrailer(AcePacketTrailer trailer)
Parameters:
trailer - The trailer to set.

getAgentConfig

public AgentConfig getAgentConfig()
Returns:
Returns the agentConfig.

getAcePinUtil

public AcePinUtil getAcePinUtil()

Authentication
API v8.1 SP2

Copyright © 1999 - 2011 EMC Corporation. All Rights Reserved.