当前位置: 首页 > 知识库问答 >
问题:

如何在通过JNDI命名服务器连接时为Hornetq客户端指定本地自定义SSL信任库

甄云
2023-03-14

我们有一个java客户端(mule app),它使用hornetq客户端(v2.3.25)。SP20)用于通过JNDI命名服务器(端口1099)连接到HornetQ远程服务器。连接用SSL保护。驱动程序要求显式设置javax.net.ssl.trustStore属性。否则,它不会找到信任存储。

我们想为会话指定一个自定义信任库。但是设置全局属性javax.net.ssl.trustStore可能会影响其他应用程序。所以,我们正在寻找替代方案。

我编写了一个自定义信任管理器(X509TrustManager),它指向自定义信任库。但问题是,它只用于与JNDI服务器建立连接。然后,实际的连接对象从远程服务器获取信任存储位置(当然,如果没有设置javax.net.ssl.trustStore)
产生错误HQ212007:

连接器。创建或连接工厂。createConnector永远不应该抛出异常,实现的行为很糟糕,但我们无论如何都会处理它。

无法为myserver创建NettyConnector:4447
在远程服务器密钥库位置找不到存储

通过谷歌搜索错误代码,我发现了与本文未提供的解决方案非常相似的问题。

那么,在通过JNDI连接时,有没有另一种方法可以为hornetq客户机指定到信任库的路径,这样就不会影响在同一个VM系统上运行的其他应用程序?或者,有没有一种方法可以完全禁用客户端的SSL证书验证——这对我们也适用?

共有1个答案

岑炯
2023-03-14

有一些特定于HornetQ的系统属性可以设置SSL配置参数。查看HornetQ 2.4.0的文档。

这些属性是在2.3.0之后添加的。决赛,但后传到了2.3。x分支,这就是为什么它们在2.3.25中可用。SP20,但在2.3.0中没有记录。最终文件。

简而言之,您可以使用以下系统属性而不是全局属性:

  • org。大黄蜂。ssl。密钥库
  • org。大黄蜂。ssl。keystrepassword
  • org。大黄蜂。ssl。信任商店
  • org。大黄蜂。ssl。trustStorePassword
 类似资料:
  • 我对spring boot和SSL还很陌生。我已经开发了一个SSL rest web服务器,它具有服务器密钥存储库、私钥和服务器CA,并且能够正确地处理相互X.509证书身份验证。我已经测试过,它可以与Postman和Python客户机一起工作HTTPS请求,并且所有工作都正常,服务器和客户机都可以成功地交换和验证对方的证书。 但我的情况有点不同, 我已经创建并连接了一个Postgresql数据库

  • 问题内容: 我完全被困在这里。我有一个Java客户端代码,需要使用自签名证书连接到SSL服务器。 仅 当我在服务器端禁用SSLv2支持时, 才会 出现此问题。 痕迹是 在服务器端,我可以看到以下跟踪: 如果启用SSL2,我会看到 而且一切正常。 我还知道那不是服务器端的东西,因为与其他软件连接可以正常工作。 知道我在做什么错吗? 还有人知道这个“读取客户端问候A / B”是什么意思吗? 谢谢 更新

  • 我试图了解服务器-客户端网络如何为实时多人游戏工作。 假设我正在构建一个实时多人游戏,比如FPS。 如果玩家A向玩家B开枪,后端< code >服务器需要告诉玩家B他们被击中了。 我知道如何让玩家 A 告诉后端服务器他开了一枪,只是向服务器发送请求,但是如何让后端告诉玩家 他们被枪杀了? 玩家B是否必须每0.1秒检查一次后端以查看是否发生了什么事情,或者是否有更有效的方法?

  • 我对套接字有点陌生,我正在尝试编写一个程序,在这个程序中,我基本上可以从客户端程序向服务器程序发送一些简单的请求。现在我只想在客户端有1或2个选项供用户选择。例如,如果用户在客户端选择“选项1”,那么服务器会返回一条消息“您选择选项1”,以此类推,但我不知道如何读取服务器上从客户端发送的输入。 客户代码: 服务器代码: 我需要在Clinet中使用两个不同的BufferedReader吗?一个用于用

  • 我从这里读了一些套接字编程示例代码。我突然想到一个问题。 构建TCP套接字连接需要4元组: 但似乎只有<代码> 那么谁来决定<代码> 更正,上面粗体部分似乎不正确。服务器端口不变。参考:当服务器接受TCP连接时,端口是否会更改?

  • 我在JBoss中部署了一个Web应用程序(jms-api.war),我想从中通过JNDI获得一个JMS连接工厂,没有任何配置(像这样)可以吗?我尝试在没有任何配置的情况下使用JNDI: standalone.xml中的我的连接工厂: 在我的应用程序中,我有这个Spring豆来访问连接工厂(它在我的测试中使用嵌入式hornetq工作): 在jboss启动我得到这个错误,我该如何解决它?: Jboss