Package javax.security.auth.x500
Class X500Principal
java.lang.Object
javax.security.auth.x500.X500Principal
- All Implemented Interfaces:
Serializable,Principal
public final class X500Principal extends Object implements Serializable, Principal
Represents an X.500 principal, which holds the distinguished name of some
network entity. An example of a distinguished name is
"O=SomeOrg,
OU=SomeOrgUnit, C=US". The class can be instantiated from a byte representation
of an object identifier (OID), an ASN.1 DER-encoded version, or a simple
string holding the distinguished name. The representations must follow either
RFC 2253, RFC 1779, or RFC2459.- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description static StringCANONICALDefines a constant for the canonical string format of distinguished names.static StringRFC1779Defines a constant for the RFC 1779 string format of distinguished names.static StringRFC2253Defines a constant for the RFC 2253 string format of distinguished names. -
Constructor Summary
Constructors Constructor Description X500Principal(byte[] name)Creates a new X500Principal from a given ASN.1 DER encoding of a distinguished name.X500Principal(InputStream in)Creates a new X500Principal from a given ASN.1 DER encoding of a distinguished name.X500Principal(String name)Creates a new X500Principal from a string representation of a distinguished name.X500Principal(String name, Map<String,String> keywordMap) -
Method Summary
Modifier and Type Method Description booleanequals(Object o)Compares this instance with the specified object and indicates if they are equal.byte[]getEncoded()Returns an ASN.1 DER-encoded representation of the distinguished name contained in this X.500 principal.StringgetName()Returns a human-readable string representation of the distinguished name contained in this X.500 principal.StringgetName(String format)Returns a string representation of the distinguished name contained in this X.500 principal.StringgetName(String format, Map<String,String> oidMap)inthashCode()Returns an integer hash code for this object.StringtoString()Returns a string containing a concise, human-readable description of this object.
-
Field Details
-
CANONICAL
Defines a constant for the canonical string format of distinguished names.- See Also:
- Constant Field Values
-
RFC1779
Defines a constant for the RFC 1779 string format of distinguished names.- See Also:
- Constant Field Values
-
RFC2253
Defines a constant for the RFC 2253 string format of distinguished names.- See Also:
- Constant Field Values
-
-
Constructor Details
-
X500Principal
public X500Principal(byte[] name)Creates a new X500Principal from a given ASN.1 DER encoding of a distinguished name.- Parameters:
name- the ASN.1 DER-encoded distinguished name- Throws:
IllegalArgumentException- if the ASN.1 DER-encoded distinguished name is incorrect
-
X500Principal
Creates a new X500Principal from a given ASN.1 DER encoding of a distinguished name.- Parameters:
in- anInputStreamholding the ASN.1 DER-encoded distinguished name- Throws:
IllegalArgumentException- if the ASN.1 DER-encoded distinguished name is incorrect
-
X500Principal
Creates a new X500Principal from a string representation of a distinguished name.- Parameters:
name- the string representation of the distinguished name- Throws:
IllegalArgumentException- if the string representation of the distinguished name is incorrect
-
X500Principal
-
-
Method Details
-
equals
Description copied from class:ObjectCompares this instance with the specified object and indicates if they are equal. In order to be equal,omust represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.The default implementation returns
trueonly ifthis == o. See Writing a correctequalsmethod if you intend implementing your ownequalsmethod.The general contract for the
equalsandObject.hashCode()methods is that ifequalsreturnstruefor any two objects, thenhashCode()must return the same value for these objects. This means that subclasses ofObjectusually override either both methods or neither of them.- Specified by:
equalsin interfacePrincipal- Overrides:
equalsin classObject- Parameters:
o- the object to compare this instance with.- Returns:
trueif the specified object is equal to thisObject;falseotherwise.- See Also:
Object.hashCode()
-
getEncoded
public byte[] getEncoded()Returns an ASN.1 DER-encoded representation of the distinguished name contained in this X.500 principal.- Returns:
- the ASN.1 DER-encoded representation
-
getName
Returns a human-readable string representation of the distinguished name contained in this X.500 principal. -
getName
Returns a string representation of the distinguished name contained in this X.500 principal. The format of the representation can be chosen. Valid arguments areRFC1779,RFC2253, andCANONICAL. The representations are specified in RFC 1779 and RFC 2253, respectively. The canonical form is based on RFC 2253, but adds some canonicalizing operations like removing leading and trailing whitespace, lower-casing the whole name, and bringing it into a normalized Unicode representation.- Parameters:
format- the name of the format to use for the representation- Returns:
- the string representation
- Throws:
IllegalArgumentException- if theformatargument is not one of the three mentioned above
-
getName
-
hashCode
public int hashCode()Description copied from class:ObjectReturns an integer hash code for this object. By contract, any two objects for whichObject.equals(java.lang.Object)returnstruemust return the same hash code value. This means that subclasses ofObjectusually override both methods or neither method.Note that hash values must not change over time unless information used in equals comparisons also changes.
See Writing a correct
hashCodemethod if you intend implementing your ownhashCodemethod.- Specified by:
hashCodein interfacePrincipal- Overrides:
hashCodein classObject- Returns:
- this object's hash code.
- See Also:
Object.equals(java.lang.Object)
-
toString
Description copied from class:ObjectReturns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:getClass().getName() + '@' + Integer.toHexString(hashCode())
See Writing a useful
toStringmethod if you intend implementing your owntoStringmethod.
-