SSL_CONF_CTX_SET_FLAGS(3SSL)

NAME
SSL_CONF_CTX_set_flags, SSL_CONF_CTX_clear_flags - Set or clear SSL configuration context flags

SYNOPSIS
 #include <openssl/ssl.h>

 unsigned int SSL_CONF_CTX_set_flags(SSL_CONF_CTX *cctx, unsigned int flags);
 unsigned int SSL_CONF_CTX_clear_flags(SSL_CONF_CTX *cctx, unsigned int flags);

DESCRIPTION
The function SSL_CONF_CTX_set_flags() sets flags in the context cctx.

The function SSL_CONF_CTX_clear_flags() clears flags in the context cctx.

NOTES
The flags set affect how subsequent calls to SSL_CONF_cmd() or SSL_CONF_argv() behave.

Currently the following flags values are recognised:

SSL_CONF_FLAG_CMDLINE, SSL_CONF_FLAG_FILE
    recognise options intended for command line or configuration file use. One of these flags, but not both, must be set. If an attempt is made to set one of these flags when the other is already set then the new flag is ignored.

SSL_CONF_FLAG_CLIENT, SSL_CONF_FLAG_SERVER
    recognise options intended for use in SSL/TLS clients or servers. One or both of these flags must be set.

SSL_CONF_FLAG_CERTIFICATE
    recognise certificate and private key options.

SSL_CONF_FLAG_REQUIRE_PRIVATE
    If this option is set then if a private key is not specified for a certificate it will attempt to load a private key from the certificate file when SSL_CONF_CTX_finish() is called. If a key cannot be loaded from the certificate file an error occurs.

SSL_CONF_FLAG_SHOW_ERRORS
    indicate errors relating to unrecognised options or missing arguments in the error queue. If this option isn't set such errors are only reflected in the return values of SSL_CONF_set_cmd() or SSL_CONF_set_argv()

RETURN VALUES
SSL_CONF_CTX_set_flags() and SSL_CONF_CTX_clear_flags() returns the new flags value after setting or clearing flags.

SEE ALSO
ssl(7), SSL_CONF_CTX_new(3), SSL_CONF_CTX_set_ssl_ctx(3), SSL_CONF_CTX_set1_prefix(3), SSL_CONF_cmd(3), SSL_CONF_cmd_argv(3)

HISTORY
These functions were added in OpenSSL 1.0.2.

COPYRIGHT
Copyright 2012-2026 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>.