# Poco::Crypto

# class OpenSSLInitializer

Library: Crypto
Package: CryptoCore
Header: Poco/Crypto/OpenSSLInitializer.h

## Description

Initalizes the OpenSSL library.

The class ensures the earliest initialization and the latest shutdown of the OpenSSL library.

## Member Summary

Member Functions: dynlock, dynlockCreate, dynlockDestroy, enableFIPSMode, id, initialize, isFIPSEnabled, lock, uninitialize

## Enumerations

### Anonymous

SEEDSIZE = 256

## Constructors

### OpenSSLInitializer

OpenSSLInitializer();

Automatically initialize OpenSSL on startup.

## Destructor

### ~OpenSSLInitializer

~OpenSSLInitializer();

Automatically shut down OpenSSL on exit.

## Member Functions

### enableFIPSMode

static void enableFIPSMode(
bool enabled
);

### initialize

static void initialize();

Initializes the OpenSSL machinery.

### isFIPSEnabled

static bool isFIPSEnabled();

### uninitialize

static void uninitialize();

Shuts down the OpenSSL machinery.

### dynlock

static void dynlock(
int mode,
struct CRYPTO_dynlock_value * lock,
const char * file,
int line
);

### dynlockCreate

static struct CRYPTO_dynlock_value * dynlockCreate(
const char * file,
int line
);

### dynlockDestroy

static void dynlockDestroy(
struct CRYPTO_dynlock_value * lock,
const char * file,
int line
);

### id

static unsigned long id();

### lock

static void lock(
int mode,
int n,
const char * file,
int line
);