0

ActiveMQ CPP 库版本 3.9.5 的 Readme.txt 状态

1.3 开放式SSL

如果您希望使用 SSL 传输,那么您需要在系统上安装 OpenSSL 及其包含的内容。我们建议您使用 1.0.0 或更高版本以获得最佳性能和安全性,但 0.9.8 版本也可以工作。

我正在尝试使用 Visual Studio 项目(包含在 activemq-cpp 3.9.5 发行版中)使用 OpenSSL 1.1.1 构建 activemq cms 3.9.5,并且看起来 CRYPTO_malloc_init() 已从 OpenSSL 1.1.1 中删除,因此我在 OpenSSLContextSpi.cpp 中出现编译错误

#ifdef HAVE_OPENSSL
    // General library initialization.
#ifdef WIN32
    CRYPTO_malloc_init();
#endif
    SSL_load_error_strings();
    SSL_library_init();
    OpenSSL_add_all_algorithms();

...而 OpenSSL 1.1.1 定义了另一个宏

#define OPENSSL_malloc_init() \
    CRYPTO_set_mem_functions(CRYPTO_malloc, CRYPTO_realloc, CRYPTO_free)

我发现了以下 https://stackoverflow.com/questions/46005827/does-activemq-cpp-3-9-4-support-openssl-1-1-0/55131365#55131365 但我不清楚它是否是已解决并且我在正确构建它时遇到问题,或者版本 3.9.5 实际上不支持 OpenSSL 1.1.1?任何帮助或澄清将不胜感激

4

1 回答 1

0

该版本的 CMS 客户端不支持 OpenSSL 1.1.1,因此很可能不允许客户端构建,如果它确实构建,它可能会失败。CMS 客户端尚未积极开发,因此我会查看备用客户端库,例如Apache Qpid项目的 AMQP 客户端。

于 2019-03-13T15:33:28.887 回答