Files
wolfssl/doc/dox_comments/header_files-ja/hmac.h
2025-12-03 13:39:09 +09:00

523 lines
26 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*!
\ingroup HMAC
\brief この関数はHmacオブジェクトを初期化し、暗号化タイプ、鍵、およびHMAC長を設定します。
\return 0 Hmacオブジェクトの初期化に成功した場合に返されます。
\return BAD_FUNC_ARG 入力タイプが無効な場合に返されますtypeパラメータを参照
\return MEMORY_E ハッシュに使用する構造体のメモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準の14バイトより短い場合に返されます。
\param hmac 初期化するHmacオブジェクトへのポインタ。
\param type Hmacオブジェクトが使用する暗号化方式を指定するタイプ。有効なオプションはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param key Hmacオブジェクトを初期化する鍵を含むバッファへのポインタ。
\param length 鍵の長さ。
_Example_
\code
Hmac hmac;
byte key[] = { // 暗号化に使用する鍵で初期化 };
if (wc_HmacSetKey(&hmac, WC_MD5, key, sizeof(key)) != 0) {
// Hmacオブジェクトの初期化エラー
}
\endcode
\sa wc_HmacUpdate
\sa wc_HmacFinal
*/
int wc_HmacSetKey(Hmac* hmac, int type, const byte* key, word32 keySz);
/*!
\ingroup HMAC
\brief この関数は、HMACを使用して認証するメッセージを更新します。wc_HmacSetKeyでHmacオブジェクトが初期化された後に呼び出す必要があります。この関数は、ハッシュするメッセージを更新するために複数回呼び出すことができます。必要に応じてwc_HmacUpdateを呼び出した後、wc_HmacFinalを呼び出して最終的な認証メッセージタグを取得する必要があります。
\return 0 認証するメッセージの更新に成功した場合に返されます。
\return MEMORY_E ハッシュアルゴリズムで使用するメモリ割り当てエラーがある場合に返されます。
\param hmac メッセージを更新するHmacオブジェクトへのポインタ。
\param msg 追加するメッセージを含むバッファへのポインタ。
\param length 追加するメッセージの長さ。
_Example_
\code
Hmac hmac;
byte msg[] = { // 認証するメッセージで初期化 };
byte msg2[] = { // メッセージの後半で初期化 };
// hmacを初期化
if( wc_HmacUpdate(&hmac, msg, sizeof(msg)) != 0) {
// メッセージ更新エラー
}
if( wc_HmacUpdate(&hmac, msg2, sizeof(msg)) != 0) {
// 2番目のメッセージでの更新エラー
}
\endcode
\sa wc_HmacSetKey
\sa wc_HmacFinal
*/
int wc_HmacUpdate(Hmac* hmac, const byte* in, word32 sz);
/*!
\ingroup HMAC
\brief この関数は、Hmacオブジェクトのメッセージの最終ハッシュを計算します。
\return 0 最終ハッシュの計算に成功した場合に返されます。
\return MEMORY_E ハッシュアルゴリズムで使用するメモリ割り当てエラーがある場合に返されます。
\param hmac 最終ハッシュを計算するHmacオブジェクトへのポインタ。
\param hash 最終ハッシュを保存するバッファへのポインタ。選択したハッシュアルゴリズムに必要なスペースを確保する必要があります。
_Example_
\code
Hmac hmac;
byte hash[MD5_DIGEST_SIZE];
// タイプとしてMD5でhmacを初期化
// メッセージでwc_HmacUpdate()
if (wc_HmacFinal(&hmac, hash) != 0) {
// ハッシュ計算エラー
}
\endcode
\sa wc_HmacSetKey
\sa wc_HmacUpdate
*/
int wc_HmacFinal(Hmac* hmac, byte* out);
/*!
\ingroup HMAC
\brief この関数は、設定された暗号スイートに基づいて利用可能な最大のHMACダイジェストサイズを返します。
\return Success 設定された暗号スイートに基づいて利用可能な最大のHMACダイジェストサイズを返します。
\param none パラメータなし。
_Example_
\code
int maxDigestSz = wolfSSL_GetHmacMaxSize();
\endcode
\sa none
*/
int wolfSSL_GetHmacMaxSize(void);
/*!
\ingroup HMAC
\brief この関数は、HMAC鍵導出関数HKDFへのアクセスを提供します。HMACを利用して、オプションのソルトとオプションの情報を含むinKeyを導出鍵に変換し、outに保存します。ハッシュタイプは、0またはNULLが指定された場合、デフォルトでMD5になります。
HMAC設定オプションは--enable-hmacデフォルトでオン、またはソースを直接ビルドする場合はHAVE_HKDFです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param type HKDFに使用するハッシュタイプ。有効なタイプはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param inKey KDFに使用する鍵を含むバッファへのポインタ。
\param inKeySz 入力鍵の長さ。
\param salt オプションのソルトを含むバッファへのポインタ。ソルトを使用しない場合はNULLを使用します。
\param saltSz ソルトの長さ。ソルトを使用しない場合は0を使用します。
\param info オプションの追加情報を含むバッファへのポインタ。追加情報を追加しない場合はNULLを使用します。
\param infoSz 追加情報の長さ。追加情報を使用しない場合は0を使用します。
\param out 導出鍵を保存するバッファへのポインタ。
\param outSz 生成された鍵を保存する出力バッファで利用可能なスペース。
_Example_
\code
byte key[] = { // 鍵で初期化 };
byte salt[] = { // ソルトで初期化 };
byte derivedKey[MAX_DIGEST_SIZE];
int ret = wc_HKDF(WC_SHA512, key, sizeof(key), salt, sizeof(salt),
NULL, 0, derivedKey, sizeof(derivedKey));
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HmacSetKey
*/
int wc_HKDF(int type, const byte* inKey, word32 inKeySz,
const byte* salt, word32 saltSz,
const byte* info, word32 infoSz,
byte* out, word32 outSz);
/*!
\ingroup HMAC
\brief この関数は、HMAC鍵導出関数HKDFへのアクセスを提供します。HMACを利用して、オプションのソルトを含むinKeyを導出鍵に変換し、outに保存します。ハッシュタイプは、0またはNULLが指定された場合、デフォルトでMD5になります。
HMAC設定オプションは--enable-hmacデフォルトでオン、またはソースを直接ビルドする場合はHAVE_HKDFです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param type HKDFに使用するハッシュタイプ。有効なタイプはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param salt オプションのソルトを含むバッファへのポインタ。ソルトを使用しない場合はNULLを使用します。
\param saltSz ソルトの長さ。ソルトを使用しない場合は0を使用します。
\param inKey KDFに使用する鍵を含むバッファへのポインタ。
\param inKeySz 入力鍵の長さ。
\param out 導出鍵を保存するバッファへのポインタ。
_Example_
\code
byte key[] = { // 鍵で初期化 };
byte salt[] = { // ソルトで初期化 };
byte derivedKey[MAX_DIGEST_SIZE];
int ret = wc_HKDF_Extract(WC_SHA512, salt, sizeof(salt), key, sizeof(key),
derivedKey);
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_HKDF_Expand_ex
*/
int wc_HKDF_Extract(
int type,
const byte* salt, word32 saltSz,
const byte* inKey, word32 inKeySz,
byte* out);
/*!
\ingroup HMAC
\brief この関数は、HMAC鍵導出関数HKDFへのアクセスを提供します。HMACを利用して、オプションのソルトを含むinKeyを導出鍵に変換し、outに保存します。ハッシュタイプは、0またはNULLが指定された場合、デフォルトでMD5になります。これは、ヒープヒントとデバイス識別子を追加する_exバージョンです。
HMAC設定オプションは--enable-hmacデフォルトでオン、またはソースを直接ビルドする場合はHAVE_HKDFです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param type HKDFに使用するハッシュタイプ。有効なタイプはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param salt オプションのソルトを含むバッファへのポインタ。ソルトを使用しない場合はNULLを使用します。
\param saltSz ソルトの長さ。ソルトを使用しない場合は0を使用します。
\param inKey KDFに使用する鍵を含むバッファへのポインタ。
\param inKeySz 入力鍵の長さ。
\param out 導出鍵を保存するバッファへのポインタ。
\param heap メモリに使用するヒープヒント。NULLにできます。
\param devId 暗号コールバックまたは非同期ハードウェアで使用するID。使用しない場合はINVALID_DEVID-2に設定します。
_Example_
\code
byte key[] = { // 鍵で初期化 };
byte salt[] = { // ソルトで初期化 };
byte derivedKey[MAX_DIGEST_SIZE];
int ret = wc_HKDF_Extract_ex(WC_SHA512, salt, sizeof(salt), key, sizeof(key),
derivedKey, NULL, INVALID_DEVID);
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Expand
\sa wc_HKDF_Expand_ex
*/
int wc_HKDF_Extract_ex(
int type,
const byte* salt, word32 saltSz,
const byte* inKey, word32 inKeySz,
byte* out,
void* heap, int devId);
/*!
\ingroup HMAC
\brief この関数は、HMAC鍵導出関数HKDFへのアクセスを提供します。HMACを利用して、オプションの情報を含むinKeyを導出鍵に変換し、outに保存します。ハッシュタイプは、0またはNULLが指定された場合、デフォルトでMD5になります。
HMAC設定オプションは--enable-hmacデフォルトでオン、またはソースを直接ビルドする場合はHAVE_HKDFです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param type HKDFに使用するハッシュタイプ。有効なタイプはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param inKey KDFに使用する鍵を含むバッファへのポインタ。
\param inKeySz 入力鍵の長さ。
\param info オプションの追加情報を含むバッファへのポインタ。追加情報を追加しない場合はNULLを使用します。
\param infoSz 追加情報の長さ。追加情報を使用しない場合は0を使用します。
\param out 導出鍵を保存するバッファへのポインタ。
\param outSz 生成された鍵を保存する出力バッファで利用可能なスペース。
_Example_
\code
byte key[] = { // 鍵で初期化 };
byte salt[] = { // ソルトで初期化 };
byte derivedKey[MAX_DIGEST_SIZE];
int ret = wc_HKDF_Expand(WC_SHA512, key, sizeof(key), NULL, 0,
derivedKey, sizeof(derivedKey));
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand_ex
*/
int wc_HKDF_Expand(
int type,
const byte* inKey, word32 inKeySz,
const byte* info, word32 infoSz,
byte* out, word32 outSz);
/*!
\ingroup HMAC
\brief この関数は、HMAC鍵導出関数HKDFへのアクセスを提供します。HMACを利用して、オプションの情報を含むinKeyを導出鍵に変換し、outに保存します。ハッシュタイプは、0またはNULLが指定された場合、デフォルトでMD5になります。これは、ヒープヒントとデバイス識別子を追加する_exバージョンです。
HMAC設定オプションは--enable-hmacデフォルトでオン、またはソースを直接ビルドする場合はHAVE_HKDFです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param type HKDFに使用するハッシュタイプ。有効なタイプはWC_MD5、WC_SHA、WC_SHA256、WC_SHA384、WC_SHA512、WC_SHA3_224、WC_SHA3_256、WC_SHA3_384、またはWC_SHA3_512。
\param inKey KDFに使用する鍵を含むバッファへのポインタ。
\param inKeySz 入力鍵の長さ。
\param info オプションの追加情報を含むバッファへのポインタ。追加情報を追加しない場合はNULLを使用します。
\param infoSz 追加情報の長さ。追加情報を使用しない場合は0を使用します。
\param out 導出鍵を保存するバッファへのポインタ。
\param outSz 生成された鍵を保存する出力バッファで利用可能なスペース。
\param heap メモリに使用するヒープヒント。NULLにできます。
\param devId 暗号コールバックまたは非同期ハードウェアで使用するID。使用しない場合はINVALID_DEVID-2に設定します。
_Example_
\code
byte key[] = { // 鍵で初期化 };
byte salt[] = { // ソルトで初期化 };
byte derivedKey[MAX_DIGEST_SIZE];
int ret = wc_HKDF_Expand_ex(WC_SHA512, key, sizeof(key), NULL, 0,
derivedKey, sizeof(derivedKey), NULL, INVALID_DEVID);
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
*/
int wc_HKDF_Expand_ex(
int type,
const byte* inKey, word32 inKeySz,
const byte* info, word32 infoSz,
byte* out, word32 outSz,
void* heap, int devId);
/*!
\ingroup HMAC
\brief この関数は、TLS v1.3鍵導出のためのRFC 5869 HMACベース抽出拡張鍵導出関数HKDFへのアクセスを提供します。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param prk 生成された疑似ランダム鍵。
\param salt ソルト。
\param saltLen ソルトの長さ。
\param ikm 鍵材料の出力へのポインタ。
\param ikmLen 入力鍵材料バッファの長さ。
\param digest HKDFに使用するハッシュタイプ。有効なタイプはWC_SHA256、WC_SHA384、またはWC_SHA512。
_Example_
\code
byte secret[] = { // ランダム鍵で初期化 };
byte salt[] = { // オプションのソルトで初期化 };
byte masterSecret[MAX_DIGEST_SIZE];
int ret = wc_Tls13_HKDF_Extract(secret, salt, sizeof(salt), 0,
masterSecret, sizeof(masterSecret), WC_SHA512);
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_Tls13_HKDF_Extract_ex
*/
int wc_Tls13_HKDF_Extract(
byte* prk,
const byte* salt, word32 saltLen,
byte* ikm, word32 ikmLen, int digest);
/*!
\ingroup HMAC
\brief この関数は、TLS v1.3鍵導出のためのRFC 5869 HMACベース抽出拡張鍵導出関数HKDFへのアクセスを提供します。これは、ヒープヒントとデバイス識別子を追加する_exバージョンです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param prk 生成された疑似ランダム鍵。
\param salt ソルト。
\param saltLen ソルトの長さ。
\param ikm 鍵材料の出力へのポインタ。
\param ikmLen 入力鍵材料バッファの長さ。
\param digest HKDFに使用するハッシュタイプ。有効なタイプはWC_SHA256、WC_SHA384、またはWC_SHA512。
\param heap メモリに使用するヒープヒント。NULLにできます。
\param devId 暗号コールバックまたは非同期ハードウェアで使用するID。使用しない場合はINVALID_DEVID-2に設定します。
_Example_
\code
byte secret[] = { // ランダム鍵で初期化 };
byte salt[] = { // オプションのソルトで初期化 };
byte masterSecret[MAX_DIGEST_SIZE];
int ret = wc_Tls13_HKDF_Extract_ex(secret, salt, sizeof(salt), 0,
masterSecret, sizeof(masterSecret), WC_SHA512, NULL, INVALID_DEVID);
if ( ret != 0 ) {
// 導出鍵の生成エラー
}
\endcode
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_Tls13_HKDF_Extract
*/
int wc_Tls13_HKDF_Extract_ex(
byte* prk,
const byte* salt, word32 saltLen,
byte* ikm, word32 ikmLen, int digest,
void* heap, int devId);
/*!
\ingroup HMAC
\brief HMAC、ソルト、ラベル、および情報を使用してデータを拡張します。TLS v1.3は鍵導出のためにこの関数を定義しています。これは、ヒープヒントとデバイス識別子を追加する_exバージョンです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param okm 生成された疑似ランダム鍵 - 出力鍵材料。
\param okmLen 生成された疑似ランダム鍵の長さ - 出力鍵材料。
\param prk ソルト - 疑似ランダム鍵。
\param prkLen ソルトの長さ - 疑似ランダム鍵。
\param protocol TLSプロトコルラベル。
\param protocolLen TLSプロトコルラベルの長さ。
\param info 拡張する情報。
\param infoLen 情報の長さ。
\param digest HKDFに使用するハッシュタイプ。有効なタイプはWC_SHA256、WC_SHA384、またはWC_SHA512。
\param heap メモリに使用するヒープヒント。NULLにできます。
\param devId 暗号コールバックまたは非同期ハードウェアで使用するID。使用しない場合はINVALID_DEVID-2に設定します。
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_Tls13_HKDF_Expand_Label
\sa wc_Tls13_HKDF_Expand_Label_Alloc
*/
int wc_Tls13_HKDF_Expand_Label_ex(
byte* okm, word32 okmLen,
const byte* prk, word32 prkLen,
const byte* protocol, word32 protocolLen,
const byte* label, word32 labelLen,
const byte* info, word32 infoLen,
int digest,
void* heap, int devId);
/*!
\ingroup HMAC
\brief HMAC、ソルト、ラベル、および情報を使用してデータを拡張します。TLS v1.3は鍵導出のためにこの関数を定義しています。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param okm 生成された疑似ランダム鍵 - 出力鍵材料。
\param okmLen 生成された疑似ランダム鍵の長さ - 出力鍵材料。
\param prk ソルト - 疑似ランダム鍵。
\param prkLen ソルトの長さ - 疑似ランダム鍵。
\param protocol TLSプロトコルラベル。
\param protocolLen TLSプロトコルラベルの長さ。
\param info 拡張する情報。
\param infoLen 情報の長さ。
\param digest HKDFに使用するハッシュタイプ。有効なタイプはWC_SHA256、WC_SHA384、またはWC_SHA512。
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_Tls13_HKDF_Expand_Label_ex
\sa wc_Tls13_HKDF_Expand_Label_Alloc
*/
int wc_Tls13_HKDF_Expand_Label(
byte* okm, word32 okmLen,
const byte* prk, word32 prkLen,
const byte* protocol, word32 protocolLen,
const byte* label, word32 labelLen,
const byte* info, word32 infoLen,
int digest);
/*!
\ingroup HMAC
\brief この関数はwc_Tls13_HKDF_Expand_Label()と非常に似ていますが、通常使用されるスタックスペースが十分でない場合にメモリを割り当てます。HMAC、ソルト、ラベル、および情報を使用してデータを拡張します。TLS v1.3は鍵導出のためにこの関数を定義しています。これは、ヒープヒントとデバイス識別子を追加する_exバージョンです。
\return 0 指定された入力で鍵の生成に成功した場合に返されます。
\return BAD_FUNC_ARG 無効なハッシュタイプが指定された場合に返されますtypeパラメータを参照
\return MEMORY_E メモリ割り当てエラーがある場合に返されます。
\return HMAC_MIN_KEYLEN_E FIPS実装を使用していて、指定された鍵の長さが最小許容FIPS標準より短い場合に返される可能性があります。
\param okm 生成された疑似ランダム鍵 - 出力鍵材料。
\param okmLen 生成された疑似ランダム鍵の長さ - 出力鍵材料。
\param prk ソルト - 疑似ランダム鍵。
\param prkLen ソルトの長さ - 疑似ランダム鍵。
\param protocol TLSプロトコルラベル。
\param protocolLen TLSプロトコルラベルの長さ。
\param info 拡張する情報。
\param infoLen 情報の長さ。
\param digest HKDFに使用するハッシュタイプ。有効なタイプはWC_SHA256、WC_SHA384、またはWC_SHA512。
\param heap メモリに使用するヒープヒント。NULLにできます。
\sa wc_HKDF
\sa wc_HKDF_Extract
\sa wc_HKDF_Extract_ex
\sa wc_HKDF_Expand
\sa wc_Tls13_HKDF_Expand_Label
\sa wc_Tls13_HKDF_Expand_Label_ex
*/
int wc_Tls13_HKDF_Expand_Label_Alloc(
byte* okm, word32 okmLen,
const byte* prk, word32 prkLen,
const byte* protocol, word32 protocolLen,
const byte* label, word32 labelLen,
const byte* info, word32 infoLen,
int digest, void* heap);