org.ietf.jgss
public interface GSSName
This interface encapsulates a single GSS-API principal entity. Different name formats and their definitions are identified with universal Object Identifiers (Oids). The format of the names can be derived based on the unique oid of its namespace type.
GSSManager mgr = GSSManager.getInstance(); // create a host based service name GSSName name = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE); Oid krb5 = new Oid("1.2.840.113554.1.2.2"); GSSName mechName = name.canonicalize(krb5); // the above two steps are equivalent to the following GSSName mechName = mgr.createName("service@host", GSSName.NT_HOSTBASED_SERVICE, krb5); // perform name comparison if (name.equals(mechName)) print("Names are equal."); // obtain textual representation of name and its printable // name type print(mechName.toString() + mechName.getStringNameType().toString()); // export and re-import the name byte [] exportName = mechName.export(); // create a new name object from the exported buffer GSSName newName = mgr.createName(exportName, GSSName.NT_EXPORT_NAME);
Field Summary | |
---|---|
Oid | NT_ANONYMOUS Name type for representing an anonymous entity. |
Oid | NT_EXPORT_NAME Name type used to indicate an exported name produced by the export method. |
Oid | NT_HOSTBASED_SERVICE Oid indicating a host-based service name form. |
Oid | NT_MACHINE_UID_NAME Name type to indicate a numeric user identifier corresponding to a user on a local system. (e.g. |
Oid | NT_STRING_UID_NAME Name type to indicate a string of digits representing the numeric user identifier of a user on a local system. |
Oid | NT_USER_NAME Name type to indicate a named user on a local system. |
Method Summary | |
---|---|
GSSName | canonicalize(Oid mech)
Creates a mechanism name (MN) from an arbitrary internal name. |
boolean | equals(GSSName another)
Compares two GSSName objects to determine whether they refer to the
same entity. |
boolean | equals(Object another)
A variation of the {@link #equals(org.ietf.jgss.GSSName)} method that
is provided to override the {@link Object#equals(java.lang.Object)}
method that the implementing class will inherit. |
byte[] | export()
Returns a canonical contiguous byte representation of a mechanism
name (MN), suitable for direct, byte by byte comparison by
authorization functions. |
Oid | getStringNameType()
Returns the oid representing the type of name returned through the
{@link #toString()} method. |
int | hashCode()
Return the hashcode of this GSSName. |
boolean | isAnonymous()
Tests if this name object represents an anonymous entity. |
boolean | isMN()
Tests if this name object contains only one mechanism element and is
thus a mechanism name as defined by RFC 2743.
|
String | toString()
Returns a textual representation of the GSSName object. |
Name type for representing an anonymous entity. It represents the
following value: { 1(iso), 3(org), 6(dod), 1(internet), 5(security),
6(nametypes), 3(gss-anonymous-name) }
.
Name type used to indicate an exported name produced by the export
method. It represents the following value: { 1(iso), 3(org), 6(dod),
1(internet), 5(security), 6(nametypes), 4(gss-api-exported-name)
}
.
Oid indicating a host-based service name form. It is used to represent services associated with host computers. This name form is constructed using two elements, "service" and "hostname", as follows:
service@hostname
Values for the "service" element are registered with the IANA. It
represents the following value: { 1(iso), 3(org), 6(dod),
1(internet), 5(security), 6(nametypes), 2(gss-host-based-services)
}
.
Name type to indicate a numeric user identifier corresponding to a
user on a local system. (e.g. Uid). It represents the following
value: { iso(1) member-body(2) United States(840) mit(113554)
infosys(1) gssapi(2) generic(1) machine_uid_name(2) }
.
Name type to indicate a string of digits representing the numeric
user identifier of a user on a local system. It represents the
following value: { iso(1) member-body(2) United States(840)
mit(113554) infosys(1) gssapi(2) generic(1) string_uid_name(3)
}
.
Name type to indicate a named user on a local system. It represents
the following value: { iso(1) member-body(2) United States(840)
mit(113554) infosys(1) gssapi(2) generic(1) user_name(1) }
.
Parameters: mech The oid for the mechanism for which the canonical form of the name is requested.
Returns: The mechanism name.
Throws: GSSException If this operation fails.
false
.
Parameters: another GSSName object to compare with.
Returns: True if this name equals the other, and if neither name represents an anonymous entity.
Throws: GSSException If the names cannot be compared.
false
will be
returned in the situation where an error occurs. (Note that the Java
language specification requires that two objects that are equal
according to the {@link Object#equals(java.lang.Object)} method must
return the same integer when the {@link hashCode()} method is called
on them.
Parameters: another GSSName object to compare with.
Returns: True if this name equals the other, if neither name represents an anonymous entity, or if an error occurs.
Returns: The exported name.
Throws: GSSException If the name is not an MN and the implementation throws an exception for this case.
Returns: The name type.
Throws: GSSException If this operation fails.
Returns: the hash code that must be the same for two names if {@link #equals} returns true.
true
if this is an anonymous name.
Returns: True if this name represents an anonymous entity.
Returns: True if this name is a mechanism name.
Returns: The textual representation of the GSSName object.