(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();