summaryrefslogtreecommitdiff
path: root/src/lib/libssl/tls13_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/tls13_internal.h')
-rw-r--r--src/lib/libssl/tls13_internal.h24
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);
53typedef void (*tls13_handshake_message_cb)(void *_cb_arg, CBS *_cbs); 53typedef void (*tls13_handshake_message_cb)(void *_cb_arg, CBS *_cbs);
54 54
55/*
56 * Buffers.
57 */
55struct tls13_buffer; 58struct tls13_buffer;
56 59
57struct tls13_buffer *tls13_buffer_new(size_t init_size); 60struct tls13_buffer *tls13_buffer_new(size_t init_size);
@@ -63,6 +66,9 @@ void tls13_buffer_cbs(struct tls13_buffer *buf, CBS *cbs);
63int tls13_buffer_finish(struct tls13_buffer *buf, uint8_t **out, 66int 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 */
66struct tls13_secret { 72struct 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);
113int tls13_update_server_traffic_secret(struct tls13_secrets *secrets); 119int tls13_update_server_traffic_secret(struct tls13_secrets *secrets);
114 120
115/* 121/*
122 * Key shares.
123 */
124struct tls13_key_share;
125
126struct tls13_key_share *tls13_key_share_new(int nid);
127void tls13_key_share_free(struct tls13_key_share *ks);
128
129uint16_t tls13_key_share_group(struct tls13_key_share *ks);
130int tls13_key_share_generate(struct tls13_key_share *ks);
131int tls13_key_share_public(struct tls13_key_share *ks, CBB *cbb);
132int tls13_key_share_peer_public(struct tls13_key_share *ks, uint16_t group,
133 CBS *cbs);
134int 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 */
118struct tls13_record_layer; 140struct tls13_record_layer;