gpt4 book ai didi

java - 应该使用相同的 Java keystore 进行 SSL 和 HTTPS 通信吗?

转载 作者:太空宇宙 更新时间:2023-11-03 14:08:05 26 4
gpt4 key购买 nike

一点背景

我有 3 个运行 ZookeeperActiveMQ 的实例。我想让我的通信安全,所以我必须担心三件事:

  • follower 和 leader 如何沟通(Zookeeper 的法定人数)
  • ActiveMQ 消费者如何与其通信(应用程序/SSL)
  • 我的团队如何访问 ActiveMQ WebConsole (https)

好的,第一个案例is not possible according to Zookeeper documentation.

关于我的第二个案例;我已经为它创建了我自己的 CA 证书,还有我自己的证书和 keystore 。这就是我在 /etc/activemq/conf/activemq.xml 上使用它们的方式:

...
<persistenceAdapter>

<replicatedLevelDB
directory="${activemq.data}/leveldb"
replicas="3"
bind="tcp://0.0.0.0:61616"
zkAddress="activemq1.company.com:2881,activemq2.company.com:2881,activemq3.company.com:2881"
zkPassword="password"
zkPath="/activemq/leveldb-stores"
hostname="activemq3.company.com"
/>


</persistenceAdapter>
<sslContext>
<sslContext keyStore="/usr/share/ca-certificates/company/activemq/keystore" keyStorePassword="password-2" trustStore="/usr/share/ca-certificates/company/activemq/trustore" trustStorePassword="password-2" />
</sslContext>
...

最后,我的第三个案例;为了拥有有效的证书颁发机构,我正在使用 Let'sEncrypt api 生成我的新有效证书,并使用它们创建一个新的 keystore ;这是这样使用的:

...
<!--
Enable this connector if you wish to use https with web console
-->
<bean id="SecureConnector" class="org.eclipse.jetty.server.ServerConnector">
<constructor-arg ref="Server" />
<constructor-arg>
<bean id="handlers" class="org.eclipse.jetty.util.ssl.SslContextFactory">
<property name="keyStorePath" value="${activemq.conf}/keystore.jks" />
<property name="keyStorePassword" value="password-3" />
</bean>
</constructor-arg>
<property name="port" value="8162" />
</bean>
...

问题

我应该为 SSL 和 HTTPS 通信使用通过 Let'sEncrypt 生成的相同 keystore 吗?或者我应该将它们分开以采取更多(也许?)安全措施?

最佳答案

当然可以共享一个证书。,但我通常会为每个服务器提供自己的证书(客户端证书),我建议由同一个 CA 单独签名。

关于java - 应该使用相同的 Java keystore 进行 SSL 和 HTTPS 通信吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37031473/

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