OSSL\_QUIC\_CLIENT\_METHOD(3ossl) OpenSSL OSSL\_QUIC\_CLIENT\_METHOD(3ossl)

# [NAME](#NAME)

OSSL\_QUIC\_client\_method, OSSL\_QUIC\_client\_thread\_method, OSSL\_QUIC\_server\_method, OSSL\_QUIC\_method - Provide SSL\_METHOD objects for QUIC enabled functions

# [SYNOPSIS](#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](#DESCRIPTION)

The **OSSL\_QUIC\_client\_method()**, **OSSL\_QUIC\_client\_thread\_method()**, and **OSSL\_QUIC\_server\_method()** functions provide methods for the [**SSL\_CTX\_new\_ex**(3)](/man/os/openssl-4.0/SSL_CTX_new_ex.3) function to provide QUIC protocol support.

The **OSSL\_QUIC\_client\_thread\_method()** uses threads to allow for a blocking mode of operation and avoid the need to return control to the OpenSSL library for processing time based events. The **OSSL\_QUIC\_client\_method()** does not use threads and depends on nonblocking mode of operation and the application periodically calling SSL functions.

The **OSSL\_QUIC\_server\_method()** provides server-side QUIC protocol support and must be used with the [**SSL\_new\_listener**(3)](/man/os/openssl-4.0/SSL_new_listener.3) API. Attempting to use **OSSL\_QUIC\_server\_method()** with [**SSL\_new**(3)](/man/os/openssl-4.0/SSL_new.3) will result in an error.

The **OSSL\_QUIC\_method()** provides generic QUIC protocol support 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)](/man/os/openssl-4.0/DTLS_method.3), and can be used with the **SSL\_listen\_ex()** call, which behaves similarly to [**DTLSv1\_listen**(3)](/man/os/openssl-4.0/DTLSv1_listen.3).

# [RETURN VALUES](#RETURN_VALUES)

These functions return pointers to the constant method objects.

# [SEE ALSO](#SEE_ALSO)

[**SSL\_CTX\_new\_ex**(3)](/man/os/openssl-4.0/SSL_CTX_new_ex.3), [**SSL\_new\_listener**(3)](/man/os/openssl-4.0/SSL_new_listener.3), [**SSL\_listen\_ex**(3)](/man/os/openssl-4.0/SSL_listen_ex.3)

# [HISTORY](#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.

# [COPYRIGHT](#COPYRIGHT)

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 &lt;https://www.openssl.org/source/license.html&gt;.

2026-09-29 4.0.3

---

Document: OSSL_QUIC_server_method(3ossl) from openssl-4.0 4.0.3-r8 (Chainguard OS)
