diff options
Diffstat (limited to 'src/lib/libssl/tls13_internal.h')
-rw-r--r-- | src/lib/libssl/tls13_internal.h | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/src/lib/libssl/tls13_internal.h b/src/lib/libssl/tls13_internal.h index ec58525c2b..00035ea36e 100644 --- a/src/lib/libssl/tls13_internal.h +++ b/src/lib/libssl/tls13_internal.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_internal.h,v 1.57 2020/01/26 02:45:27 beck Exp $ */ | 1 | /* $OpenBSD: tls13_internal.h,v 1.58 2020/01/30 17:09:23 jsing Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> |
4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> | 4 | * Copyright (c) 2018 Theo Buehler <tb@openbsd.org> |
@@ -52,6 +52,9 @@ typedef ssize_t (*tls13_write_cb)(const void *_buf, size_t _buflen, | |||
52 | void *_cb_arg); | 52 | void *_cb_arg); |
53 | typedef void (*tls13_handshake_message_cb)(void *_cb_arg, CBS *_cbs); | 53 | typedef void (*tls13_handshake_message_cb)(void *_cb_arg, CBS *_cbs); |
54 | 54 | ||
55 | /* | ||
56 | * Buffers. | ||
57 | */ | ||
55 | struct tls13_buffer; | 58 | struct tls13_buffer; |
56 | 59 | ||
57 | struct tls13_buffer *tls13_buffer_new(size_t init_size); | 60 | struct tls13_buffer *tls13_buffer_new(size_t init_size); |
@@ -63,6 +66,9 @@ void tls13_buffer_cbs(struct tls13_buffer *buf, CBS *cbs); | |||
63 | int tls13_buffer_finish(struct tls13_buffer *buf, uint8_t **out, | 66 | int tls13_buffer_finish(struct tls13_buffer *buf, uint8_t **out, |
64 | size_t *out_len); | 67 | size_t *out_len); |
65 | 68 | ||
69 | /* | ||
70 | * Secrets. | ||
71 | */ | ||
66 | struct tls13_secret { | 72 | struct tls13_secret { |
67 | uint8_t *data; | 73 | uint8_t *data; |
68 | size_t len; | 74 | size_t len; |
@@ -113,6 +119,22 @@ int tls13_update_client_traffic_secret(struct tls13_secrets *secrets); | |||
113 | int tls13_update_server_traffic_secret(struct tls13_secrets *secrets); | 119 | int tls13_update_server_traffic_secret(struct tls13_secrets *secrets); |
114 | 120 | ||
115 | /* | 121 | /* |
122 | * Key shares. | ||
123 | */ | ||
124 | struct tls13_key_share; | ||
125 | |||
126 | struct tls13_key_share *tls13_key_share_new(int nid); | ||
127 | void tls13_key_share_free(struct tls13_key_share *ks); | ||
128 | |||
129 | uint16_t tls13_key_share_group(struct tls13_key_share *ks); | ||
130 | int tls13_key_share_generate(struct tls13_key_share *ks); | ||
131 | int tls13_key_share_public(struct tls13_key_share *ks, CBB *cbb); | ||
132 | int tls13_key_share_peer_public(struct tls13_key_share *ks, uint16_t group, | ||
133 | CBS *cbs); | ||
134 | int tls13_key_share_derive(struct tls13_key_share *ks, uint8_t **shared_key, | ||
135 | size_t *shared_key_len); | ||
136 | |||
137 | /* | ||
116 | * Record Layer. | 138 | * Record Layer. |
117 | */ | 139 | */ |
118 | struct tls13_record_layer; | 140 | struct tls13_record_layer; |