クラスKDFSpi
KDFSpiは、JavaプラットフォームのプレビューAPIです。
KDFPREVIEW)クラスの「サービス・プロバイダ・インタフェース」 (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 SecretKeyengineDeriveKey(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を使用できます。