JavaTM 2
Platform
Std. Ed. v1.4.0

java.security.cert
クラス TrustAnchor

java.lang.Object
  |
  +--java.security.cert.TrustAnchor

public class TrustAnchor
extends Object

トラストアンカー、または最も信頼できる証明書発行局 (CA) です。

このクラスは「最も信頼できる CA」を表し、X.509 証明書パスの妥当性を検査するトラストアンカーとして使用します。最も信頼できる CAには、CA の公開鍵、CA の名前、そしてその鍵を使用して検査されたパスのセットについての制約が含まれています。これらのパラメータは、信頼された X509Certificate の形式か個別のパラメータとして指定されます。

並行アクセス

すべての TrustAnchor オブジェクトは、不変で、スレッドセーフでなければなりません。つまり、このクラスで定義されたメソッドは、悪影響を与えることなく、複数スレッドが並行して単一 TrustAnchor オブジェクト (または 1 つ以上) で呼び出すことができます。TrustAnchor オブジェクトは不変で、かつスレッドセーフでなければならないため、アクセスの同期の心配をすることなく、さまざまなコードにこのオブジェクトを渡すことができます。このことは、このクラスのすべての public フィールドとメソッド、そしてサブクラスで追加またはオーバーライドされた public フィールドとメソッドに当てはまります。

導入されたバージョン:
1.4
関連項目:
PKIXParameters.PKIXParameters(Set), PKIXBuilderParameters.PKIXBuilderParameters(Set, CertSelector)

コンストラクタの概要
TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
          識別名と公開鍵とで最も信頼できる CA が指定されている TrustAnchor のインスタンスを作成します。
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
          指定した X509Certificate と名前制約 (省略可能) で TrustAnchor のインスタンスを作成します。
 
メソッドの概要
 String getCAName()
          RFC 2253 String 形式による、最も信頼できる CA の名前を返します。
 PublicKey getCAPublicKey()
          最も信頼できる CA の公開鍵を返します。
 byte[] getNameConstraints()
          名前制約のパラメータを返します。
 X509Certificate getTrustedCert()
          最も信頼できる CA 証明書を返します。
 String toString()
          TrustAnchor を説明する書式付き文字列を返します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

TrustAnchor

public TrustAnchor(X509Certificate trustedCert,
                   byte[] nameConstraints)
指定した X509Certificate と名前制約 (省略可能) で TrustAnchor のインスタンスを作成します。名前制約は、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。

名前制約はバイト配列で指定されます。このバイト配列には、RFC 2459 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれなければなりません。NameConstraints 構造体の ASN.1 定義は次のとおりです。


  NameConstraints ::= SEQUENCE {
       permittedSubtrees       [0]     GeneralSubtrees OPTIONAL,
       excludedSubtrees        [1]     GeneralSubtrees OPTIONAL }

  GeneralSubtrees ::= SEQUENCE SIZE (1..MAX) OF GeneralSubtree

  GeneralSubtree ::= SEQUENCE {
       base                    GeneralName,
       minimum         [0]     BaseDistance DEFAULT 0,
       maximum         [1]     BaseDistance OPTIONAL }

  BaseDistance ::= INTEGER (0..MAX)

  GeneralName ::= CHOICE {
       otherName                       [0]     OtherName,
       rfc822Name                      [1]     IA5String,
       dNSName                         [2]     IA5String,
       x400Address                     [3]     ORAddress,
       directoryName                   [4]     Name,
       ediPartyName                    [5]     EDIPartyName,
       uniformResourceIdentifier       [6]     IA5String,
       iPAddress                       [7]     OCTET STRING,
       registeredID                    [8]     OBJECT IDENTIFIER}
 

以後の変更から保護するために、提供される名前制約のバイト配列は複製されています。

パラメータ:
trustedCert - 信頼された X509Certificate
nameConstraints - 名前制約をチェックするために使用される NameConstraints 拡張情報を ASN.1 DER で符号化した値を含むバイト配列。拡張情報の値だけが含まれ、OID やクリティカルの程度を表すフラグは含まれない。このパラメータを無視するには null を指定する
例外:
IllegalArgumentException - 名前制約が復号化できない場合
NullPointerException - 指定した X509Certificatenull の場合

TrustAnchor

public TrustAnchor(String caName,
                   PublicKey pubKey,
                   byte[] nameConstraints)
識別名と公開鍵とで最も信頼できる CA が指定されている TrustAnchor のインスタンスを作成します。名前制約は省略可能なパラメータで、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。

名前制約はバイト配列で指定されます。このバイト配列には、RFC 2459 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれています。NameConstraints 構造体の ASN.1 指定は、TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) で説明しています。

以後の変更から保護するために、ここで提供されている名前制約のバイト配列は複製されています。

パラメータ:
caName - RFC 2253 String 形式による、最も信頼できる CA の X.500 識別名
pubKey - 最も信頼できる CA の公開鍵
nameConstraints - 名前制約をチェックするために使用される NameConstraints 拡張情報を ASN.1 DER で符号化した値を含むバイト配列。拡張情報の値だけが含まれ、OID やクリティカルの程度を表すフラグは含まれない。このパラメータを無視するには null を指定する
例外:
IllegalArgumentException - 指定した caName パラメータが空 (caName.length() == 0) であるか、その形式が正しくない場合。あるいは、名前制約が復号化できない場合
NullPointerException - 指定された caName パラメータか pubKey パラメータが null の場合
メソッドの詳細

getTrustedCert

public final X509Certificate getTrustedCert()
最も信頼できる CA 証明書を返します。

戻り値:
信頼できる X509Certificate。トラストアンカーが信頼できる証明書として指定されていない場合は null

getCAName

public final String getCAName()
RFC 2253 String 形式による、最も信頼できる CA の名前を返します。

戻り値:
最も信頼できる CA の X.500 識別名。トラストアンカーが信頼できる公開鍵と名前のペアとして指定されていない場合は null

getCAPublicKey

public final PublicKey getCAPublicKey()
最も信頼できる CA の公開鍵を返します。

戻り値:
最も信頼できる CA の公開鍵。トラストアンカーが信頼できる公開鍵と名前のペアとして指定されていない場合は null

getNameConstraints

public final byte[] getNameConstraints()
名前制約のパラメータを返します。指定した名前制約は、このトラストアンカーと関連付けられており、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。

名前制約はバイト配列で返されます。このバイト配列には、RFC 2459 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれています。NameConstraints 構造体の ASN.1 指定は、TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints) で説明しています。

以後の変更から保護するために、返されるバイト配列は複製されています。

戻り値:
名前制約をチェックするために使用される NameConstraints 拡張情報を ASN.1 DER で符号化した値を含むバイト配列。設定されていない場合は null

toString

public String toString()
TrustAnchor を説明する書式付き文字列を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
TrustAnchor を説明する書式付き文字列

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

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.