モジュール java.base
パッケージ java.security.cert

クラスCertificateFactorySpi


  • public abstract class CertificateFactorySpi
    extends Object
    このクラスは、CertificateFactoryクラスのサービス・プロバイダ・インタフェース (SPI)を定義します。 このクラスのすべての抽象メソッドは、X.509などの特定の証明書タイプの証明書ファクトリの実装を提供する各暗号化サービス・プロバイダによって実装される必要があります。

    証明書ファクトリは証明書オブジェクト、証明書パス(CertPath)および証明書の取消しリスト(CRL)オブジェクトを符号から生成するために使用します。

    X.509の証明書ファクトリは、java.security.cert.X509Certificateのインスタンスである証明書、およびjava.security.cert.X509CRLのインスタンスであるCRLを返します。

    導入されたバージョン:
    1.2
    関連項目:
    CertificateFactory, Certificate, X509Certificate, CertPath, CRL, X509CRL
    • コンストラクタの詳細

      • CertificateFactorySpi

        public CertificateFactorySpi()
    • メソッドの詳細

      • engineGenerateCertificate

        public abstract Certificate engineGenerateCertificate​(InputStream inStream)
                                                       throws CertificateException
        証明書オブジェクトを生成し、入力ストリームinStreamから読み込まれたデータで初期化します。

        この証明書ファクトリによってサポートされている特殊形式の証明書を利用するために、返された証明書オブジェクトを対応する証明書クラスに型キャストできます。 たとえば、この証明書ファクトリがX.509証明書を実装する場合、返された証明書オブジェクトをX509Certificateクラスに型キャストできます。

        X.509証明書の証明書ファクトリの場合は、inStreamで提供される証明書はDERで符号化される必要があり、バイナリまたはプリント可能(Base64)な符号で提供されることもあります。 証明書がBase64の符号で提供された場合、先頭は -----BEGIN CERTIFICATE----- によって区切られ、終端は -----END CERTIFICATE----- によって区切られる必要があります。

        指定された入力ストリームがmarkおよびresetをサポートしていない場合、このメソッドは入力ストリーム全体を使用します。 そうでない場合、このメソッドが呼び出されるたびに証明書を1つ消費し、入力ストリームの読込み位置は、固有のend-of-certificateマーカーのあとで次に使用可能なバイトに設定されます。 固有のend-of-certificateマーカー(EOF以外)が入力ストリームのデータに含まれず、証明書が構文解析されたあとでデータが続く場合は、CertificateExceptionがスローされます。

        パラメータ:
        inStream - 証明書データを持つ入力ストリーム。
        戻り値:
        入力ストリームのデータを使って初期化された証明書オブジェクト。
        例外:
        CertificateException - 構文解析エラーの場合。
      • engineGenerateCertPath

        public CertPath engineGenerateCertPath​(InputStream inStream)
                                        throws CertificateException
        CertPathオブジェクトを生成し、InputStreamであるinStreamから読み込まれたデータで初期化します。 データはデフォルトの符号化がされていると仮定されます。

        このメソッドは、Java 2 Platform Standard Editionのバージョン1.4で追加されました。 既存のサービス・プロバイダとの下位互換性を維持するため、このメソッドはabstractにはできず、デフォルトでUnsupportedOperationExceptionをスローします。

        パラメータ:
        inStream - データが含まれるInputStream
        戻り値:
        InputStreamからのデータで初期化されたCertPath
        例外:
        CertificateException - 復号化中に例外が発生した場合
        UnsupportedOperationException - メソッドがサポートされていない場合
        導入されたバージョン:
        1.4
      • engineGenerateCertPath

        public CertPath engineGenerateCertPath​(InputStream inStream,
                                               String encoding)
                                        throws CertificateException
        CertPathオブジェクトを生成し、InputStreamであるinStreamから読み込まれたデータで初期化します。 データは指定した符号化がされていると仮定されます。

        このメソッドは、Java 2 Platform Standard Editionのバージョン1.4で追加されました。 既存のサービス・プロバイダとの下位互換性を維持するため、このメソッドはabstractにはできず、デフォルトでUnsupportedOperationExceptionをスローします。

        パラメータ:
        inStream - データが含まれるInputStream
        encoding - データで使用される符号化
        戻り値:
        InputStreamからのデータで初期化されたCertPath
        例外:
        CertificateException - 復号化中に例外が発生した場合、または要求された符号化がサポートされていない場合
        UnsupportedOperationException - メソッドがサポートされていない場合
        導入されたバージョン:
        1.4
      • engineGenerateCertPath

        public CertPath engineGenerateCertPath​(List<? extends Certificate> certificates)
                                        throws CertificateException
        CertPathオブジェクトを生成し、CertificateListで初期化します。

        提供される証明書は、CertificateFactoryでサポートされているタイプである必要があります。 これらは、指定されたListオブジェクトからコピーされます。

        このメソッドは、Java 2 Platform Standard Editionのバージョン1.4で追加されました。 既存のサービス・プロバイダとの下位互換性を維持するため、このメソッドはabstractにはできず、デフォルトでUnsupportedOperationExceptionをスローします。

        パラメータ:
        certificates - CertificateList
        戻り値:
        提供された証明書のリストで初期化されたCertPath
        例外:
        CertificateException - 例外が発生する場合
        UnsupportedOperationException - メソッドがサポートされていない場合
        導入されたバージョン:
        1.4
      • engineGetCertPathEncodings

        public Iterator<String> engineGetCertPathEncodings()
        この証明書ファクトリでサポートするCertPathのエンコーディングの繰返しを返します。繰返しの最初はデフォルトのエンコーディングになります。 標準のエンコーディング名については、「Javaセキュリティ標準アルゴリズム名指定」の「CertPathエンコーディング」セクションを参照してください。

        返されたIteratorremoveメソッドで変更しようとすると、UnsupportedOperationExceptionがスローされます。

        このメソッドは、Java 2 Platform Standard Editionのバージョン1.4で追加されました。 既存のサービス・プロバイダとの下位互換性を維持するため、このメソッドはabstractにはできず、デフォルトでUnsupportedOperationExceptionをスローします。

        戻り値:
        サポートされるCertPath符号化の名前(String)を反復するIterator
        例外:
        UnsupportedOperationException - メソッドがサポートされていない場合
        導入されたバージョン:
        1.4
      • engineGenerateCertificates

        public abstract Collection<? extends Certificate> engineGenerateCertificates​(InputStream inStream)
                                                                              throws CertificateException
        指定された入力ストリームinStreamから読み込まれた証明書のコレクション・ビュー(空の場合もある)を返します。

        この証明書ファクトリによってサポートされている特殊な形式の証明書を利用するために、返されたコレクション・ビューの各要素を対応する証明書クラスに型キャストできます。 たとえば、この証明書ファクトリがX.509証明書を実装する場合、返されたコレクション内の要素をX509Certificateクラスに型キャストできます。

        X.509証明書で使う証明書ファクトリの場合、inStreamには、generateCertificateで説明されている形式の、DERで符号化された単一の証明書が格納されます。 また、inStreamにはPKCS#7証明書チェーンが格納されます。 これはPKCS#7 SignedDataオブジェクトであり、上位フィールドはcertificatesだけです。 特に、署名および内容は無視されます。 この形式の場合、複数の証明書を1回でダウンロードできます。 証明書がない場合は、空のコレクションが返されます。

        指定された入力ストリームがmarkおよびresetをサポートしていない場合、このメソッドは入力ストリーム全体を使用します。

        パラメータ:
        inStream - 証明書を持つ入力ストリーム。
        戻り値:
        入力ストリームからのデータを使って初期化されたjava.security.cert.Certificateオブジェクトのコレクション・ビュー。空の場合もある。
        例外:
        CertificateException - 構文解析エラーの場合。
      • engineGenerateCRL

        public abstract CRL engineGenerateCRL​(InputStream inStream)
                                       throws CRLException
        証明書の取消しリスト(CRL)オブジェクトを生成し、入力ストリームinStreamから読み込まれたデータで初期化します。

        この証明書ファクトリによってサポートされている特殊な形式のCRLを利用するために、返されたCRLオブジェクトを対応するCRLクラスに型キャストできます。 たとえば、この証明書ファクトリがX.509 CRLを実装する場合、返されたCRLオブジェクトをX509CRLクラスに型キャストできます。

        指定された入力ストリームがmarkおよびresetをサポートしていない場合、このメソッドは入力ストリーム全体を使用します。 そうでない場合、このメソッドが呼び出されるたびにCRLを1つ消費し、入力ストリームの読込み位置は、固有のend-of-CRLマーカーのあとで次に使用可能なバイトに設定されます。 固有のend-of-CRLマーカー(EOF以外)が入力ストリームのデータに含まれず、CRLが構文解析されたあとでデータが続く場合は、CRLExceptionがスローされます。

        パラメータ:
        inStream - CRLデータを持つ入力ストリーム。
        戻り値:
        入力ストリームのデータを使って初期化されたCRLオブジェクト。
        例外:
        CRLException - 構文解析エラーの場合。
      • engineGenerateCRLs

        public abstract Collection<? extends CRL> engineGenerateCRLs​(InputStream inStream)
                                                              throws CRLException
        指定された入力ストリームinStreamから読み込まれたCRLのコレクション・ビュー(空の場合もある)を返します。

        この証明書ファクトリによってサポートされている特殊な形式のCRLを利用するために、返されたコレクション・ビューの各要素を対応するCRLクラスに型キャストできます。 たとえば、この証明書ファクトリがX.509 CRLを実装する場合、返されたコレクション内の要素をX509CRLクラスに型キャストできます。

        X.509 CRLの証明書ファクトリの場合は、inStreamには、DERで符号化された1つのCRLが格納されます。 また、inStreamにはPKCS#7 CRLセットが格納されます。 これはPKCS#7 SignedDataオブジェクトであり、上位フィールドはcrlsだけです。 特に、署名および内容は無視されます。 この形式の場合、複数のCRLを1回でダウンロードできます。 CRLがない場合は、空のコレクションが返されます。

        指定された入力ストリームがmarkおよびresetをサポートしていない場合、このメソッドは入力ストリーム全体を使用します。

        パラメータ:
        inStream - CRLを持つ入力ストリーム。
        戻り値:
        入力ストリームからのデータを使って初期化されたjava.security.cert.CRLオブジェクトのコレクション・ビュー。空の場合もある。
        例外:
        CRLException - 構文解析エラーの場合。