FileDocCategorySizeDatePackage
X500Principal.javaAPI DocJava SE 5 API4618Fri Aug 26 14:56:14 BST 2005com.sun.security.auth

X500Principal

public class X500Principal extends Object implements Principal, Serializable

This class represents an X.500 Principal. X500Principals have names such as, "CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US" (RFC 1779 style).

Principals such as this X500Principal may be associated with a particular Subject to augment that Subject with an additional identity. Refer to the Subject class for more information on how to achieve this. Authorization decisions can then be based upon the Principals associated with a Subject.

version
1.12, 05/18/04
see
java.security.Principal
see
javax.security.auth.Subject
deprecated
A new X500Principal class is available in the Java 2 platform. This X500Principal classs is entirely deprecated and is here to allow for a smooth transition to the new class.
see
javax.security.auth.x500.X500Principal

Fields Summary
private static final long
serialVersionUID
private static final ResourceBundle
rb
private String
name
private transient X500Name
thisX500Name
Constructors Summary
public X500Principal(String name)
Create a X500Principal with an X.500 Name, such as "CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US" (RFC 1779 style).

param
name the X.500 name
exception
NullPointerException if the name is null.

exception
IllegalArgumentException if the name is improperly specified.


                                			       			       
       
	if (name == null)
	    throw new NullPointerException(rb.getString("provided null name"));

	try {
	    thisX500Name = new X500Name(name);
	} catch (Exception e) {
	    throw new IllegalArgumentException(e.toString());
	}

	this.name = name;
    
Methods Summary
public booleanequals(java.lang.Object o)
Compares the specified Object with this X500Principal for equality.

param
o Object to be compared for equality with this X500Principal.
return
true if the specified Object is equal equal to this X500Principal.

	if (o == null)
	    return false;

        if (this == o)
            return true;

	if (o instanceof X500Principal) {
	    X500Principal that = (X500Principal)o;
	    try {
		X500Name thatX500Name = new X500Name(that.getName());
		return thisX500Name.equals(thatX500Name);
	    } catch (Exception e) {
		// any parsing exceptions, return false
		return false;
	    }
	} else if (o instanceof Principal) {
	    // this will return 'true' if 'o' is a sun.security.x509.X500Name
	    // and the X500Names are equal
	    return o.equals(thisX500Name);
	}
 
	return false;
    
public java.lang.StringgetName()
Return the Unix username for this X500Principal.

return
the Unix username for this X500Principal

	return thisX500Name.getName();
    
public inthashCode()
Return a hash code for this X500Principal.

return
a hash code for this X500Principal.

	return thisX500Name.hashCode();
    
private voidreadObject(java.io.ObjectInputStream s)
Reads this object from a stream (i.e., deserializes it)


	s.defaultReadObject();

	// re-create thisX500Name
	thisX500Name = new X500Name(name);
    
public java.lang.StringtoString()
Return a string representation of this X500Principal.

return
a string representation of this X500Principal.

	return thisX500Name.toString();