MessageProp (Java SE 26 & JDK 26)
Description: declaration: module: java.security.jgss, package: org.ietf.jgss, class: MessageProp
Keywords: org.ietf.jgss.MessageProp class

# Class MessageProp

java.lang.Object
org.ietf.jgss.MessageProp

public class MessageProp extends Object
This is a utility class used within the per-message GSSContext methods to convey per-message properties.

When used with the GSSContext interface's wrap and getMIC methods, an instance of this class is used to indicate the desired Quality-of-Protection (QOP) and to request if confidentiality services are to be applied to caller supplied data (wrap only). To request default QOP, the value of 0 should be used for QOP.

When used with the unwrap and verifyMIC methods of the GSSContext interface, an instance of this class will be used to indicate the applied QOP and confidentiality services over the supplied message. In the case of verifyMIC, the confidentiality state will always be `false`. Upon return from these methods, this object will also contain any supplementary status values applicable to the processed token. The supplementary status values can indicate old tokens, out of sequence tokens, gap tokens or duplicate tokens.

Since:
  1.4
See Also:
  - `GSSContext.wrap(byte[], int, int, MessageProp)`
  - `GSSContext.unwrap(byte[], int, int, MessageProp)`
  - `GSSContext.getMIC(byte[], int, int, MessageProp)`
  - `GSSContext.verifyMIC(byte[], int, int, byte[], int, int, MessageProp)`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MessageProp(boolean privState)`
  Constructor which sets the desired privacy state.
  `MessageProp(int qop, boolean privState)`
  Constructor which sets the values for the qop and privacy state.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getMinorStatus()`
  Retrieves the minor status code that the underlying mechanism might have set for this per-message operation.
  `String`
  `getMinorString()`
  Retrieves a string explaining the minor status code.
  `boolean`
  `getPrivacy()`
  Retrieves the privacy state.
  `int`
  `getQOP()`
  Retrieves the QOP value.
  `boolean`
  `isDuplicateToken()`
  Tests if this is a duplicate of an earlier token.
  `boolean`
  `isGapToken()`
  Tests if an expected token was not received, i.e., one or more predecessor tokens have not yet been successfully processed.
  `boolean`
  `isOldToken()`
  Tests if this token's validity period has expired, i.e., the token is too old to be checked for duplication.
  `boolean`
  `isUnseqToken()`
  Tests if a later token had already been processed.
  `void`
  `setPrivacy(boolean privState)`
  Sets the privacy state.
  `void`
  `setQOP(int qop)`
  Sets the QOP value.
  `void`
  `setSupplementaryStates(boolean duplicate, boolean old, boolean unseq, boolean gap, int minorStatus, String minorString)`
  This method sets the state for the supplementary information flags and the minor status in MessageProp.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `String`
  `toString()`
  Returns a string representation of the object.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### MessageProp

    public MessageProp(boolean privState)
    Constructor which sets the desired privacy state. The QOP value used is 0.
    Parameters:
      `privState` - the privacy (i.e. confidentiality) state

  - ### MessageProp

    public MessageProp(int qop, boolean privState)
    Constructor which sets the values for the qop and privacy state.
    Parameters:
      `qop` - the QOP value
      `privState` - the privacy (i.e. confidentiality) state

- ## Method Details

  - ### getQOP

    public int getQOP()
    Retrieves the QOP value.
    Returns:
      an int representing the QOP value
    See Also:
      - `setQOP(int)`

  - ### getPrivacy

    public boolean getPrivacy()
    Retrieves the privacy state.
    Returns:
      true if the privacy (i.e., confidentiality) state is true, false otherwise.
    See Also:
      - `setPrivacy(boolean)`

  - ### setQOP

    public void setQOP(int qop)
    Sets the QOP value.
    Parameters:
      `qop` - the int value to set the QOP to
    See Also:
      - `getQOP()`

  - ### setPrivacy

    public void setPrivacy(boolean privState)
    Sets the privacy state.
    Parameters:
      `privState` - true is the privacy (i.e., confidentiality) state is true, false otherwise.
    See Also:
      - `getPrivacy()`

  - ### isDuplicateToken

    public boolean isDuplicateToken()
    Tests if this is a duplicate of an earlier token.
    Returns:
      true if this is a duplicate, false otherwise.

  - ### isOldToken

    public boolean isOldToken()
    Tests if this token's validity period has expired, i.e., the token is too old to be checked for duplication.
    Returns:
      true if the token's validity period has expired, false otherwise.

  - ### isUnseqToken

    public boolean isUnseqToken()
    Tests if a later token had already been processed.
    Returns:
      true if a later token had already been processed, false otherwise.

  - ### isGapToken

    public boolean isGapToken()
    Tests if an expected token was not received, i.e., one or more predecessor tokens have not yet been successfully processed.
    Returns:
      true if an expected per-message token was not received, false otherwise.

  - ### getMinorStatus

    public int getMinorStatus()
    Retrieves the minor status code that the underlying mechanism might have set for this per-message operation.
    Returns:
      the int minor status

  - ### getMinorString

    public String getMinorString()
    Retrieves a string explaining the minor status code.
    Returns:
      a String corresponding to the minor status code. `null` will be returned when no minor status code has been set.

  - ### setSupplementaryStates

    public void setSupplementaryStates(boolean duplicate, boolean old, boolean unseq, boolean gap, int minorStatus, String minorString)
    This method sets the state for the supplementary information flags and the minor status in MessageProp. It is not used by the application but by the GSS implementation to return this information to the caller of a per-message context method.
    Parameters:
      `duplicate` - true if the token was a duplicate of an earlier token, false otherwise
      `old` - true if the token's validity period has expired, false otherwise
      `unseq` - true if a later token has already been processed, false otherwise
      `gap` - true if one or more predecessor tokens have not yet been successfully processed, false otherwise
      `minorStatus` - the int minor status code for the per-message operation
      `minorString` - the textual representation of the minorStatus value