diff options
Diffstat (limited to '')
| -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; |
