---
name: "libressl-OPENSSL_init_ssl"
section: "3"
platform: "linux"
package: "libressl"
version: "4.4.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libressl-OPENSSL_init_ssl"
---

# libressl-OPENSSL\_init\_ssl(3)

initialise the crypto and ssl libraries

## NAME

**OPENSSL\_init\_ssl** – initialise the crypto and ssl libraries

## SYNOPSIS

SSL Library (libssl, -lssl) libcrypto

**#include \<openssl/ssl.h\>**

*int*\

**OPENSSL\_init\_ssl**(*uint64\_t options*, *const void \*dummy*);

## DESCRIPTION

This function is deprecated. It is never useful for any application program to call it explicitly. The library automatically calls it internally with an *options* argument of 0 whenever needed. It is safest to assume that any function may do so.

To enable or disable the standard configuration file, instead use OPENSSL\_config(3) or OPENSSL\_no\_config(3), respectively. To load a non-standard configuration file, refer to CONF\_modules\_load\_file(3).

**OPENSSL\_init\_ssl**() calls OPENSSL\_init\_crypto(3), SSL\_load\_error\_strings(3), and SSL\_library\_init(3).

The *options* argument is passed on to OPENSSL\_init\_crypto(3) and the *dummy* argument is ignored.

If this function is called more than once, none of the calls except the first one have any effect.

## RETURN VALUES

**OPENSSL\_init\_ssl**() is intended to return 1 on success or 0 on error.

## SEE ALSO

CONF\_modules\_load\_file(3), OPENSSL\_config(3), [ssl(3)](/ssl/3.md)

## HISTORY

**OPENSSL\_init\_ssl**() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 6.3.

## BUGS

**OPENSSL\_init\_ssl**() silently ignores even more configuration failures than OPENSSL\_init\_crypto(3).
