Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.security.auth.kerberos
Class KerberosPrincipal

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

All Implemented Interfaces:
  java.io.Serializable, java.security.Principal

    public final class KerberosPrincipal

extends java.lang.Object
implements java.security.Principal, java.io.Serializable

This class encapsulates a Kerberos principal.

Since:
  1.4
Version:
  1.14, 12/03/01
Author:
  Mayank Upadhyay
See Also:
  Serialized Form

Field Summary
`static int` | `KRB_NT_PRINCIPAL` user principal name type
`static int` | `KRB_NT_SRV_HST` service with host name as instance (telnet, rcommands) name type
`static int` | `KRB_NT_SRV_INST` service and other unique instance (krbtgt) name type
`static int` | `KRB_NT_SRV_XHST` service with host as remaining components name type
`static int` | `KRB_NT_UID` unique ID name type
`static int` | `KRB_NT_UNKNOWN` unknown name type

Constructor Summary
`KerberosPrincipal(java.lang.String name)` Constructs a KerberosPrincipal from the provided string input.
`KerberosPrincipal(java.lang.String name, int nameType)` Constructs a KerberosPrincipal from the provided string and name type input.

Method Summary
`boolean` | `equals(java.lang.Object other)` Compares the specified Object with this Principal for equality.
`java.lang.String` | `getName()` The returned string corresponds to the single-string representation of a Kerberos Principal name as specified in Section 2.1 of RFC 1964.
`int` | `getNameType()` Returns the name type of the KerberosPrincipal.
`java.lang.String` | `getRealm()` Returns the realm component of this Kerberos principal.
`int` | `hashCode()` Returns a hashcode for this principal.
`java.lang.String` | `toString()`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### KRB_NT_UNKNOWN

    public static final int KRB_NT_UNKNOWN

  unknown name type

  See Also:
    Constant Field Values

### KRB_NT_PRINCIPAL

    public static final int KRB_NT_PRINCIPAL

  user principal name type

  See Also:
    Constant Field Values

### KRB_NT_SRV_INST

    public static final int KRB_NT_SRV_INST

  service and other unique instance (krbtgt) name type

  See Also:
    Constant Field Values

### KRB_NT_SRV_HST

    public static final int KRB_NT_SRV_HST

  service with host name as instance (telnet, rcommands) name type

  See Also:
    Constant Field Values

### KRB_NT_SRV_XHST

    public static final int KRB_NT_SRV_XHST

  service with host as remaining components name type

  See Also:
    Constant Field Values

### KRB_NT_UID

    public static final int KRB_NT_UID

  unique ID name type

  See Also:
    Constant Field Values

Constructor Detail

### KerberosPrincipal

    public KerberosPrincipal(java.lang.String name)

  Constructs a KerberosPrincipal from the provided string input. The name type for this principal defaults to `KRB_NT_PRINCIPAL` This string is assumed to contain a name in the format that is specified in Section 2.1.1. (Kerberos Principal Name Form) of RFC 1964 (for example, duke@FOO.COM, where duke represents a principal, and FOO.COM represents a realm).

  If the input name does not contain a realm, the default realm is used. The default realm can be specified either in a Kerberos configuration file or via the java.security.krb5.realm system property. For more information, Kerberos Requirements

  Parameters:
    `name` - the principal name
  Throws:
    `java.lang.IllegalArgumentException` - if name is improperly formatted, if name is null, or if name does not contain the realm to use and the default realm is not specified in either a Kerberos configuration file or via the java.security.krb5.realm system property.

### KerberosPrincipal

    public KerberosPrincipal(java.lang.String name,
                             int nameType)

  Constructs a KerberosPrincipal from the provided string and name type input. The string is assumed to contain a name in the format that is specified in Section 2.1 (Mandatory Name Forms) of RFC 1964. Valid name types are specified in Section 7.2 (Principal Names) of RFC 1510. The input name must be consistent with the provided name type. (for example, duke@FOO.COM, is a valid input string for the name type, KRB_NT_PRINCIPAL where duke represents a principal, and FOO.COM represents a realm).

  If the input name does not contain a realm, the default realm is used. The default realm can be specified either in a Kerberos configuration file or via the java.security.krb5.realm system property. For more information, see Kerberos Requirements.

  Parameters:
    `name` - the principal name
    `nameType` - the name type of the principal
  Throws:
    `java.lang.IllegalArgumentException` - if name is improperly formatted, if name is null, if the nameType is not supported, or if name does not contain the realm to use and the default realm is not specified in either a Kerberos configuration file or via the java.security.krb5.realm system property.

Method Detail

### getRealm

    public java.lang.String getRealm()

  Returns the realm component of this Kerberos principal.

  Returns:
    the realm component of this Kerberos principal.

### hashCode

    public int hashCode()

  Returns a hashcode for this principal. The hash code is defined to be the result of the following calculation:

        hashCode = getName().hashCode();

  Specified by:
    `hashCode` in interface `java.security.Principal`
  Overrides:
    `hashCode` in class `java.lang.Object`
  Returns:
    a hashCode() for the `KerberosPrincipal`

### equals

    public boolean equals(java.lang.Object other)

  Compares the specified Object with this Principal for equality. Returns true if the given object is also a `KerberosPrincipal` and the two `KerberosPrincipal` instances are equivalent. More formally two `KerberosPrincipal` instances are equal if the values returned by `getName()` are equal and the values returned by `getNameType()` are equal.

  Specified by:
    `equals` in interface `java.security.Principal`
  Overrides:
    `equals` in class `java.lang.Object`
  Parameters:
    `other` - the Object to compare to
  Returns:
    true if the Object passed in represents the same principal as this one, false otherwise.

### getName

    public java.lang.String getName()

  The returned string corresponds to the single-string representation of a Kerberos Principal name as specified in Section 2.1 of RFC 1964.

  Specified by:
    `getName` in interface `java.security.Principal`
  Returns:
    the principal name.

### getNameType

    public int getNameType()

  Returns the name type of the KerberosPrincipal. Valid name types are specified in Section 7.2 of RFC1510.

  Returns:
    the name type.

### toString

    public java.lang.String toString()

  Specified by:
    `toString` in interface `java.security.Principal`
  Overrides:
    `toString` in class `java.lang.Object`

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD