mongoc_ssl_opt_t - Man Page

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 <https://www.mongodb.com/docs/languages/c/c-driver/current/libmongoc/guides/configuring_tls/>
mongoc_client_set_ssl_opts() <>
mongoc_client_pool_set_ssl_opts() <>

Author

MongoDB, Inc

Info

Jan 27, 2026 1.30.6 libmongoc