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

クラスKeyFactorySpi

java.lang.Object
java.security.KeyFactorySpi

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

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

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

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

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

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

    コンストラクタ
    コンストラクタ
    説明
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

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

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • コンストラクタの詳細

    • 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 - 指定されたキーをこのキー・ファクトリで処理できない場合。