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

带有SSL和自签名证书的ActiveMQ;不包含适当证书的客户端能够连接到代理

凤伟泽
2023-03-14

我有一些通过ActiveMQ和几个Java客户机使用SSL/TLS的自签名证书。代理keystore包含根证书,代理truststore包含客户端的公钥。客户机密钥库包含绑定到PKCS12文件中的客户机公钥和私钥(按密钥库的要求),客户机信任库包含根证书

现在,这个配置工作得很好。我的问题是,即使使用不匹配的客户端证书和密钥,它也能正常工作,但在代理和客户端保留相同的根证书。只有当我使用不匹配的根证书时,代理-客户端连接才会失败。我想知道为什么会发生这种情况,以及修复方法是什么,这样,使用公钥不在代理信任库中的任意随机密钥对的客户端就不能连接到代理。

附言。:这是在ActiveMQ版本5.13.0和TLS版本1.2上

共有1个答案

能逸清
2023-03-14

它在wiki中:https://cwiki.apache.org/confluence/display/activemq/how+do+i+use+ssl

您需要在服务器端TransportConnector中添加NeedClientAuth=true:

<broker>
  ...
  <transportConnectors>
    <transportConnector name="ssl" uri="ssl://0.0.0.0:61616?needClientAuth=true"/>  
  </<transportConnectors>

要求客户端身份验证不是标准设置。通常,SSL传输只使用服务器证书设置,客户端使用用户名/密码身份验证。

客户端身份验证不提供任何额外的加密。它是用户名/密码的另一种选择,但需要更高的维护:证书续订等。

 类似资料:
  • 问题内容: 我正在尝试确保通过Internet进行通信的Java客户端/服务器应用程序的连接安全。我的想法是将SSL套接字与自签名证书和客户端身份验证一起使用。我做了以下事情: 服务器:包含新的自签名证书的密钥库。 客户端:包含新的自签名证书的密钥库。 服务器:包含导出的客户端证书的信任库(来自上面的项目符号)。导出客户端证书并将其导入服务器的信任库 客户端:包含导出的服务器证书的信任库(从第一个

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

  • 我最近升级了Inteliij IDEA 2019.2,如果我尝试从IDE中提取Git,我会发现以下错误:无法访问'https://github.xxx.com/app-Hello-USD/DGS.git/“:SSL证书问题:证书链中的自签名证书。 有人能帮我什么选项,我必须启用。 谢谢

  • 问题内容: 当尝试使用其PHP库通过Twilio发送消息时,我正在为这个错误而苦苦挣扎: 我在Windows 7上使用了wamp。 我当然找到了所有其他有关证书错误的信息。据我所知,通常更新或添加文件即可解决该问题。但是,即使这样做,我仍然遇到相同的错误。 就像这里所做的健全性检查一样,这正是我所做的: 从此处下载了最新的证书:http : //curl.haxx.se/ca/cacert.pem

  • 问题内容: 我正在连接到以前成功使用过的Web服务,但是现在他们已经更改了主机名并向我发送了两个.pem文件。一个是CA,另一个是我的新客户证书。 (我将Java 1.5,Spring + Spring Web Services与Apache httpclient一起使用,但是我怀疑我的问题是证书,密钥和SSL本身。) 我已经导入了.pem文件以及从Firefox导出到cacerts中的主机的.c

  • 我正在为TIBCO EMS队列测试运行一个JMS点对点采样器。我已经将所有tibco ems JAR添加到jmeter lib文件夹中。在JMS采样器中配置队列详细信息、上下文工厂、用户凭据。当使用tcp请求队列击中TIBCO ems时,它正在工作。但是当用SSL url击中时,它无法连接。 我尝试了以下方式来附上tibco团队给出的自签名证书