@ -494,8 +494,72 @@ static const ST_KAT_PARAM kbkdf_params[] = {
ST_KAT_PARAM_END ( )
} ;
static const char tls13_kdf_digest [ ] = "SHA256" ;
static int tls13_kdf_extract_mode = EVP_KDF_HKDF_MODE_EXTRACT_ONLY ;
static int tls13_kdf_expand_mode = EVP_KDF_HKDF_MODE_EXPAND_ONLY ;
static const unsigned char tls13_kdf_prefix [ ] = {
0 x74 , 0 x6C , 0 x73 , 0 x31 , 0 x33 , 0 x20 /* "tls13 " */
} ;
static const unsigned char tls13_kdf_client_early_secret_label [ ] = {
0 x63 , 0 x20 , 0 x65 , 0 x20 , 0 x74 , 0 x72 , 0 x61 , 0 x66 ,
0 x66 , 0 x69 , 0 x63 /* "c e traffic"*/
} ;
static const unsigned char tls13_kdf_psk [ ] = {
0 xF8 , 0 xAF , 0 x6A , 0 xEA , 0 x2D , 0 x39 , 0 x7B , 0 xAF ,
0 x29 , 0 x48 , 0 xA2 , 0 x5B , 0 x28 , 0 x34 , 0 x20 , 0 x06 ,
0 x92 , 0 xCF , 0 xF1 , 0 x7E , 0 xEE , 0 x91 , 0 x65 , 0 xE4 ,
0 xE2 , 0 x7B , 0 xAB , 0 xEE , 0 x9E , 0 xDE , 0 xFD , 0 x05
} ;
static const unsigned char tls13_kdf_client_hello_hash [ ] = {
0 x7c , 0 x92 , 0 xf6 , 0 x8b , 0 xd5 , 0 xbf , 0 x36 , 0 x38 ,
0 xea , 0 x33 , 0 x8a , 0 x64 , 0 x94 , 0 x72 , 0 x2e , 0 x1b ,
0 x44 , 0 x12 , 0 x7e , 0 x1b , 0 x7e , 0 x8a , 0 xad , 0 x53 ,
0 x5f , 0 x23 , 0 x22 , 0 xa6 , 0 x44 , 0 xff , 0 x22 , 0 xb3
} ;
static const unsigned char tls13_kdf_early_secret [ ] = {
0 x15 , 0 x3B , 0 x63 , 0 x94 , 0 xA9 , 0 xC0 , 0 x3C , 0 xF3 ,
0 xF5 , 0 xAC , 0 xCC , 0 x6E , 0 x45 , 0 x5A , 0 x76 , 0 x93 ,
0 x28 , 0 x11 , 0 x38 , 0 xA1 , 0 xBC , 0 xFA , 0 x38 , 0 x03 ,
0 xC2 , 0 x67 , 0 x35 , 0 xDD , 0 x11 , 0 x94 , 0 xD2 , 0 x16
} ;
static const unsigned char tls13_kdf_client_early_traffic_secret [ ] = {
0 xC8 , 0 x05 , 0 x83 , 0 xA9 , 0 x0E , 0 x99 , 0 x5C , 0 x48 ,
0 x96 , 0 x00 , 0 x49 , 0 x2A , 0 x5D , 0 xA6 , 0 x42 , 0 xE6 ,
0 xB1 , 0 xF6 , 0 x79 , 0 xBA , 0 x67 , 0 x48 , 0 x28 , 0 x79 ,
0 x2D , 0 xF0 , 0 x87 , 0 xB9 , 0 x39 , 0 x63 , 0 x61 , 0 x71
} ;
static const ST_KAT_PARAM tls13_kdf_early_secret_params [ ] = {
ST_KAT_PARAM_INT ( OSSL_KDF_PARAM_MODE , tls13_kdf_extract_mode ) ,
ST_KAT_PARAM_UTF8STRING ( OSSL_KDF_PARAM_DIGEST , tls13_kdf_digest ) ,
ST_KAT_PARAM_OCTET ( OSSL_KDF_PARAM_KEY , tls13_kdf_psk ) ,
ST_KAT_PARAM_END ( )
} ;
static const ST_KAT_PARAM tls13_kdf_client_early_secret_params [ ] = {
ST_KAT_PARAM_INT ( OSSL_KDF_PARAM_MODE , tls13_kdf_expand_mode ) ,
ST_KAT_PARAM_UTF8STRING ( OSSL_KDF_PARAM_DIGEST , tls13_kdf_digest ) ,
ST_KAT_PARAM_OCTET ( OSSL_KDF_PARAM_KEY , tls13_kdf_early_secret ) ,
ST_KAT_PARAM_OCTET ( OSSL_KDF_PARAM_DATA , tls13_kdf_client_hello_hash ) ,
ST_KAT_PARAM_OCTET ( OSSL_KDF_PARAM_PREFIX , tls13_kdf_prefix ) ,
ST_KAT_PARAM_OCTET ( OSSL_KDF_PARAM_LABEL ,
tls13_kdf_client_early_secret_label ) ,
ST_KAT_PARAM_END ( )
} ;
static const ST_KAT_KDF st_kat_kdf_tests [ ] =
{
{
OSSL_SELF_TEST_DESC_KDF_TLS13_EXTRACT ,
OSSL_KDF_NAME_TLS1_3_KDF ,
tls13_kdf_early_secret_params ,
ITM ( tls13_kdf_early_secret )
} ,
{
OSSL_SELF_TEST_DESC_KDF_TLS13_EXPAND ,
OSSL_KDF_NAME_TLS1_3_KDF ,
tls13_kdf_client_early_secret_params ,
ITM ( tls13_kdf_client_early_traffic_secret )
} ,
{
OSSL_SELF_TEST_DESC_KDF_TLS12_PRF ,
OSSL_KDF_NAME_TLS1_PRF ,