Class KerberosPrincipal
- java.lang.Object
-
- javax.security.auth.kerberos.KerberosPrincipal
- All Implemented Interfaces:
- Serializable, Principal
public final class KerberosPrincipal extends Object implements Principal, Serializable
This class encapsulates a Kerberos principal.
- Since:
- 1.4
- See Also:
- Serialized Form
Fields
Modifier and Type | Field and Description |
---|---|
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. |
Constructors
Constructor and Description |
---|
KerberosPrincipal(String name) Constructs a KerberosPrincipal from the provided string input. |
KerberosPrincipal(String name,
int nameType) Constructs a KerberosPrincipal from the provided string and name type input. |
Methods
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object other) Compares the specified Object with this Principal for equality. |
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. |
String |
getRealm() Returns the realm component of this Kerberos principal. |
int |
hashCode() Returns a hashcode for this principal. |
String |
toString() Returns a string representation of the object. |
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.security.Principal
implies
Fields
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
Constructors
KerberosPrincipal
public KerberosPrincipal(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, [email protected], 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:
-
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(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 6.2 (Principal Names) of RFC 4120. The input name must be consistent with the provided name type. (for example, [email protected], 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:
-
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.
Methods
getRealm
public 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 interfacePrincipal
- Overrides:
-
hashCode
in classObject
- Returns:
- a hashCode() for the
KerberosPrincipal
- See Also:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
equals
public boolean equals(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.
- Specified by:
-
equals
in interfacePrincipal
- Overrides:
-
equals
in classObject
- Parameters:
-
other
- the Object to compare to - Returns:
- true if the Object passed in represents the same principal as this one, false otherwise.
- See Also:
-
Object.hashCode()
,HashMap
getName
public 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.
getNameType
public int getNameType()
Returns the name type of the KerberosPrincipal. Valid name types are specified in Section 6.2 of RFC4120.
- Returns:
- the name type.
toString
public String toString()
Description copied from class: Object
Returns a string representation of the object. In general, the toString
method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.
The toString
method for class Object
returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@
', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/javase/8/docs/api/javax/security/auth/kerberos/KerberosPrincipal.html