summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2024-07-09 16:20:17 +0000
committertb <>2024-07-09 16:20:17 +0000
commit10b1fa6f30a06c3faf9686a97b5ee5a9712b4069 (patch)
tree2513d1b499041da81e62fd3e7852d66c322a978e
parentcdffb2b4192b842aaed132678fea681a1a360716 (diff)
downloadopenbsd-10b1fa6f30a06c3faf9686a97b5ee5a9712b4069.tar.gz
openbsd-10b1fa6f30a06c3faf9686a97b5ee5a9712b4069.tar.bz2
openbsd-10b1fa6f30a06c3faf9686a97b5ee5a9712b4069.zip
Add various defines for TLS1-PRF
ok jsing
-rw-r--r--src/lib/libcrypto/kdf/kdf.h28
-rw-r--r--src/lib/libcrypto/kdf/kdf_err.c10
2 files changed, 36 insertions, 2 deletions
diff --git a/src/lib/libcrypto/kdf/kdf.h b/src/lib/libcrypto/kdf/kdf.h
index f823bf99e2..578949cb5c 100644
--- a/src/lib/libcrypto/kdf/kdf.h
+++ b/src/lib/libcrypto/kdf/kdf.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: kdf.h,v 1.8 2022/07/12 14:42:49 kn Exp $ */ 1/* $OpenBSD: kdf.h,v 1.9 2024/07/09 16:20:17 tb Exp $ */
2/* 2/*
3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 3 * Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
4 * project. 4 * project.
@@ -59,6 +59,10 @@
59extern "C" { 59extern "C" {
60#endif 60#endif
61 61
62# define EVP_PKEY_CTRL_TLS_MD (EVP_PKEY_ALG_CTRL + 0)
63# define EVP_PKEY_CTRL_TLS_SECRET (EVP_PKEY_ALG_CTRL + 1)
64# define EVP_PKEY_CTRL_TLS_SEED (EVP_PKEY_ALG_CTRL + 2)
65
62# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3) 66# define EVP_PKEY_CTRL_HKDF_MD (EVP_PKEY_ALG_CTRL + 3)
63# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4) 67# define EVP_PKEY_CTRL_HKDF_SALT (EVP_PKEY_ALG_CTRL + 4)
64# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5) 68# define EVP_PKEY_CTRL_HKDF_KEY (EVP_PKEY_ALG_CTRL + 5)
@@ -69,6 +73,20 @@ extern "C" {
69# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1 73# define EVP_PKEY_HKDEF_MODE_EXTRACT_ONLY 1
70# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2 74# define EVP_PKEY_HKDEF_MODE_EXPAND_ONLY 2
71 75
76
77# define EVP_PKEY_CTX_set_tls1_prf_md(pctx, md) \
78 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \
79 EVP_PKEY_CTRL_TLS_MD, 0, (void *)(md))
80
81# define EVP_PKEY_CTX_set1_tls1_prf_secret(pctx, sec, seclen) \
82 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \
83 EVP_PKEY_CTRL_TLS_SECRET, seclen, (void *)(sec))
84
85# define EVP_PKEY_CTX_add1_tls1_prf_seed(pctx, seed, seedlen) \
86 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \
87 EVP_PKEY_CTRL_TLS_SEED, seedlen, (void *)(seed))
88
89
72# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \ 90# define EVP_PKEY_CTX_set_hkdf_md(pctx, md) \
73 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \ 91 EVP_PKEY_CTX_ctrl(pctx, -1, EVP_PKEY_OP_DERIVE, \
74 EVP_PKEY_CTRL_HKDF_MD, 0, (void *)(md)) 92 EVP_PKEY_CTRL_HKDF_MD, 0, (void *)(md))
@@ -97,13 +115,21 @@ int ERR_load_KDF_strings(void);
97# define KDF_F_PKEY_HKDF_CTRL_STR 103 115# define KDF_F_PKEY_HKDF_CTRL_STR 103
98# define KDF_F_PKEY_HKDF_DERIVE 102 116# define KDF_F_PKEY_HKDF_DERIVE 102
99# define KDF_F_PKEY_HKDF_INIT 108 117# define KDF_F_PKEY_HKDF_INIT 108
118# define KDF_F_PKEY_TLS1_PRF_CTRL_STR 100
119# define KDF_F_PKEY_TLS1_PRF_DERIVE 101
120# define KDF_F_PKEY_TLS1_PRF_INIT 110
121# define KDF_F_TLS1_PRF_ALG 111
100 122
101/* 123/*
102 * KDF reason codes. 124 * KDF reason codes.
103 */ 125 */
126# define KDF_R_INVALID_DIGEST 100
104# define KDF_R_MISSING_KEY 104 127# define KDF_R_MISSING_KEY 104
105# define KDF_R_MISSING_MESSAGE_DIGEST 105 128# define KDF_R_MISSING_MESSAGE_DIGEST 105
129# define KDF_R_MISSING_SECRET 107
130# define KDF_R_MISSING_SEED 106
106# define KDF_R_UNKNOWN_PARAMETER_TYPE 103 131# define KDF_R_UNKNOWN_PARAMETER_TYPE 103
132# define KDF_R_VALUE_MISSING 102
107 133
108# ifdef __cplusplus 134# ifdef __cplusplus
109} 135}
diff --git a/src/lib/libcrypto/kdf/kdf_err.c b/src/lib/libcrypto/kdf/kdf_err.c
index fc38e08136..f0dfd21272 100644
--- a/src/lib/libcrypto/kdf/kdf_err.c
+++ b/src/lib/libcrypto/kdf/kdf_err.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: kdf_err.c,v 1.10 2024/06/24 06:43:22 tb Exp $ */ 1/* $OpenBSD: kdf_err.c,v 1.11 2024/07/09 16:20:17 tb Exp $ */
2/* ==================================================================== 2/* ====================================================================
3 * Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved. 3 * Copyright (c) 1999-2018 The OpenSSL Project. All rights reserved.
4 * 4 *
@@ -64,15 +64,23 @@ static const ERR_STRING_DATA KDF_str_functs[] = {
64 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_CTRL_STR, 0), "pkey_hkdf_ctrl_str"}, 64 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_CTRL_STR, 0), "pkey_hkdf_ctrl_str"},
65 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_DERIVE, 0), "pkey_hkdf_derive"}, 65 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_DERIVE, 0), "pkey_hkdf_derive"},
66 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_INIT, 0), "pkey_hkdf_init"}, 66 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_HKDF_INIT, 0), "pkey_hkdf_init"},
67 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_TLS1_PRF_CTRL_STR, 0), "pkey_tls1_prf_ctrl_str"},
68 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_TLS1_PRF_DERIVE, 0), "pkey_tls1_prf_derive"},
69 {ERR_PACK(ERR_LIB_KDF, KDF_F_PKEY_TLS1_PRF_INIT, 0), "pkey_tls1_prf_init"},
70 {ERR_PACK(ERR_LIB_KDF, KDF_F_TLS1_PRF_ALG, 0), "pkey_tls1_prf_alg"},
67 {0, NULL}, 71 {0, NULL},
68}; 72};
69 73
70static const ERR_STRING_DATA KDF_str_reasons[] = { 74static const ERR_STRING_DATA KDF_str_reasons[] = {
75 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_INVALID_DIGEST), "invalid digest"},
71 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_KEY), "missing key"}, 76 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_KEY), "missing key"},
72 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_MESSAGE_DIGEST), 77 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_MESSAGE_DIGEST),
73 "missing message digest"}, 78 "missing message digest"},
79 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SECRET), "missing secret"},
80 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_MISSING_SEED), "missing seed"},
74 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_UNKNOWN_PARAMETER_TYPE), 81 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_UNKNOWN_PARAMETER_TYPE),
75 "unknown parameter type"}, 82 "unknown parameter type"},
83 {ERR_PACK(ERR_LIB_KDF, 0, KDF_R_VALUE_MISSING), "value missing"},
76 {0, NULL}, 84 {0, NULL},
77}; 85};
78 86