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.SerializableThis class encapsulates a Kerberos principal.- Since:
- 1.4
- Version:
- 1.14, 12/03/01
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field and Description static intKRB_NT_PRINCIPALstatic intKRB_NT_SRV_HSTservice with host name as instance (telnet, rcommands) name typestatic intKRB_NT_SRV_INSTservice and other unique instance (krbtgt) name typestatic intKRB_NT_SRV_XHSTservice with host as remaining components name typestatic intKRB_NT_UIDunique ID name typestatic intKRB_NT_UNKNOWN
-
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 booleanequals(java.lang.Object other)Compares the specified Object with this Principal for equality.java.lang.StringgetName()The returned string corresponds to the single-string representation of a Kerberos Principal name as specified in Section 2.1 of RFC 1964.intgetNameType()Returns the name type of the KerberosPrincipal.java.lang.StringgetRealm()Returns the realm component of this Kerberos principal.inthashCode()Returns a hashcode for this principal.java.lang.StringtoString()
-
-
-
Field Detail
-
KRB_NT_UNKNOWN
public static final int KRB_NT_UNKNOWN
- See Also:
- Constant Field Values
-
KRB_NT_PRINCIPAL
public static final int KRB_NT_PRINCIPAL
- 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 toKRB_NT_PRINCIPALThis 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 namenameType- 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:
hashCodein interfacejava.security.Principal- Overrides:
hashCodein classjava.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 aKerberosPrincipaland the twoKerberosPrincipalinstances are equivalent. More formally twoKerberosPrincipalinstances are equal if the values returned bygetName()are equal and the values returned bygetNameType()are equal.- Specified by:
equalsin interfacejava.security.Principal- Overrides:
equalsin classjava.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:
getNamein interfacejava.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:
toStringin interfacejava.security.Principal- Overrides:
toStringin classjava.lang.Object
-
-