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
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor and Description
      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

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      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
      • Methods inherited from interface java.security.Principal

        implies
    • Field Detail

      • 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
    • 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.

        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.

        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

© Portions Copyright 2003, 2015 IBM Corporation. All rights reserved.
© Portions Copyright 2003, 2015, Oracle and/or its affiliates. All rights reserved.