|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.security.auth.x500.X500Principal
public final class 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 を作成します。 |
|
X500Principal(String name,
Map<String,String> keywordMap)
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 識別名の文字列形式を返します。 |
String |
getName(String format,
Map<String,String> oidMap)
指定した形式で 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(String name, Map<String,String> keywordMap)
X500Principal
を作成します。識別名は RFC 1779 か RFC 2253 (どちらも可) で定義された文法を使用して指定する必要があります。
このコンストラクタは、X500Principal(String)
に指定された属性の型キーワードと、keywordMap
パラメータ内にエントリを持つその他のキーワードを認識します。X500Principal(String)
が認識するデフォルトのキーワードより、keywordMap 内のキーワードエントリのほうが優先されます。キーワードはすべて大文字で指定してください。大文字で指定しなかった場合、そのキーワードは無視されます。キーワードが正しく指定されていない場合、そのキーワードは無視されますが、名前に含まれるキーワード部分に対応する OID が正しく指定されていない場合は、IllegalArgumentException
がスローされます。単一の OID に、最大 2 つの異なったキーワードを対応付けることができます。
name
- RFC 1779 形式または RFC 2253 形式の X.500 識別名keywordMap
- 属性の型キーワードマップ。各鍵は、String 形式 (ピリオドで区切られたゼロ以上の連続する整数) で表されたオブジェクト識別子に対応するキーワード String 。マップは空であってもよいが、null
にはならない
NullPointerException
- name
または keywordMap
が null
の場合
IllegalArgumentException
- name
が正しく指定されていない場合、または name
に含まれるキーワード部分に対応する OID が正しい形式でない場合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) を発行します。そのほかの属性の型は、OID として発行されます。厳密に解釈すると、RFC 2253 では、UTF-8 文字列表現だけを指定できます。このメソッドが返す String は、この UTF-8 表現を復号化することで得られる Unicode 文字列になります。
形式に "CANONICAL" を指定した場合、このメソッドは RFC 2253 に適合し、次のように正規化された文字列表現を返します。
String.toUpperCase(Locale.US)
を使用して大文字に変換される。
String.toLowerCase(Locale.US)
を使用して小文字に変換される。
将来、標準形式が追加導入される可能性があります。
format
- 使用する形式
X500Principal
の文字列形式
IllegalArgumentException
- 指定された形式が無効であるか、null の場合public String getName(String format, Map<String,String> oidMap)
IllegalArgumentException
がスローされます。
このメソッドは、getName(String)
に指定された形式で String を返します。また、oidMap
パラメータ内にエントリがある OID のその他の属性の型キーワードを発行します。getName(String)
が認識するデフォルトの OID より、oidMap 内の OID エントリのほうが優先されます。正しく指定されていない OID は無視されるだけですが、名前に含まれる OID に対応するキーワードが正しく指定されていない場合は、IllegalArgumentException
がスローされます。
将来、標準形式が追加導入される可能性があります。
警告:その他の属性の型キーワードは、その他の実装によって認識されない可能性があります。これらのキーワードがその他の実装によって認識されるかどうか不明な場合は、このメソッドを使用しないでください。
format
- 使用する形式oidMap
- OID マップ。各鍵は、属性の型キーワード String に対応する、String 形式 (ピリオドで区切られたゼロ以上の連続する整数) で表されたオブジェクト識別子。マップは空であってもよいが、null
にはならない
X500Principal
の文字列形式
IllegalArgumentException
- 指定された形式が無効であるか、null であるか、指定されたキーワードに正しく対応付けられていない名前に含まれる OID である場合
NullPointerException
- oidMap
が null
の場合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
Object.hashCode()
,
Hashtable
public int hashCode()
X500Principal
のハッシュコードを返します。
ハッシュコードは getName(X500Principal.CANONICAL).hashCode()
で計算されます。
Principal
内の hashCode
Object
内の hashCode
X500Principal
のハッシュコードObject.equals(java.lang.Object)
,
Hashtable
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。