(De-)openssl 库的初始化

概述

Openssl 由 2 个库组成:libcryptolibssl。在 openssl API 可以在应用程序中使用之前,预计将执行强制初始化过程。一旦应用程序完成与 openssl 相关的工作,就应该清理分配的资源。

下面的代码完成初始化,但是,开发人员可以自由初始化他感兴趣的 openssl 内容。

初始化 libcrypto

ERR_load_crypto_strings();
OpenSSL_add_all_algorithms();
OPENSSL_config(NULL); // Load default configuration (e.g. openssl.conf)

初始化 libssl

OPENSSL_init_ssl(0, NULL);

取消初始化

CONF_modules_unload(1);
EVP_cleanup();
CRYPTO_cleanup_all_ex_data();
ERR_remove_state();
ERR_free_strings();