クラスKDFSpi
KDFSpi
は、JavaプラットフォームのプレビューAPIです。
KDF
PREVIEW)クラスの「サービス・プロバイダ・インタフェース」 (SPI)を定義します。
このクラスのすべての抽象メソッドは、特定のキー導出関数アルゴリズムの実装を提供する各暗号化サービス・プロバイダによって実装される必要があります。
実装は、KDFSpi
インスタンスを構築するためにProvider.Service.newInstance
のデフォルト実装に依存する場合、 KDFParameters
オブジェクトを受け入れるパブリック・コンストラクタを提供する必要があります。 コンストラクタは、指定されたパラメータを渡してsuper(params)
をコールする必要があります。 また、指定されたパラメータが適切でない場合、コンストラクタはInvalidAlgorithmParameterException
をスローする必要があります。 KDFParameters
パラメータを含むgetInstance
メソッドのいずれかを使用してKDF
オブジェクトをインスタンス化すると、ユーザー指定のKDFParameters
オブジェクトがKDFSpi
実装のコンストラクタに渡されます。 それ以外の場合、KDFParameters
パラメータを指定せずにgetInstance
メソッドのいずれかを使用してインスタンス化すると、null
値がコンストラクタに渡されます。
KDFParameters
をサポートしない実装では、null
を渡す必要があります。渡されない場合、InvalidAlgorithmParameterException
がスローされます。 一方、KDFParameters
を必要とする実装では、デフォルト・パラメータを生成できない場合、または実装でサポートされていない KDFParameters
の受信時に、null
値の受信時にInvalidAlgorithmParameterException
をスローする必要があります。
呼出し側を支援するために、実装はパラメータを追加のデフォルト値で返したり、基礎となるKDF
アルゴリズムで使用されるランダムな値を提供したりできます。 詳細は、engineGetParameters()
を参照してください。
- 導入されたバージョン:
- 24
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明protected abstract byte[]
engineDeriveData
(AlgorithmParameterSpec derivationSpec) キーを導出して、RAWデータをバイト配列として返します。protected abstract SecretKey
engineDeriveKey
(String alg, AlgorithmParameterSpec derivationSpec) SecretKey
オブジェクトとして返されるキーを導出します。protected abstract KDFParametersPREVIEW
このKDF
オブジェクトで使用されるKDFParameters
を返します。
-
コンストラクタの詳細
-
KDFSpi
protected KDFSpi(KDFParametersPREVIEW kdfParameters) throws InvalidAlgorithmParameterException 唯一のコンストラクタです。初期化パラメータをサポートするKDFアルゴリズムには、
KDFParameters
オブジェクトを指定できます。- パラメータ:
kdfParameters
-KDF
アルゴリズム(null
を指定できます)の初期化パラメータ- スロー:
InvalidAlgorithmParameterException
- このKDFSpi
に対して初期化パラメータが不適切である場合- 関連項目:
-
-
メソッドの詳細
-
engineGetParameters
protected abstract KDFParametersPREVIEW engineGetParameters()このKDF
オブジェクトで使用されるKDFParameters
を返します。返されるパラメータは、この
KDF
オブジェクトの初期化に使用したものと同じか、基礎となるKDFアルゴリズムで使用される追加のデフォルトまたはランダム・パラメータ値を含む場合があります。 必須パラメータが指定されておらず、KDF
オブジェクトで生成できる場合は、生成されたパラメータが返されます。それ以外の場合は、null
が返されます。- 戻り値:
- この
KDF
オブジェクトまたはnull
で使用されるパラメータ
-
engineDeriveKey
protected abstract SecretKey engineDeriveKey(String alg, AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException SecretKey
オブジェクトとして返されるキーを導出します。- 実装上のノート:
- 結果のキーが抽出可能である場合、その
getEncoded
値はderiveData
の結果と同じ内容である必要があります。 - パラメータ:
alg
- 結果のSecretKey
オブジェクトのアルゴリズムderivationSpec
- 導出パラメータ- 戻り値:
- 導出キー。
- スロー:
InvalidAlgorithmParameterException
-derivationSpec
に含まれる情報が無効な場合、またはalg
とderivationSpec
の組合せが無効な場合NoSuchAlgorithmException
-alg
が空または無効の場合NullPointerException
-alg
またはderivationSpec
がnullの場合
-
engineDeriveData
protected abstract byte[] engineDeriveData(AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException キーを導出して、RAWデータをバイト配列として返します。- パラメータ:
derivationSpec
- 導出パラメータ- 戻り値:
- rawバイト内の派生キー。
- スロー:
InvalidAlgorithmParameterException
-derivationSpec
に含まれる情報が無効な場合UnsupportedOperationException
- 導出されたキーイング材料が抽出可能でない場合NullPointerException
-derivationSpec
がnullの場合
-
KDFSpi
を使用できます。