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

クラスKeyFactorySpi


  • public abstract class KeyFactorySpi
    extends Object
    このクラスは、KeyFactoryクラスのサービス・プロバイダ・インタフェース (SPI)を定義します。 特定アルゴリズムの鍵ファクトリの実装を提供する各暗号サービス・プロバイダは、このクラスのすべての抽象メソッドを実装する必要があります。

    鍵ファクトリは、Key型の不透明な暗号鍵であると、基本の鍵データの透明な表現である鍵仕様との間の変換を行うために使用します。

    鍵ファクトリは、双方向性があります。 つまり、指定した鍵仕様(鍵データ)から不透明な鍵オブジェクトを構築することも、適切な形式で鍵オブジェクトの基本の鍵データを取り出すこともできます。

    同一の鍵に対して、複数の互換性のある鍵仕様が存在することがあります。 たとえばDSA公開鍵は、DSAPublicKeySpecまたはX509EncodedKeySpecを使って指定できます。 鍵ファクトリは、互換性のある鍵仕様間の変換に使用できます。

    プロバイダは、その鍵ファクトリがサポートするすべての鍵仕様をドキュメント化する必要があります。

    導入されたバージョン:
    1.2
    関連項目:
    KeyFactory, Key, PublicKey, PrivateKey, KeySpec, DSAPublicKeySpec, X509EncodedKeySpec
    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      KeyFactorySpi()  
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      protected abstract PrivateKey engineGeneratePrivate​(KeySpec keySpec)
      指定された鍵仕様(鍵データ)から非公開鍵オブジェクトを生成します。
      protected abstract PublicKey engineGeneratePublic​(KeySpec keySpec)
      指定された鍵仕様(鍵データ)から公開鍵オブジェクトを生成します。
      protected abstract <T extends KeySpec>
      T
      engineGetKeySpec​(Key key, Class<T> keySpec)
      指定された鍵オブジェクトの仕様(鍵データ)を返します。
      protected abstract Key engineTranslateKey​(Key key)
      プロバイダが未知であるか、信頼できない可能性がある鍵オブジェクトを、この鍵ファクトリの対応する鍵オブジェクトに変換します。
    • コンストラクタの詳細

      • KeyFactorySpi

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

      • engineGeneratePublic

        protected abstract PublicKey engineGeneratePublic​(KeySpec keySpec)
                                                   throws InvalidKeySpecException
        指定された鍵仕様(鍵データ)から公開鍵オブジェクトを生成します。
        パラメータ:
        keySpec - 公開鍵の仕様(鍵データ)。
        戻り値:
        公開鍵。
        例外:
        InvalidKeySpecException - 指定された鍵仕様がこの鍵ファクトリによる公開鍵の生成に不適切な場合。
      • engineGeneratePrivate

        protected abstract PrivateKey engineGeneratePrivate​(KeySpec keySpec)
                                                     throws InvalidKeySpecException
        指定された鍵仕様(鍵データ)から非公開鍵オブジェクトを生成します。
        パラメータ:
        keySpec - 非公開鍵の仕様(鍵データ)。
        戻り値:
        非公開鍵。
        例外:
        InvalidKeySpecException - 指定された鍵仕様がこの鍵ファクトリによる非公開鍵の生成に不適切な場合。
      • engineGetKeySpec

        protected abstract <T extends KeySpec> T engineGetKeySpec​(Key key,
                                                                  Class<T> keySpec)
                                                           throws InvalidKeySpecException
        指定された鍵オブジェクトの仕様(鍵データ)を返します。keySpecは、鍵のデータが返されるべき仕様クラスを識別します。 たとえば、DSAPublicKeySpec.classは、鍵のデータがDSAPublicKeySpecクラスのインスタンスに返されるべきであることを指示します。
        型パラメータ:
        T - 返される鍵仕様の型
        パラメータ:
        key - 鍵。
        keySpec - 鍵データが返される仕様クラス。
        戻り値:
        要求される仕様クラスのインスタンスにおける基本の鍵仕様(鍵データ)。
        例外:
        InvalidKeySpecException - 要求される鍵仕様が指定された鍵に不適切な場合、または認識されない形式の鍵を指定した場合など、指定された鍵を処理できない場合。
      • engineTranslateKey

        protected abstract Key engineTranslateKey​(Key key)
                                           throws InvalidKeyException
        プロバイダが未知であるか、信頼できない可能性がある鍵オブジェクトを、この鍵ファクトリの対応する鍵オブジェクトに変換します。
        パラメータ:
        key - プロバイダが未知であるか、信頼できない鍵。
        戻り値:
        変換した鍵。
        例外:
        InvalidKeyException - 指定された鍵をこの鍵ファクトリで処理できない場合。