|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.security.auth.x500.X500Principal
このクラスは X.500 Principal
を表します。X500Principal
は「CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US」のような識別名で表記されます。
このクラスは、識別名の文字列表現を使用するか、識別名の ASN.1 DER 符号化バイト表現を使用してインスタンス化されます。識別名の文字列表現についての現在の仕様は、RFC 2253 で定義されています。しかし、RFC 2253 と RFC 1779 の両方に記述された文字列形式も可能であり、また、RFC 2459 で OID (Object Identifier) が定義されている属性の型キーワードも認識します。
この X500Principal
の文字列表現は、getName
メソッドを呼び出すことで取得できます。
X509Certificate
の getSubjectX500Principal
メソッドと getIssuerX500Principal
メソッドは、証明書の発行者フィールドと被認証者フィールドを表す X500Principal を返します。
X509Certificate
,
直列化された形式フィールドの概要 | |
static String |
CANONICAL
Distinguished Name の標準的な String 形式です。 |
static String |
RFC1779
Distinguished Name の RFC 1779 String 形式です。 |
static String |
RFC2253
Distinguished Name の RFC 2253 String 形式です。 |
コンストラクタの概要 | |
X500Principal(byte[] name)
ASN.1 DER 符号化形式の識別名から X500Principal を作成します。 |
|
X500Principal(InputStream is)
ASN.1 DER 符号化形式の識別名を含む InputStream から X500Principal を作成します。 |
|
X500Principal(String name)
X.500 識別名 (例 : CN=Duke, OU=JavaSoft, O=Sun Microsystems, C=US) の文字列表現から X500Principal を作成します。 |
メソッドの概要 | |
boolean |
equals(Object o)
指定された Object とこの X500Principal が等しいかどうかを比較します。
|
byte[] |
getEncoded()
ASN.1 DER 符号化形式の識別名を返します。 |
String |
getName()
RFC 2253 で定義された形式で、X.500 識別名の文字列形式を返します。 |
String |
getName(String format)
指定した形式で X.500 識別名の文字列形式を返します。 |
int |
hashCode()
この X500Principal のハッシュコードを返します。
|
String |
toString()
この X500Principal の、ユーザが使いやすい文字列形式を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
フィールドの詳細 |
public static final String RFC1779
public static final String RFC2253
public static final String CANONICAL
コンストラクタの詳細 |
public X500Principal(String name)
X500Principal
を作成します。識別名は RFC 1779 か RFC 2253 (どちらも可) で定義された文法を使用して指定する必要があります。
このコンストラクタは、RFC 1779 と RFC 2253 で定義された (そして getName(String format)
でリストされる) 属性の型キーワードを認識するだけでなく、RFC 2459 で定義された OID を持つ T、DNQ または DNQUALIFIER、SURNAME、GIVENNAME、INITIALS、GENERATION、EMAILADDRESS、SERIALNUMBER の各キーワードおよびその直後のキーワードも認識します。そのほかの属性の型は OID で指定する必要があります。
name
- RFC 1779 形式または RFC 2253 形式の X.500 識別名
NullPointerException
- name
が null
の場合
IllegalArgumentException
- name
の指定が正しくない場合public X500Principal(byte[] name)
X500Principal
を作成します。この構造体の ASN.1 表記は次のようになります。
Name ::= CHOICE {
RDNSequence }
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::=
SET SIZE (1 .. MAX) OF AttributeTypeAndValue
AttributeTypeAndValue ::= SEQUENCE {
type AttributeType,
value AttributeValue }
AttributeType ::= OBJECT IDENTIFIER
AttributeValue ::= ANY DEFINED BY AttributeType
....
DirectoryString ::= CHOICE {
teletexString TeletexString (SIZE (1..MAX)),
printableString PrintableString (SIZE (1..MAX)),
universalString UniversalString (SIZE (1..MAX)),
utf8String UTF8String (SIZE (1.. MAX)),
bmpString BMPString (SIZE (1..MAX)) }
name
- ASN.1 DER 符号化形式による識別名を含むバイト配列
IllegalArgumentException
- 符号化エラーが発生した場合 (DN の不正な形式)public X500Principal(InputStream is)
InputStream
から X500Principal
を作成します。この構造体の ASN.1 表記は、X500Principal(byte[] name)
の説明で示しています。
入力ストリームの読み込み位置は、符号化した識別名のあとに来る、次の利用可能なバイトになります。
is
- ASN.1 DER 符号化形式による識別名を含む InputStream
NullPointerException
- InputStream
が null
の場合
IllegalArgumentException
- 符号化エラーが発生した場合 (DN の不正な形式)メソッドの詳細 |
public String getName()
このメソッドは、getName(X500Principal.RFC2253)
を呼び出すことと等価です。
Principal
内の getName
X500Principal
の識別名public String getName(String format)
形式に "RFC1779" を指定した場合、このメソッドは RFC 1779 で定義されている属性の型キーワード (CN, L, ST, O, OU, C, STREET) を発行します。そのほかの属性の型は、OID として発行されます。
形式に "RFC2253" を指定した場合、このメソッドは RFC 2253 で定義されている属性の型キーワード (CN, L, ST, O, OU, C, STREET, DC, UID) を発行します。厳密に解釈すると、RFC 2253 では、UTF-8 文字列表現だけを指定できます。このメソッドが返す String は、この UTF-8 表現を復号化することで得られる Unicode 文字列になります。
形式に "CANONICAL" を指定した場合、このメソッドは RFC 2253 に適合し、次のように標準化された文字列表現を返します。
String.toUpperCase(Locale.US)
を使用して大文字に変換される
String.toLowerCase(Locale.US)
を使用して小文字に変換される
将来、標準形式が追加導入される可能性があります。
format
- 使用する形式
X500Principal
の文字列形式
IllegalArgumentException
- 指定された形式が無効な場合public byte[] getEncoded()
X500Principal(byte[] name)
のドキュメントで指定されています。
以降の変更から保護するために、返されるバイト配列の複製が作成されます。
public String toString()
X500Principal
の、ユーザが使いやすい文字列形式を返します。
Principal
内の toString
Object
内の toString
X500Principal
の文字列表現public boolean equals(Object o)
Object
とこの X500Principal
が等しいかどうかを比較します。
特に、Object
o が X500Principal
であり、このオブジェクトと o の標準的な文字列表現 (getName(X500Principal.CANONICAL)
メソッドで取得) が等しい場合に、このメソッドは true
を返します。
この実装は、RFC 2459 の要件に準拠しています。
Principal
内の equals
Object
内の equals
o
- この X500Principal
と等しいかどうかが比較される Object
Object
がこの X500Principal
と等しい場合は true
、そうでない場合は false
public int hashCode()
X500Principal
のハッシュコードを返します。
ハッシュコードは getName(X500Principal.CANONICAL).hashCode()
で計算されます。
Principal
内の hashCode
Object
内の hashCode
X500Principal
のハッシュコード
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.