Module java.security.jgss
Package javax.security.auth.kerberos

# Class KerberosCredMessage

java.lang.Object
javax.security.auth.kerberos.KerberosCredMessage

All Implemented Interfaces:
  `Destroyable`

public final class KerberosCredMessage extends Object implements Destroyable
This class encapsulates a Kerberos 5 KRB_CRED message which can be used to send Kerberos credentials from one principal to another.

A KRB_CRED message is defined in Section 5.8.1 of the Kerberos Protocol Specification (RFC 4120) as:

        KRB-CRED        ::= [APPLICATION 22] SEQUENCE {
                pvno            [0] INTEGER (5),
                msg-type        [1] INTEGER (22),
                tickets         [2] SEQUENCE OF Ticket,
                enc-part        [3] EncryptedData -- EncKrbCredPart
        }

Since:
  9

## Constructor Summary

Constructors
Constructor
Description
`KerberosCredMessage(KerberosPrincipal sender, KerberosPrincipal recipient, byte[] message)`
Constructs a `KerberosCredMessage` object.

## Method Summary

Modifier and Type
Method
Description
`void`
`destroy()`
Destroys this object by clearing out the message.
`boolean`
`equals(Object other)`
Compares the specified object with this `KerberosCredMessage` for equality.
`byte[]`
`getEncoded()`
Returns the DER encoded form of the KRB_CRED message.
`KerberosPrincipal`
`getRecipient()`
Returns the recipient of this message.
`KerberosPrincipal`
`getSender()`
Returns the sender of this message.
`int`
`hashCode()`
Returns a hash code for this `KerberosCredMessage`.
`String`
`toString()`
Returns an informative textual representation of this `KerberosCredMessage`.

### Methods declared in class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

### Methods declared in interface javax.security.auth.Destroyable

`isDestroyed`

## Constructor Details

### KerberosCredMessage

public KerberosCredMessage(KerberosPrincipal sender, KerberosPrincipal recipient, byte[] message)
Constructs a `KerberosCredMessage` object.

The contents of the `message` argument are copied; subsequent modification of the byte array does not affect the newly created object.

Parameters:
  `sender` - the sender of the message
  `recipient` - the recipient of the message
  `message` - the DER encoded KRB_CRED message
Throws:
  `NullPointerException` - if any of sender, recipient or message is null

## Method Details

### getEncoded

public byte[] getEncoded()
Returns the DER encoded form of the KRB_CRED message.

Returns:
  a newly allocated byte array that contains the encoded form
Throws:
  `IllegalStateException` - if the object is destroyed

### getSender

public KerberosPrincipal getSender()
Returns the sender of this message.

Returns:
  the sender
Throws:
  `IllegalStateException` - if the object is destroyed

### getRecipient

public KerberosPrincipal getRecipient()
Returns the recipient of this message.

Returns:
  the recipient
Throws:
  `IllegalStateException` - if the object is destroyed

### destroy

public void destroy()
Destroys this object by clearing out the message.

Specified by:
  `destroy` in interface `Destroyable`

### toString

public String toString()
Returns an informative textual representation of this `KerberosCredMessage`.

Overrides:
  `toString` in class `Object`
Returns:
  an informative textual representation of this `KerberosCredMessage`.

### hashCode

public int hashCode()
Returns a hash code for this `KerberosCredMessage`.

Overrides:
  `hashCode` in class `Object`
Returns:
  a hash code for this `KerberosCredMessage`.
See Also:
  - `Object.equals(java.lang.Object)`
  - `System.identityHashCode(java.lang.Object)`

### equals

public boolean equals(Object other)
Compares the specified object with this `KerberosCredMessage` for equality. Returns true if the given object is also a `KerberosCredMessage` and the two `KerberosCredMessage` instances are equivalent. More formally two `KerberosCredMessage` instances are equal if they have equal sender, recipient, and encoded KRB_CRED messages. A destroyed `KerberosCredMessage` object is only equal to itself.

Overrides:
  `equals` in class `Object`
Parameters:
  `other` - the object to compare to
Returns:
  true if the specified object is equal to this `KerberosCredMessage`, false otherwise.
See Also:
  - `Object.hashCode()`
  - `HashMap`