public class TrustAnchor extends Object
このクラスは、X.509 証明書パスの検証で信頼できるアンカーとして使用される「もっとも信頼できる CA」を表します。もっとも信頼できる CA には、CA の公開鍵、CA の名前、およびこの鍵を使って検証されるパスのセットに適用される制約が含まれます。これらのパラメータは、信頼できる X509Certificate
の形式で、または個別のパラメータとして指定できます。
並行アクセス
すべての TrustAnchor
オブジェクトは、不変で、スレッドに対して安全である必要があります。つまり、単一の (または複数の) TrustAnchor
オブジェクト上で、このクラスに定義されたメソッドを複数のスレッドが同時に呼び出しても、悪影響はありません。TrustAnchor
オブジェクトは、不変かつスレッドに対して安全でなければならないので、アクセスの調整を心配することなく、オブジェクトをさまざまなコードに渡すことができます。このことは、このクラスのすべての public フィールドとメソッド、そしてサブクラスで追加またはオーバーライドされた public フィールドとメソッドに当てはまります。
コンストラクタと説明 |
---|
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 のインスタンスを作成します。名前制約は、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。 |
修飾子と型 | メソッドと説明 |
---|---|
X500Principal |
getCA()
もっとも信頼できる CA の X500Principal としての名前を返します。
|
String |
getCAName()
RFC 2253
String 形式による、もっとも信頼できる CA の名前を返します。 |
PublicKey |
getCAPublicKey()
もっとも信頼できる CA の公開鍵を返します。
|
byte[] |
getNameConstraints()
名前制約のパラメータを返します。
|
X509Certificate |
getTrustedCert()
もっとも信頼できる CA 証明書を返します。
|
String |
toString()
TrustAnchor を説明する書式付き文字列を返します。 |
public TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
X509Certificate
と名前制約 (省略可能) で TrustAnchor
のインスタンスを作成します。名前制約は、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。
名前制約はバイト配列で指定されます。このバイト配列には、RFC 3280 と 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
- 指定された X509Certificate
が null
である場合public TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
TrustAnchor
のインスタンスを作成します。名前制約は省略可能なパラメータで、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。
名前制約はバイト配列で指定されます。このバイト配列には、RFC 3280 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれています。この構造体の ASN.1 表記については、TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
のドキュメントを参照してください。
以後の変更から保護するために、ここで提供されている名前制約のバイト配列は複製されています。
caPrincipal
- もっとも信頼できる CA の X500Principal としての名前pubKey
- もっとも信頼できる CA の公開鍵nameConstraints
- 名前制約をチェックするために使用される NameConstraints 拡張情報を ASN.1 DER で符号化した値を含むバイト配列。拡張情報の値だけが含まれ、OID やクリティカルの程度を表すフラグは含まれない。このパラメータを無視するには null
を指定するNullPointerException
- 指定された caPrincipal
パラメータか pubKey
パラメータが null
の場合public TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
TrustAnchor
のインスタンスを作成します。名前制約は省略可能なパラメータで、X.509 証明書パスの妥当性を検査するときの制約を追加するために使用されます。
名前制約はバイト配列で指定されます。このバイト配列には、RFC 3280 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれています。この構造体の 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
の場合public final X509Certificate getTrustedCert()
X509Certificate
。トラストアンカーが信頼できる証明書として指定されていない場合は null
public final X500Principal getCA()
null
public final String getCAName()
String
形式による、もっとも信頼できる CA の名前を返します。null
public final PublicKey getCAPublicKey()
null
public final byte[] getNameConstraints()
名前制約はバイト配列で返されます。このバイト配列には、RFC 3280 と X.509 で定義されている NameConstraints 構造体にあるような、名前制約の DER 符号化形式が含まれています。この構造体の ASN.1 表記については、TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
のドキュメントを参照してください。
以降の変更から保護するために、返されるバイト配列の複製が作成されます。
null
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.