- すべての実装されたインタフェース:
- Serializable
 これはすべてのCertPathに共通なメソッドを定義する抽象クラスです。 サブクラスでは、さまざまな種類の証明書(X.509、PGPなど)を処理できます。 
 
 すべてのCertPathにはタイプ、Certificateのリスト、サポートされる1つ以上の符号化があります。 CertPathクラスは不変であるため、構築後に外部から目に見えるかたちでCertPathを変更することはできません。 このことは、このクラスのすべてのpublicフィールドとメソッド、そしてサブクラスで追加またはオーバーライドされたpublicフィールドとメソッドに当てはまります。 
 
 タイプはStringで、証明書パスでCertificateのタイプを特定します。 証明書パスcertPathの各証明書certでは、cert.getType().equals(certPath.getType())はtrueである必要があります。 
 
 Certificateのリストは0個以上のCertificateからなる順序付きのListです。 このListと、含まれるCertificateは不変である必要があります。 
 
 それぞれのCertPathオブジェクトは、ほかの相手に格納したり伝送したりするためにバイト配列に変換できるように、1つ以上の符号化をサポートしていなければいけません。 なるべくその符号化は、PKCS#7のように明確にドキュメント化されている標準にします。 CertPathでサポートされている符号化のうちの1つを、デフォルトの符号化とします。 符号化を明示的に要求しない場合(たとえばgetEncoded()メソッド)に、デフォルトの符号化が使用されます。 
 
 すべてのCertPathオブジェクトはSerializableでもあります。 直列化中にCertPathオブジェクトは代替CertPathRepオブジェクトに解釈処理されます。 これにより、基本的な実装にかかわらず、CertPathオブジェクトを同等の表現に直列化できます。 
 
 CertPathオブジェクトはCertificateFactoryで作成されますが、CertPathBuilderのようなほかのクラスから返されることもあります。
 
 規則では、X509Certificateで構成されているX.509 CertPathは、ターゲット証明書で始まり、トラスト・アンカーが発行した証明書で終わるように順序付けされています。 つまり、証明書の発行者は、その次に続く証明書の主体になります。 TrustAnchorを表す証明書は、証明書パスに含まれません。 未検査のX.509 CertPathはこの規則に従いません。 PKIX CertPathValidatorは、この規則の違反を検出することにより、証明書パスが無効になりCertPathValidatorExceptionがスローされるのを防ぎます。 
 
 Javaプラットフォームの実装は、すべて次の標準のCertPath符号化をサポートする必要があります。
 
- PKCS7
- PkiPath
並行アクセス
 すべてのCertPathオブジェクトは、スレッドに対して安全である必要があります。 つまり、単一の(または複数の) CertPathオブジェクト上で、このクラスに定義されたメソッドを複数のスレッドが同時に呼び出しても、悪影響はありません。 このことはCertPath.getCertificatesが返すListについても当てはまります。 
 
 CertPathオブジェクトは、不変かつスレッドに対して安全でなければならないので、アクセスの調整を心配することなく、オブジェクトをさまざまなコードに渡すことができます。 CertPathオブジェクトとListオブジェクトが不変なので、通常、スレッドに対して安全にすることは難しくありません。 
- 導入されたバージョン:
- 1.4
- 関連項目:
- 
ネストされたクラスのサマリーネストされたクラス
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明boolean指定されたオブジェクトとこの証明書パスが等しいかどうかを比較します。abstract List<? extends Certificate>この証明書パス内の証明書のリストを返します。abstract byte[]デフォルトの符号化を使用して、この証明書パスの符号化された形式を返します。abstract byte[]getEncoded(String encoding) 指定した符号化を使用して、この証明書パスの符号化された形式を返します。この証明書パスでサポートする符号化の繰返しを返します。getType()この証明書パス内のCertificateのタイプを返します。inthashCode()この証明書パスのハッシュ・コードを返します。toString()この証明書パスの文字列表現を返します。protected Object直列化されるCertPathを、CertificateタイプおよびCertPathのエンコードされたバイトを含むCertPathRepオブジェクトで置き換えます。
- 
コンストラクタの詳細- 
CertPathprotected CertPath(String type) 指定されたタイプのCertPathを作成します。ほとんどのユーザーは CertificateFactoryを使用してCertPathを作成するため、このコンストラクタは保護されています。- パラメータ:
- type- このパス内の- Certificateのタイプの標準名
 
 
- 
- 
メソッドの詳細- 
getTypepublic String getType()この証明書パス内のCertificateのタイプを返します。 これは、証明書パス内のすべてのCertificateに対するcert.getType()で返される文字列と同じです。- 戻り値:
- この証明書パス内のCertificateのタイプ(nullにはならない)
 
- 
getEncodingsこの証明書パスでサポートする符号化の繰返しを返します。 返されたIteratorをremoveメソッドで変更しようとすると、UnsupportedOperationExceptionがスローされます。- 戻り値:
- サポートされる符号化の名前(String)を反復するIterator
 
- 
equalspublic boolean equals(Object other) 指定されたオブジェクトとこの証明書パスが等しいかどうかを比較します。 2つのCertPathのタイプが等しく、証明書のListが(つまりList内のCertificateが暗黙的に)等しい場合、これらのCertPathは等しいことになります。CertPathはCertPathでないオブジェクトと等しくなることはありません。このアルゴリズムはこのメソッドに実装されています。 オーバーライドするときは、ここで説明した動作が維持されるようにしなければいけません。 
- 
hashCodepublic int hashCode()この証明書パスのハッシュ・コードを返します。 証明書パスのハッシュ・コードは、次の計算の結果として定義されます。
 これにより、hashCode = path.getType().hashCode(); hashCode = 31*hashCode + path.getCertificates().hashCode();Object.hashCodeの一般規則によって要求されるように、任意の2つの証明書パスpath1とpath2でpath1.equals(path2)であれば、path1.hashCode()==path2.hashCode()となることが保証されます。
- 
toStringpublic String toString()この証明書パスの文字列表現を返します。 パスの各CertificateでtoStringメソッドを呼び出します。
- 
getEncodedpublic abstract byte[] getEncoded() throws CertificateEncodingExceptionデフォルトの符号化を使用して、この証明書パスの符号化された形式を返します。- 戻り値:
- 符号化されたバイト
- 例外:
- CertificateEncodingException- 符号化エラーが発生した場合
 
- 
getEncodedpublic abstract byte[] getEncoded(String encoding) throws CertificateEncodingException 指定した符号化を使用して、この証明書パスの符号化された形式を返します。- パラメータ:
- encoding- 使用する符号化名
- 戻り値:
- 符号化されたバイト
- 例外:
- CertificateEncodingException- 符号化エラーが発生した場合、または要求された符号化がサポートされていない場合
 
- 
getCertificatespublic abstract List<? extends Certificate> getCertificates()この証明書パス内の証明書のリストを返します。 返されるListは不変で、スレッドに対して安全である必要があります。- 戻り値:
- Certificateの不変な- List(空は可、nullは不可)
 
- 
writeReplaceprotected Object writeReplace() throws ObjectStreamException直列化されるCertPathを、CertificateタイプおよびCertPathのエンコードされたバイトを含むCertPathRepオブジェクトで置き換えます。- 戻り値:
- Certificateタイプおよび- CertPathのエンコードされたバイトを含む- CertPathRep
- 例外:
- ObjectStreamException- この証明書パスを表す- CertPathRepオブジェクトを作成できなかった場合
 
 
-