---
name: "mongoc_ssl_opt_t"
section: "3"
platform: "linux"
package: "libmongoc-doc"
version: "1.30.4-1+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mongoc_ssl_opt_t"
---

# mongoc\_ssl\_opt\_t(3)

## SYNOPSIS

```
typedef struct {
   const char *pem_file;
   const char *pem_pwd;
   const char *ca_file;
   const char *ca_dir;
   const char *crl_file;
   bool weak_cert_validation;
   bool allow_invalid_hostname;
   void *internal;
   void *padding[6];
} mongoc_ssl_opt_t;
```

**NOTE:**

Though some API names include the term "ssl", the C driver only support TLS protocols, which supersede SSL.

## DESCRIPTION

This structure is used to set the TLS options for a *mongoc\_client\_t* or *mongoc\_client\_pool\_t*.

Beginning in version 1.2.0, once a pool or client has any TLS options set, all connections use TLS, even if **ssl=true** is omitted from the MongoDB URI. Before, TLS options were ignored unless **tls=true** was included in the URI.

As of 1.4.0, the *mongoc\_client\_pool\_set\_ssl\_opts()* and *mongoc\_client\_set\_ssl\_opts()* will not only shallow copy the struct, but will also copy the **const char\***. It is therefore no longer needed to make sure the values remain valid after setting them.

**SEE ALSO:**

```
Configuring TLS
```

```
mongoc_client_set_ssl_opts()
```

```
mongoc_client_pool_set_ssl_opts()
```

## AUTHOR

MongoDB, Inc

## COPYRIGHT

2009-present, MongoDB, Inc.
