java.lang.Object
javax.crypto.KEM.Decapsulator
- 含まれているクラス:
KEM
public static final class KEM.Decapsulator extends Object
KEMレシーバ側の
KEM.newDecapsulator(java.security.PrivateKey)
によって生成されるデカプセレータ。
このクラスは、KEMのキー・デカプセル化機能を表します。 decapsulate
メソッドを起動すると、キーのカプセル化メッセージから秘密キーがリカバリされます。
- 導入されたバージョン:
- 21
-
メソッドのサマリー
修飾子と型メソッド説明decapsulate
(byte[] encapsulation) キーのデカプセル化機能。decapsulate
(byte[] encapsulation, int from, int to, String algorithm) キーのデカプセル化機能。int
キー・カプセル化メッセージのサイズを返します。プロバイダの名前を返します。int
共有シークレットのサイズを返します。
-
メソッドの詳細
-
providerName
-
decapsulate
public SecretKey decapsulate(byte[] encapsulation) throws DecapsulateException キーのデカプセル化機能。このメソッドは
decapsulate(encapsulation, 0, secretSize(), "Generic")
と同等です。 この引数の組合せは、すべての実装でサポートされる必要があります。生成された秘密キーは通常、キー導出関数(KDF)に入力キーイング・マテリアルとして渡されます。
- パラメータ:
encapsulation
- 送信者からのキー・カプセル化メッセージ。 サイズは、encapsulationSize()
によって返される値と等しくする必要があり、そうでない場合、DecapsulateException
がスローされます。- 戻り値:
- アルゴリズム名"一般"を持つ
SecretKey
としての共有シークレット - 例外:
DecapsulateException
- デカプセル化プロセス中にエラーが発生した場合NullPointerException
-encapsulation
がnull
の場合
-
decapsulate
public SecretKey decapsulate(byte[] encapsulation, int from, int to, String algorithm) throws DecapsulateException キーのデカプセル化機能。このメソッドを起動すると、キーのカプセル化メッセージから秘密キーがリカバリされます。
実装では、
from
、to
およびalgorithm
の任意の組合せをサポートしないことを選択できます。- パラメータ:
encapsulation
- 送信者からのキー・カプセル化メッセージ。 サイズは、encapsulationSize()
によって返される値と等しくする必要があり、そうでない場合、DecapsulateException
がスローされます。from
- 返される共有シークレット・バイト配列の初期インデックス(両端を含む)to
- 返される共有シークレット・バイト配列の最終インデックス、排他的algorithm
- 返される秘密キーのアルゴリズム名- 戻り値:
from
からto
までのシークレットのバイトを含むSecretKey
としての共有シークレットの一部、排他的、および指定されたアルゴリズム名。 たとえば、decapsulate(encapsulation, secretSize() - 16, secretSize(), "AES")
は、共有シークレットの最後の16バイトを128ビットのAESキーとして使用します。- 例外:
DecapsulateException
- デカプセル化プロセス中にエラーが発生した場合IndexOutOfBoundsException
-from < 0
、from > to
またはto > secretSize()
の場合NullPointerException
-encapsulation
またはalgorithm
がnull
の場合UnsupportedOperationException
-from
、to
、およびalgorithm
の組み合わせがデカプセレータによってサポートされない場合
-
secretSize
public int secretSize()共有シークレットのサイズを返します。このメソッドをコールして、
decapsulate
がコールされる前に共有シークレットの長さを調べるか、取得したSecretKey
が抽出可能でないかを確認できます。- 戻り値:
- 共有シークレットのサイズ
-
encapsulationSize
public int encapsulationSize()キー・カプセル化メッセージのサイズを返します。このメソッドは、上位レベルのプロトコルによって長さ情報が提供されない場合に、長いバイト配列からカプセル化メッセージを抽出するために使用できます。
- 戻り値:
- キー・カプセル化メッセージのサイズ
-