无法使用OpenSSL 1.1.1构建activemq CMS 3.9.5

时间:2019-03-13 13:36:33

标签: openssl activemq activemq-cpp

ActiveMQ CPP库3.9.5状态的Readme.txt

1.3 OpenSSL

  

如果您想使用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? 任何帮助或澄清将不胜感激

1 个答案:

答案 0 :(得分:0)

该版本的CMS客户端不支持

OpenSSL 1.1.1,因此大多数情况下将不允许客户端进行构建,如果构建,则很有可能会失败。 CMS客户端尚未得到积极的开发,因此,我将研究替代客户端库,例如Apache Qpid项目的AMQP客户端。