首页 > 解决方案 > 正确加载 OpenSSL 的方法顺序?

问题描述

OpenSSL中有几种初始化方法

OpenSSL_add_all_algorithms(); /* Load cryptos, et.al. */
SSL_load_error_strings();     /* Bring in and register error messages */
SSL_library_init();

如果我使用 TLS,是否有特定的调用顺序?

标签: copenssl

解决方案


这个问题有点模糊,但是:

SSL_load_error_strings()和的顺序在OpenSSL_add_all_algorithms()技术上并不重要。

如果您使用的是 OpenSSL 1.1.0 或更高版本,则根本不需要调用OpenSSL_add_all_algorithms()该功能已被弃用并被OPENSSL_init_crypto().

建议按以下顺序执行初始化:

[first, set up threading callbacks if your program is multithreaded]
SSL_load_error_strings ();
SSL_library_init ();
OpenSSL_add_all_algorithms ();
OPENSSL_config (NULL);

您可能还想查看OpenSSL Wiki 中关于初始化的内容


推荐阅读