OSSL_QUIC_CLIENT_METHOD(3SSL)

✨ OSSL_QUIC_CLIENT_METHOD ✨

okay so bestie, welcome to the OSSL_QUIC_client_method page β€” that's the one in the 3SSL manual, and it's literally the glow-up your QUIC setup has been waiting for πŸ’…


🌈 NAME

OSSL_QUIC_client_method, OSSL_QUIC_client_thread_method, OSSL_QUIC_server_method, OSSL_QUIC_method β€” these four icons hand you SSL_METHOD objects for the QUIC-enabled functions. yes ma'am, QUIC support, served fresh πŸ‘‘


πŸŽ€ SYNOPSIS

#include <openssl/quic.h>

const SSL_METHOD *OSSL_QUIC_client_method(void);
const SSL_METHOD *OSSL_QUIC_client_thread_method(void);
const SSL_METHOD *OSSL_QUIC_server_method(void);
const SSL_METHOD *OSSL_QUIC_method(void);

πŸ’– DESCRIPTION

so here's the tea, bestie πŸ“. The functions OSSL_QUIC_client_method(), OSSL_QUIC_client_thread_method(), and OSSL_QUIC_server_method() provide methods for the SSL_CTX_new_ex(3) function, and what they do is give you actual QUIC protocol support. iconic behavior fr fr ✨

Now the difference between the two client ones β€” because yes, there are two, and no, they are not the same, we do not merge them:

  • OSSL_QUIC_client_thread_method() uses threads to allow for a blocking mode of operation, and it avoids the need to return control to the OpenSSL library for processing time based events. it just handles it, no cap 🧡
  • OSSL_QUIC_client_method() does not use threads, so it depends on nonblocking mode of operation and on the application periodically calling SSL functions. you're driving stick with this one πŸš—πŸ’¨

Then we have the server side:

  • OSSL_QUIC_server_method() provides server-side QUIC protocol support, and it must be used with the SSL_new_listener(3) API.
bestie, listen to me on this one 😭: attempting to use OSSL_QUIC_server_method() with SSL_new(3) will result in an error. it's giving "wrong door, wrong party." don't do it.

And finally, the flexible one:

  • OSSL_QUIC_method() provides generic QUIC protocol support, for when a user wishes to defer selection of server or client protocol functionality until such time as a connection is made. this is similar to the functionality provided by DTLS_method(3), and it can be used with the SSL_listen_ex() call, which behaves similarly to DTLSv1_listen(3). main character energy: decides later, slays always πŸ’œ

πŸ‘‘ RETURN VALUES

These functions return pointers to the constant method objects. that's it, that's the whole vibe ✨


πŸ¦‹ SEE ALSO

SSL_CTX_new_ex(3), SSL_new_listener(3), SSL_listen_ex(3)

go read those too, bestie, iykyk 🫢


⭐ HISTORY

  • OSSL_QUIC_client_method() and OSSL_QUIC_client_thread_method() were added in OpenSSL 3.2.
  • OSSL_QUIC_server_method() was added in OpenSSL 3.5.
  • OSSL_QUIC_method() was added in OpenSSL 4.0.

look at them growing up, our little QUIC methods πŸŒ±πŸ’–


Copyright 2022-2025 The OpenSSL Project Authors. All Rights Reserved.

Licensed under the Apache License 2.0 (the "License"). You may not use this file except in compliance with the License. You can obtain a copy in the file LICENSE in the source distribution or at <https://www.openssl.org/source/license.html>.


okay that's the whole page, you ate it, periodt πŸ’…βœ¨

version 4.0.3, dated 2026-09-29, from the OSSL_QUIC_CLIENT_METHOD(3SSL) manual β€” byeeee, go build something slay πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from