public class TrustAnchor extends Object
このクラスは、X.509証明書パスの検証で信頼できるアンカーとして使用される「もっとも信頼できるCA」を表します。 もっとも信頼できるCAには、CAの公開キー、CAの名前、およびこのキーを使って検証されるパスのセットに適用される制約が含まれます。 これらのパラメータは、信頼できるX509Certificate
の形式で、または個別のパラメータとして指定できます。
並行アクセス
すべてのTrustAnchor
オブジェクトは、不変で、スレッドに対して安全である必要があります。 つまり、単一の(または複数の) TrustAnchor
オブジェクト上で、このクラスに定義されたメソッドを複数のスレッドが同時に呼び出しても、悪影響はありません。 TrustAnchor
オブジェクトは、不変かつスレッドに対して安全でなければならないので、アクセスの調整を心配することなく、オブジェクトをさまざまなコードに渡すことができます。 このことは、このクラスのすべてのpublicフィールドとメソッド、そしてサブクラスで追加またはオーバーライドされたpublicフィールドとメソッドに当てはまります。
- 導入されたバージョン:
- 1.4
- 関連項目:
PKIXParameters(Set)
,PKIXBuilderParameters(Set, CertSelector)
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 TrustAnchor(String caName, PublicKey pubKey, byte[] nameConstraints)
識別名と公開キーとでもっとも信頼できるCAが指定されているTrustAnchor
のインスタンスを作成します。TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
指定したX509Certificate
と名前制約(オプション)でTrustAnchor
のインスタンスを作成します。名前制約は、X.509証明書パスの妥当性を検査するときの制約を追加するために使用されます。TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)
X500Principalと公開キーとでもっとも信頼できるCAが指定されているTrustAnchor
のインスタンスを作成します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 X500Principal
getCA()
もっとも信頼できるCAのX500Principalとしての名前を返します。String
getCAName()
RFC 2253String
形式による、もっとも信頼できるCAの名前を返します。PublicKey
getCAPublicKey()
もっとも信頼できるCAの公開キーを返します。byte[]
getNameConstraints()
名前制約のパラメータを返します。X509Certificate
getTrustedCert()
もっとも信頼できるCA証明書を返します。String
toString()
TrustAnchor
を説明する書式付き文字列を返します。
-
コンストラクタの詳細
-
TrustAnchor
public TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)指定したX509Certificate
と名前制約(オプション)でTrustAnchor
のインスタンスを作成します。名前制約は、X.509証明書パスの妥当性を検査するときの制約を追加するために使用されます。名前制約はバイト配列で指定されます。 このバイト配列には、RFC 5280とX.509で定義されているNameConstraints構造体にあるような名前制約のDER符号化形式が含まれなければいけません。 この構造体の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
である場合
-
TrustAnchor
public TrustAnchor(X500Principal caPrincipal, PublicKey pubKey, byte[] nameConstraints)X500Principalと公開キーとでもっとも信頼できるCAが指定されているTrustAnchor
のインスタンスを作成します。 名前制約はオプションのパラメータで、X.509証明書パスの妥当性を検査するときの制約を追加するために使用されます。名前制約はバイト配列で指定されます。 このバイト配列には、RFC 5280と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
の場合- 導入されたバージョン:
- 1.5
-
TrustAnchor
識別名と公開キーとでもっとも信頼できるCAが指定されているTrustAnchor
のインスタンスを作成します。 名前制約はオプションのパラメータで、X.509証明書パスの妥当性を検査するときの制約を追加するために使用されます。名前制約はバイト配列で指定されます。 このバイト配列には、RFC 5280とX.509で定義されているNameConstraints構造体にあるような、名前制約のDER符号化形式が含まれています。 この構造体のASN.1表記については、
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
のドキュメントを参照してください。以後の変更から保護するために、ここで提供されている名前制約のバイト配列は複製されています。
- パラメータ:
caName
- RFC 2253String
形式による、もっとも信頼できる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 2253String
形式による、もっとも信頼できるCAの名前を返します。- 戻り値:
- もっとも信頼できるCAのX.500識別名。トラスト・アンカーが信頼できる公開キーと名前またはX500Principalのペアとして指定されていない場合は
null
-
getCAPublicKey
public final PublicKey getCAPublicKey()もっとも信頼できるCAの公開キーを返します。- 戻り値:
- もっとも信頼できるCAの公開キー。トラスト・アンカーが信頼できる公開キーと名前またはX500Principalのペアとして指定されていない場合は
null
-
getNameConstraints
public final byte[] getNameConstraints()名前制約のパラメータを返します。 指定した名前制約は、このトラスト・アンカーと関連付けられており、X.509証明書パスの妥当性を検査するときの制約を追加するために使用されます。名前制約はバイト配列で返されます。 このバイト配列には、RFC 5280とX.509で定義されているNameConstraints構造体にあるような、名前制約のDER符号化形式が含まれています。 この構造体のASN.1表記については、
TrustAnchor(X509Certificate trustedCert, byte[] nameConstraints)
のドキュメントを参照してください。以降の変更から保護するために、返されるバイト配列の複製が作成されます。
- 戻り値:
- 名前制約をチェックするために使用されるNameConstraints拡張情報をASN.1 DERで符号化した値を含むバイト配列。設定されていない場合は
null
-
toString
public String toString()TrustAnchor
を説明する書式付き文字列を返します。
-