gpt4 book ai didi

java - 具有 SSL 和自签名证书的 ActiveMQ;不包含正确证书的客户端能够连接到代理

转载 作者:行者123 更新时间:2023-12-01 16:14:04 25 4
gpt4 key购买 nike

我有一些自签名证书,可以通过 ActiveMQ 和几个 Java 客户端使用 SSL/TLS。代理 keystore 包含根证书代理信任库包含客户端的公钥客户端 keystore 包含根据 keystore 的要求捆绑到 PKCS12 文件中的客户端公钥和私钥,并且客户端信任库包含<强>根证书

现在,这个配置工作正常。我的问题是,即使我使用不匹配的客户端证书和 key ,但在代理和客户端上保留相同的根证书,它也能正常工作。仅当我使用不匹配的根证书时,代理客户端连接才会失败。我想知道为什么会发生这种情况以及解决方法是什么,以便阻止使用任何其公钥不在代理的信任库中的随 secret 钥对的客户端连接到代理。

附注:这是在 ActiveMQ 版本 5.13.0 和 TLS 版本 1.2 上的

最佳答案

它在维基中: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 传输仅使用服务器证书进行设置,客户端使用用户名/密码身份验证。

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

关于java - 具有 SSL 和自签名证书的 ActiveMQ;不包含正确证书的客户端能够连接到代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62449847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com