スタンドアロンのインデックスサーチサーバー (Solr) の SSL の設定
開始する前に、証明書とキーが単一のファイルとして PEM フォーマットに変換されている必要があります。
|
証明書のみのファイルが使用できない場合、必要に応じて証明書とキーのファイルから生成できます。
1. keytool ユーティリティを使用して、JKS キーストアを PKCS12 フォーマットに変換します。
keytool -importkeystore -srckeystore solr-ssl.keystore.jks -destkeystore solr-ssl.keystore.p12 -srcstoretype jks -deststoretype pkcs12
2. openssl コマンドを使用して、認証書のみが含まれ、キーは含まれていない PKCS12 フォーマットのキーストアを PEM フォーマットに変換します。
openssl pkcs12 -nokeys -in solr-ssl.keystore.p12 -out solr-ssl.cacert.pem
3. トラストストアとキーストアが PKCS12 フォーマットである場合、SOLR_SSL_KEY_STORE および SOLR_SSL_TRUST_STORE に p12 ファイルのパスを設定することで p12 ファイルを使用します。
4. トラストストアとキーストアが JKS フォーマットである場合、SOLR_SSL_KEY_STORE および SOLR_SSL_TRUST_STORE に jks ファイルのパスを設定し、さらに SOLR_SSL_KEY_STORE_TYPE および SOLR_SSL_TRUST_STORE_TYPE を JKS として設定することで jks ファイルを使用します。
|
Windchill Index Search クライアントの設定
1. Windchill シェルを開き、次のコマンドを実行して、インデックスサーチクライアントがインデックスサーチサーバーに接続するときに使用するプロトコルを HTTPS に設定します。
xconfmanager -s wt.index.solrProtocol=https -t codebase/wt.properties -p
2. Windchill を再起動します。
Windchill Index Search サーバーの設定
1. 証明書 (JKS) ファイルを <インデックスサーチホーム>/solr/server/etc にコピーします。
2. 共通の SSL 関連のシステムプロパティを設定します。
SSL 設定をアクティブ化するには、次のファイルの SOLR_SSL_* で始まるプロパティをコメント解除し、更新します。
◦ Windows: bin\solr.in.cmd
以下に例を示します。
set SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_KEY_STORE_PASSWORD=secret
set SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
set SOLR_SSL_TRUST_STORE_PASSWORD=secret
REM Require clients to authenticate
set SOLR_SSL_NEED_CLIENT_AUTH=false
REM Enable clients to authenticate (but not require)
set SOLR_SSL_WANT_CLIENT_AUTH=false
◦ Unix: bin/solr.in.sh
以下に例を示します。
bin/solr.in.sh example SOLR_SSL_* configuration
SOLR_SSL_KEY_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_KEY_STORE_PASSWORD=secret
SOLR_SSL_TRUST_STORE=etc/solr-ssl.keystore.jks
SOLR_SSL_TRUST_STORE_PASSWORD=secret
# Require clients to authenticate
SOLR_SSL_NEED_CLIENT_AUTH=false
# Enable clients to authenticate (but not require)
SOLR_SSL_WANT_CLIENT_AUTH=false
ここで、"secret" は証明書の作成時に指定されたパスワードです。
Solr キーストアのデフォルトパスワードを修正する場合、Solr サーバーの起動時に問題が発生しないようにするため、以下の手順を実行します。
a. solr.in.cmd (Windows) または solr.in.sh (Unix) でパスワードが正しいことを確認します。
b. <INDEX_SEARCH_HOME>/solr/server/etc/jetty-ssl.xml ファイルを開きます。
c. 以下のプロパティの値を正しいパスワードによって更新します。
<Set name="KeyStorePassword"><Property name="solr.jetty.keystore.password"
default="<enter the correct password>"/></Set>
<Set name="TrustStorePassword"><Property name="solr.jetty.truststore.password"
default="<enter the correct password>"/></Set>
d. jetty-ssl.xml ファイルを保存して Solr サーバーを起動します。
3. 証明書ファイルを JVM トラストストア (Windchill の JDK/JVM のみ) に追加します。
a. Windchill が使用する Java の場所に移動し、<JAVA_HOME>/lib/security で cacerts ファイルのパスを確認します。
b. <JAVA_HOME>/bin に移動し、新しい証明書をインポートします。cacerts に書き込むためのアクセス許可を持つユーザーとして keytool ユーティリティを実行します。
keytool -import -file <証明書ファイル> -alias <一意の名前> -keystore <cacerts ファイルへのパス>
次に例を示します。
keytool -import -file D:\SolrWithSSL\solr-5.4.1\server\etc\solr-ssl.cacert.pem -alias Key_Alias -keystore ../lib/security/cacerts
4. Solr サーバーが SSL 以外として設定されており、SSL を使用するように Windchill が設定されている場合、Windchill の外で使用されている任意の Java クライアントには接続の証明書が必要です。
そのためには、インデックスサーチサーバーによって使用されている JVM に証明書をインポートする必要があります。これにより、インデックスサーチサーバーは Windchill に接続し、インデックシング用のドキュメントをダウンロードできます。
JVM トラストストア (Solr サーバーの JDK/JVM) に証明書ファイルを追加する手順は次のとおりです。
a. Solr サーバーが使用する Java の場所に移動し、<JAVA_HOME>/lib/security で cacerts ファイルのパスを確認します。
b. <JAVA_HOME>/bin に移動し、証明書をインポートします。cacerts に書き込むためのアクセス許可を持つユーザーとして keytool ユーティリティを実行します。
keytool -import -file <証明書ファイル> -alias <一意の名前> -keystore <cacerts ファイルへのパス>
次に例を示します。
keytool -import -file D:\SolrWithSSL\solr-5.4.1\server\etc\solr-ssl.cacert.pem -alias Key_Alias -keystore ../lib/security/cacerts
|
JVM キーストアのデフォルトのパスワードは "changeit" です。
|
5. Solr サーバーと Windchill の両方が SSL を使用するように設定されている場合、Solr サーバーのトラストストアに証明書ファイル (pem または pkcs12 フォーマット) を追加します。デフォルトでは、jetty は、上記の手順で作成される <Solr Server Home>/solr/server/etc/solr-ssl.keystore.jks からのトラストストアおよびキーストアを参照します。
Keytool ユーティリティを実行します。
keytool -import -file <windchill certificate file in pem or pkcs12 format>
-alias <unique name> -keystore <Solr Server Home>/solr/server/etc/solr-ssl.keystore.jks
たとえば、次のようになります。
keytool -import -file D:\ptc\Windchill\certificates\windchillserver.pem
-alias Key_Alias -keystore D:\SolrWithSSL\SolrServer\solr\server\etc\solr-ssl.keystore.jks
6. Windchill とインデックスサーチサーバーを再起動し、Solr 管理インタフェースに移動して、Solr が SSL とともに実行されていることを確認します。
|
solr-ssl.keystore.jks キーストアのデフォルトパスワードは "secret" です。
|
|
SSL の既知の問題については、次のサイトを参照してください。
|