ActiveMQ CPP库3.9.5状态的Readme.txt
如果您想使用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? 任何帮助或澄清将不胜感激
答案 0 :(得分:0)
OpenSSL 1.1.1,因此大多数情况下将不允许客户端进行构建,如果构建,则很有可能会失败。 CMS客户端尚未得到积极的开发,因此,我将研究替代客户端库,例如Apache Qpid项目的AMQP客户端。