如何使用 C 客户端通过 ActiveMQ 启用 SSL

2024-04-22

我已经配置了[ActiveMQ]http://activemq.apache.org/ http://activemq.apache.org/)通过以下方式使用 ssl 上下文RedHat 的 SSL/TLS 教程 https://access.redhat.com/documentation/en-US/Fuse_ESB_Enterprise/7.1/html/ActiveMQ_Security_Guide/files/SSL-Tutorial.html。然后我将 ActiveMQ/conf 目录中的客户端密钥库文件转换为 .pem 格式。为此我遵循将 Java 密钥库转换为 PEM 格式 https://stackoverflow.com/questions/652916/converting-a-java-keystore-into-pem-format在堆栈溢出上。

在这两个步骤之后我尝试使用 Eclipse泛美卫生组织 MQTT C 客户端 https://eclipse.org/paho/clients/c/通过 SSL 连接到 ActiveMQ Broker,但它返回状态 -1。

代码如下:

MQTTClient client;
MQTTClient_connectOptions conn_opts =MQTTClient_connectOptions_initializer;
MQTTClient_message pubmsg = MQTTClient_message_initializer;
MQTTClient_deliveryToken token;
MQTTClient_SSLOptions ssl_opts = MQTTClient_SSLOptions_initializer;
int rc;
MQTTClient_create(&client, ADDRESS, CLIENTID,
    MQTTCLIENT_PERSISTENCE_NONE, NULL);
conn_opts.keepAliveInterval = 20;
conn_opts.cleansession = 1;
conn_opts.ssl = &ssl_opts;
conn_opts.ssl->keyStore = "amq-client.pem";    
conn_opts.ssl->privateKeyPassword = "password";   
conn_opts.ssl->enabledCipherSuites = "DEFAULT";
conn_opts.ssl->enableServerCertAuth = 0;   
MQTTClient_setCallbacks(client, NULL, connlost, msgarrvd, delivered);
if ((rc = MQTTClient_connect(client, &conn_opts)) !=     MQTTCLIENT_SUCCESS)
{
    printf("Failed to connect, return code %d\n", rc);
    exit(-1);       
}

我的配置有什么错误吗?

请帮我解决这个问题


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 C 客户端通过 ActiveMQ 启用 SSL 的相关文章

随机推荐

  • RestKit 0.20.0pre5:每个请求的 HTTP 标头

    我想发送一个If Modified Since带有 GET 请求的 http 标头 由 RKObjectManager getObjectsAtPath the 迁移指南 https github com RestKit RestKit w
  • Maven 错误:也许您正在 JRE 而不是 JDK 上运行?

    我以前从未使用过 Maven 我正在按照说明进行操作here http ecmarchitect com alfresco developer series tutorials maven sdk tutorial tutorial htm
  • 使用类型类将 Haskell 中的值与类型关联起来

    我想使用类型类返回String功能上依赖于 Haskell 类型的实例 例如 假设我们有这样的类型Form 我想将字符串 form 与此类型相关联 给定类型Invocation 我想关联字符串 job 等等 重要的是我通常不会有相关类型的实
  • Shell 脚本读取缺少最后一行

    我的 bash shell 脚本有一个奇怪的问题 我希望能对此有所了解 我的团队正在开发一个脚本 该脚本会迭代文件中的行并检查每一行中的内容 我们遇到了一个错误 当通过将不同脚本排序在一起的自动化流程运行时 看不到最后一行 用于迭代文件中的
  • 为什么codeigniter2不以更安全的方式存储csrf_hash,例如会话?

    为什么生成的 CSRF 保护令牌没有像建议的那样通过 SESSION 保存和使用here http codeutopia net blog 2008 10 16 how to csrf protect all your forms 目前在C
  • Oracle 内联视图

    为什么使用内联视图 使用内联视图有许多不同的原因 有些事情没有内联视图就无法完成 例如 1 对解析函数的结果进行过滤 select ename from select ename rank over order by sal desc rn
  • 检查我的 SSRS 报告,代码中是否为空

    我正在加载我使用 SSRS 通过代码 C 完成的报告 但我需要检查报告是否为空 我怎样才能得到它 我使用的代码是 if string IsNullOrEmpty RptInstance FileName string ReportName
  • Javascript 将 URL 转换为 BASE64 图像

    我正在构建一个 Ionic2 应用程序 我正在尝试将图像 url 转换为 base64 图像 我已经发现this https stackoverflow com questions 22172604 convert image url to
  • iTextSharp 可以将 PDF 文档转换为 PDF/A

    我无法在常见问题解答中找到此功能是否存在于 API 中 尽管在一本书中提到它是可能可用的 有人有实施此功能的经验吗 On 这个线程 http old nabble com Added support for PDF A 1 td109714
  • 在 SQL Server 中的韩语单词(任何 Unicode 单词)中查找韩语字母表(任何 Unicode 字符)的索引

    我需要按姓名搜索人员 这里的人名可以是英文 韩文或中文 为此我使用了Like搜索条件Name如下 select from MyTable where Name like N t 上述声明是给所有包含字母的用户t 但这不适用于韩语或中文 就像
  • chrome扩展后台页面中的jQuery使用

    Goal 我正在尝试使用此样板代码使用在线词典 API 进行查找 以查找所选单词并返回定义 Problem 我已经单独测试了实际的 jQuery ajax 调用 效果很好 另外 我可以在页面上获取所选的单词 然而 由于某种原因 我实际上遇到
  • 从无符号除法结果分配时有关符号转换的警告

    我编译了以下代码 Wsign conversion int main unsigned int a 8 int b a 8u warning implicit conversion changes signedness unsigned i
  • 如何防止“CoreData无法完成故障”?

    我们偶尔会收到 CoreData 无法完成故障 的信息 我们已阅读 Apple 文档 但不清楚允许保留哪些内容 我们非常小心地为每个线程创建一个上下文等 但是 我们的应用程序正在做的一件事是我们在 UIViewController 上保留
  • PHP 空 $_POST

    我通过 HTTP POST 向 PHP 发送数据 这对于短于 8MB 8192KB 的数据来说效果很好 但是当发送的数据量更大时 PHP 会显示 POST变量为空 我强调的是 POST变量甚至不包含帖子字段的名称 它作为空数组存在 临界点似
  • Python RuntimeError:字典在迭代期间更改了大小[重复]

    这个问题在这里已经有答案了 我正在练习一个非常简单的Python代码 我试图找到它的解决方案 但找不到 def del contacts for name number in d1 items if del name name del d1
  • 查找两个数组中的重复值,Python

    我有两个数组 A 和 B 每个数组约有 50 000 个值 每个值代表一个 ID 我想创建一个包含三列的 pandas 数据框 col1 数组 A 中的值 col2 数组 B 中的值 col3 带有标签 唯一 或 重复 的字符串 在每个数组
  • Process.Start 返回 null 时查找进程 ID?

    如果我尝试通过调用打开图像文件 视频或网站Process Start filepath 直接 那么它通常会成功 但是 Process Start 的返回值有时将为 null 正如这里所讨论的 https stackoverflow com
  • 将硬编码文件路径更改为 VBA 中提示的用户?

    现在 我有一个用于 Word 的 VBA 宏 它可以解析文档中的某种字体 并将所选类型的所有字体输出到文本文件 我打开文本文件的硬编码行是这样的 Open C Documents and Settings Output txt For Ou
  • 实现共享功能的标准方法

    我需要在 iOS 中实现 共享为 功能 例如 一个按钮名为 共享为 并弹出一个对话框 其中包括电子邮件 短信 Facebook Twitter 等项目 我想知道是否有一个标准对话框可以完成这项工作 经过搜索 我发现在 iOS6 中使用 UI
  • 如何使用 C 客户端通过 ActiveMQ 启用 SSL

    我已经配置了 ActiveMQ http activemq apache org http activemq apache org 通过以下方式使用 ssl 上下文RedHat 的 SSL TLS 教程 https access redha