Class 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

All Methods Instance Methods Concrete Methods
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 Detail

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 Detail

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