diff options
author | Matt Caswell <matt@openssl.org> | 2017-01-12 15:28:48 +0000 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2017-01-30 10:17:49 +0000 |
commit | b2f7e8c0fe2f4e8d3d14fa30805211daa5456ffa (patch) | |
tree | 5b88b15b5004c12398da368ee677ea7db85b01f2 /ssl/ssl_locl.h | |
parent | cc2455bfa8cb4d62792dee533e9262f470e78e72 (diff) | |
download | openssl-b2f7e8c0fe2f4e8d3d14fa30805211daa5456ffa.tar.gz |
Add support for the psk_key_exchange_modes extension
This is required for the later addition of resumption support.
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2259)
Diffstat (limited to 'ssl/ssl_locl.h')
-rw-r--r-- | ssl/ssl_locl.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index ef525fe6e1..17b377f507 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -1105,6 +1105,9 @@ struct ssl_st { */ unsigned char *npn; size_t npn_len; + + /* The selected PSK key exchange mode */ + int psk_kex_mode; } ext; /*- @@ -1680,6 +1683,7 @@ typedef enum tlsext_index_en { TLSEXT_IDX_signed_certificate_timestamp, TLSEXT_IDX_extended_master_secret, TLSEXT_IDX_supported_versions, + TLSEXT_IDX_psk_kex_modes, TLSEXT_IDX_key_share, TLSEXT_IDX_cryptopro_bug, TLSEXT_IDX_padding @@ -1711,6 +1715,17 @@ typedef enum tlsext_index_en { #define TLSEXT_SIGALG_gostr34102012_512_gostr34112012_512 0xefef #define TLSEXT_SIGALG_gostr34102001_gostr3411 0xeded +/* Known PSK key exchange modes */ +#define TLSEXT_KEX_MODE_KE 0x00 +#define TLSEXT_KEX_MODE_KE_DHE 0x01 + +/* + * Internal representations of key exchange modes + */ +#define TLSEXT_KEX_MODE_FLAG_NONE 0 +#define TLSEXT_KEX_MODE_FLAG_KE 1 +#define TLSEXT_KEX_MODE_FLAG_KE_DHE 2 + #define SIGID_IS_PSS(sigid) ((sigid) == TLSEXT_SIGALG_rsa_pss_sha256 \ || (sigid) == TLSEXT_SIGALG_rsa_pss_sha384 \ || (sigid) == TLSEXT_SIGALG_rsa_pss_sha512) |