- NAME
- SYNOPSIS
- DESCRIPTION
- NOTES
- RETURN VALUES
- SEE ALSO
- HISTORY
- COPYRIGHT

# 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. At least one of these flags must be set.

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-2016 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.