diff options
author | jsing <> | 2021-06-27 18:15:35 +0000 |
---|---|---|
committer | jsing <> | 2021-06-27 18:15:35 +0000 |
commit | b109677d03c0eb1062f19ab300b485b90c0c2ad7 (patch) | |
tree | 42013562216a12affa5986c4c490d1a5738f1bee /src/lib/libssl/ssl_sigalgs.h | |
parent | ca8c2e09b0f4c1b2fe04fdd1a80b941378a2290f (diff) | |
download | openbsd-b109677d03c0eb1062f19ab300b485b90c0c2ad7.tar.gz openbsd-b109677d03c0eb1062f19ab300b485b90c0c2ad7.tar.bz2 openbsd-b109677d03c0eb1062f19ab300b485b90c0c2ad7.zip |
Change ssl_sigalgs_from_value() to perform sigalg list selection.
Rather that passing in a sigalg list at every call site, pass in the
appropriate TLS version and have ssl_sigalgs_from_value() perform the
sigalg list selection itself. This allows the sigalg lists to be made
internal to the sigalgs code.
ok tb@
Diffstat (limited to 'src/lib/libssl/ssl_sigalgs.h')
-rw-r--r-- | src/lib/libssl/ssl_sigalgs.h | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/lib/libssl/ssl_sigalgs.h b/src/lib/libssl/ssl_sigalgs.h index 64cf0bb73b..c91e66a5a9 100644 --- a/src/lib/libssl/ssl_sigalgs.h +++ b/src/lib/libssl/ssl_sigalgs.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ssl_sigalgs.h,v 1.19 2021/06/27 18:09:07 jsing Exp $ */ | 1 | /* $OpenBSD: ssl_sigalgs.h,v 1.20 2021/06/27 18:15:35 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018-2019 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018-2019 Bob Beck <beck@openbsd.org> |
4 | * | 4 | * |
@@ -55,7 +55,7 @@ __BEGIN_HIDDEN_DECLS | |||
55 | #define SIGALG_GOSTR12_256_STREEBOG_256 0xEEEE | 55 | #define SIGALG_GOSTR12_256_STREEBOG_256 0xEEEE |
56 | #define SIGALG_GOSTR01_GOST94 0xEDED | 56 | #define SIGALG_GOSTR01_GOST94 0xEDED |
57 | 57 | ||
58 | /* Legacy sigalg for < 1.2 same value as boring uses*/ | 58 | /* Legacy sigalg for < TLSv1.2 same value as BoringSSL uses. */ |
59 | #define SIGALG_RSA_PKCS1_MD5_SHA1 0xFF01 | 59 | #define SIGALG_RSA_PKCS1_MD5_SHA1 0xFF01 |
60 | 60 | ||
61 | #define SIGALG_FLAG_RSA_PSS 0x00000001 | 61 | #define SIGALG_FLAG_RSA_PSS 0x00000001 |
@@ -68,16 +68,10 @@ struct ssl_sigalg { | |||
68 | int flags; | 68 | int flags; |
69 | }; | 69 | }; |
70 | 70 | ||
71 | extern const uint16_t tls12_sigalgs[]; | ||
72 | extern const size_t tls12_sigalgs_len; | ||
73 | extern const uint16_t tls13_sigalgs[]; | ||
74 | extern const size_t tls13_sigalgs_len; | ||
75 | |||
76 | const struct ssl_sigalg *ssl_sigalg_lookup(uint16_t sigalg); | 71 | const struct ssl_sigalg *ssl_sigalg_lookup(uint16_t sigalg); |
77 | const struct ssl_sigalg *ssl_sigalg_from_value(uint16_t sigalg, | 72 | const struct ssl_sigalg *ssl_sigalg_from_value(uint16_t tls_version, |
78 | const uint16_t *values, size_t len); | 73 | uint16_t value); |
79 | int ssl_sigalgs_build(uint16_t tls_version, CBB *cbb); | 74 | int ssl_sigalgs_build(uint16_t tls_version, CBB *cbb); |
80 | int ssl_sigalg_pkey_check(uint16_t sigalg, EVP_PKEY *pk); | ||
81 | int ssl_sigalg_pkey_ok(const struct ssl_sigalg *sigalg, EVP_PKEY *pkey, | 75 | int ssl_sigalg_pkey_ok(const struct ssl_sigalg *sigalg, EVP_PKEY *pkey, |
82 | int check_curve); | 76 | int check_curve); |
83 | const struct ssl_sigalg *ssl_sigalg_select(SSL *s, EVP_PKEY *pkey); | 77 | const struct ssl_sigalg *ssl_sigalg_select(SSL *s, EVP_PKEY *pkey); |