2016-05-04 13 views
0

コンテキストのビットSSLとHTTPS通信に同じJavaキーストアを使用する必要がありますか?

Iは、ZookeeperActiveMQを実行し3つのインスタンスを有します。 私は私の通信を安全にしたいので、私は約3物事を心配する必要があります。

  • どのようにフォロワーとのActiveMQの消費者はそれ(アプリケーション/ SSL)と通信をどのようにリーダーが通信(飼育係の定足数)
  • を私の第二の場合には
  • どのように私のチームへのアクセスにActiveMQ WebConsoleに(https)を

さて、第一ケースis not possible according to Zookeeper documentation.

。自分のCA証明書、自分の証明書とキーストアも作成しました。それは私が/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を使用して新しい有効な証明書を生成しています。新しい証明書を作成すると、新しいキーストアが作成されます。これは次のように使用されます。

... 
<!-- 
    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で生成された同じキーストアを使用すべき問題?それとも、セキュリティ対策のために分離して両方を分離して維持するべきでしょうか?

答えて

1

もちろん、1つの証明書を共有することもできますが、私は通常、各サーバーに独自の証明書(クライアント証明書)を与えます。

+0

したがって、サーバーごとにLet'sEncriptで新しい証明書を生成する必要がありますが、それらをすべて新しいキーストア/ trustoreにインポートする必要があります。そうなんですか? –

+0

"letsEcnrypt"を試みたことはありませんでしたが、確かにあなたは単一の 'trustStoreKeyとpass'を持っていることを確信していますが、両方のサーバーで同じtrustStoreを使用すると、生成されたkeystore cert(別名server cert)各サーバー上で1つになります。 –

関連する問題