Lines Matching full:extension
147 \&\- custom TLS extension handling
210 \&\fBSSL_CTX_add_custom_ext()\fR adds a custom extension for a \s-1TLS/DTLS\s0 client or server
211 for all supported protocol versions with extension type \fBext_type\fR and
213 \&\*(L"\s-1EXTENSION CALLBACKS\*(R"\s0 section below). The \fBcontext\fR value determines
214 which messages and under what conditions the extension will be added/parsed (see
215 the \*(L"\s-1EXTENSION CONTEXTS\*(R"\s0 section below).
217 \&\fBSSL_CTX_add_client_custom_ext()\fR adds a custom extension for a \s-1TLS/DTLS\s0 client
218 with extension type \fBext_type\fR and callbacks \fBadd_cb\fR, \fBfree_cb\fR and
228 \&\fBSSL_CTX_add_server_custom_ext()\fR adds a custom extension for a \s-1TLS/DTLS\s0 server
229 with extension type \fBext_type\fR and callbacks \fBadd_cb\fR, \fBfree_cb\fR and
235 \&\s-1RFC5246\s0 et al. It is \fBnot\fR a \s-1NID.\s0 In all cases the extension type must not be
238 \&\fBSSL_extension_supported()\fR returns 1 if the extension \fBext_type\fR is handled
240 .SH "EXTENSION CALLBACKS"
241 .IX Header "EXTENSION CALLBACKS"
242 The callback \fBadd_cb\fR is called to send custom extension data to be
244 extension type which will be added and \fBadd_arg\fR to the value set when the
245 extension handler was added. When using the new style callbacks the \fBcontext\fR
249 If the application wishes to include the extension \fBext_type\fR it should
250 set \fB*out\fR to the extension data, set \fB*outlen\fR to the length of the
251 extension data and return 1.
253 If the \fBadd_cb\fR does not wish to include the extension it must return 0.
259 extension is added for \fBext_type\fR. For all other messages if \fBadd_cb\fR is set
260 to \s-1NULL\s0 then no extension is added.
271 extension (as long as all requirements of the specified \fBcontext\fR are met).
275 met and the corresponding extension was received in the ClientHello. That is, if
276 no corresponding extension was received in the ClientHello then \fBadd_cb\fR will
279 If an extension is added (that is \fBadd_cb\fR returns 1) \fBfree_cb\fR is called
281 used to free up any dynamic extension data set by \fBadd_cb\fR. Since \fBout\fR is
286 called if the extension is present and relevant for the context (see
287 \&\*(L"\s-1EXTENSION CONTEXTS\*(R"\s0 below).
289 The extension data consists of \fBinlen\fR bytes in the buffer \fBin\fR for the
290 extension \fBext_type\fR.
299 If the \fBparse_cb\fR considers the extension data acceptable it must return
305 .SH "EXTENSION CONTEXTS"
306 .IX Header "EXTENSION CONTEXTS"
307 An extension context defines which messages and under which conditions an
308 extension should be added or expected. The context is built up by performing
313 The extension is only allowed in \s-1TLS\s0
316 The extension is only allowed in \s-1DTLS\s0
319 The extension is allowed in \s-1DTLS,\s0 but there is only a \s-1TLS\s0 implementation
324 the extension in SSLv3. Applications will not typically need to use this.
327 The extension is only defined for TLSv1.2/DTLSv1.2 and below. Servers will
328 ignore this extension if it is present in the ClientHello and TLSv1.3 is
332 The extension is only defined for \s-1TLS1.3\s0 and above. Servers will ignore this
333 extension if it is present in the ClientHello and TLSv1.2 or below is
337 The extension will be ignored during parsing if a previous session is being
341 The extension may be present in the ClientHello message.
344 The extension may be present in a TLSv1.2 or below compatible ServerHello
348 The extension may be present in a TLSv1.3 compatible ServerHello message.
351 The extension may be present in an EncryptedExtensions message.
354 The extension may be present in a HelloRetryRequest message.
357 The extension may be present in a TLSv1.3 compatible Certificate message.
360 The extension may be present in a TLSv1.3 compatible NewSessionTicket message.
363 The extension may be present in a TLSv1.3 compatible CertificateRequest message.
365 The context must include at least one message value (otherwise the extension
371 be used to store the extension data received in a convenient structure or
372 pass the extension data to be added or freed when adding extensions.
374 If the same custom extension type is received multiple times a fatal
375 \&\fBdecode_error\fR alert is sent and the handshake aborts. If a custom extension
379 only called if the corresponding extension was received in the ClientHello. This
388 once, if an attempt is made to use an extension type handled internally by
392 \&\fBSSL_extension_supported()\fR returns 1 if the extension \fBext_type\fR is handled