blob: 7fd4f901309af0b65f35a1f4515e37553020881f [file] [edit]
/*
* Copyright 2025 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the \"License\"). You may not use
* this file except in compliance with the License. You can obtain a copy
* in the file LICENSE in the source distribution or at
* https://www.openssl.org/source/license.html
*/
{-
use OpenSSL::paramnames qw(produce_param_decoder);
-}
{- our @HKDF_COMMON_SET_CTX_PARAMS = (
['OSSL_KDF_PARAM_MODE', 'mode', 'utf8_string'],
['OSSL_KDF_PARAM_MODE', 'mode', 'int'],
['OSSL_KDF_PARAM_KEY', 'key', 'octet_string'],
['OSSL_KDF_PARAM_SALT', 'salt', 'octet_string'],
);
our @HKDF_DIGEST_SET_CTX_PARAMS = (
['OSSL_KDF_PARAM_PROPERTIES', 'propq', 'utf8_string'],
['OSSL_KDF_PARAM_DIGEST', 'digest', 'utf8_string'],
);
our @HKDF_INFO_SET_CTX_PARAMS = (
['OSSL_KDF_PARAM_INFO', 'info', 'octet_string', HKDF_MAX_INFOS],
);
produce_param_decoder('hkdf_set_ctx_params',
(@HKDF_COMMON_SET_CTX_PARAMS,
@HKDF_DIGEST_SET_CTX_PARAMS,
@HKDF_INFO_SET_CTX_PARAMS,
['OSSL_KDF_PARAM_FIPS_KEY_CHECK', 'ind_k', 'int', 'fips'],
)); -}
{- produce_param_decoder('hkdf_get_ctx_params',
(['OSSL_KDF_PARAM_SIZE', 'size', 'size_t'],
['OSSL_KDF_PARAM_DIGEST', 'digest', 'utf8_string'],
['OSSL_KDF_PARAM_MODE', 'mode', 'utf8_string'],
['OSSL_KDF_PARAM_MODE', 'mode', 'int'],
['OSSL_KDF_PARAM_SALT', 'salt', 'octet_string'],
['OSSL_KDF_PARAM_INFO', 'info', 'octet_string'],
['OSSL_KDF_PARAM_FIPS_APPROVED_INDICATOR', 'ind', 'int', 'fips'],
)); -}
{- produce_param_decoder('hkdf_fixed_digest_set_ctx_params',
(@HKDF_COMMON_SET_CTX_PARAMS,
@HKDF_INFO_SET_CTX_PARAMS,
['OSSL_KDF_PARAM_FIPS_KEY_CHECK', 'ind_k', 'int', 'fips'],
['OSSL_KDF_PARAM_DIGEST', 'invalid param'],
)); -}
{- produce_param_decoder('kdf_tls1_3_set_ctx_params',
(@HKDF_COMMON_SET_CTX_PARAMS,
@HKDF_DIGEST_SET_CTX_PARAMS,
['OSSL_KDF_PARAM_FIPS_KEY_CHECK', 'ind_k', 'int', 'fips'],
['OSSL_KDF_PARAM_FIPS_DIGEST_CHECK', 'ind_d', 'int', 'fips'],
['OSSL_KDF_PARAM_PREFIX', 'prefix', 'octet_string'],
['OSSL_KDF_PARAM_LABEL', 'label', 'octet_string'],
['OSSL_KDF_PARAM_DATA', 'data', 'octet_string'],
)); -}