JavaTM Platform
Standard Ed. 6

java.security.cert
クラス TrustAnchor

java.lang.Object
  上位を拡張 java.security.cert.TrustAnchor

public class TrustAnchor
extends Object

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

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

並行アクセス  

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

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

コンストラクタの概要
TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
          識別名と公開鍵とでもっとも信頼できる CA が指定されている TrustAnchor のインスタンスを作成します。
TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
          X500Principal と公開鍵とでもっとも信頼できる CA が指定されている TrustAnchor のインスタンスを作成します。
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
          指定した X509Certificate と名前制約 (省略可能) で TrustAnchor のインスタンスを作成します。
 
メソッドの概要
 X500Principal getCA()
          もっとも信頼できる CA の X500Principal としての名前を返します。
 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(X500Principal caPrincipal,
                   PublicKey pubKey,
                   byte[] nameConstraints)
X500Principal と公開鍵とでもっとも信頼できる CA が指定されている TrustAnchor のインスタンスを作成します。名前制約は省略可能なパラメータで、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。  

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

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

パラメータ:
caPrincipal - もっとも信頼できる CA の X500Principal としての名前
pubKey - もっとも信頼できる CA の公開鍵
nameConstraints - 名前制約をチェックするために使用される NameConstraints 拡張情報を ASN.1 DER で符号化した値を含むバイト配列。 拡張情報の値だけが含まれ、OID やクリティカルの程度を表すフラグは含まれない。 このパラメータを無視するには null を指定する
例外:
NullPointerException - 指定された caPrincipal パラメータか pubKey パラメータが null の場合
導入されたバージョン:
1.5

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

getCA

public final X500Principal getCA()
もっとも信頼できる CA の X500Principal としての名前を返します。

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

getCAName

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

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

getCAPublicKey

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

戻り値:
もっとも信頼できる CA の公開鍵。 トラストアンカーが信頼できる公開鍵と名前または X500Principal のペアとして指定されていない場合は 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 Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。