# ルート認証局の証明書チェーンを設定

Talend Administration Centerウェブサーバーとクライアントアプリケーション(Studio、Nexus/artifactory、GITなど)間のセキュアHTTPS接続は、共通の長期(10年以上)認証を提供する証明書チェーンによって実行できます。

## 手順

1. 次のさまざまなサブステップに従って、証明書である.cerファイルを生成します。
   1. 下の値を設定に合わせて準備します。
      * サーバーIP: serverIP
      * SAN IP: serverIPまたは追加のドメイン名(利用可能な場合)
      * KeyStoreパスワード: changeit
      * サーバーのプリティ名: serverPrettyName
   2. Powershellで、適切な値を使ってプライベートキーを生成します。

      keytool -genkey -alias serverIP -keyalg RSA -keysize 4096 -keystore talendKey.jks -dname "CN=serverIP, OU=name of the organizational unit/department, O=name of the company/organization, ST=name of the region or state , C=name of the country" -keypass changeit -storepass changeit -ext SAN=ip:serverIP,dns:serverPrettyName
   3. .csrファイルを取得できるよう、適切な値で証明書署名リクエストを作成します。

      keytool -certreq -file serverIP.csr -keystore talendKey.jks -storepass changeit -alias serverIP -ext SAN=ip:serverIP,dns:serverPrettyName
   4. 認証局を使って.csrファイルにカウンターサインします。
   5. 承認した証明書をOpenSSL形式でダウンロードします。
   6. 前述のファイルから最初の証明書の内容を抽出し、テキストエディターツールでserverIP.cerファイルに貼り付けます。
   7. 証明書チェーンを変更した場合や初回インストールの場合は、証明書をTrustStoreに追加する必要があります。

      serverIP.cerファイルからサーバー関連の最初のエントリーを抽出し、chain.cerファイルに貼り付けます。証明書チェーンにはルート署名と中間署名が含まれています: keytool -import -file /opt/talend/talend-version/truststore/Talend\_certificate/chain.cer -keystore /opt/talend/talend-version/truststore/BitTalend -alias chain

      情報メモヒント: 認証局が発行した共通の証明書ではなく、自己署名証明書を設定した場合は、証明書チェーンで証明書をすべてインポートしてJava Keystoreを初期化できます。詳細は、[Talend Administration CenterのSSLを設定](https://help.qlik.com/talend/ja-JP/installation-guide-windows/8.0/config-ssl-for-tac)で対応するセクションをご覧ください。
2. ダウンロードしたserverIP.cerファイルを、現在JKS Keystoreで利用できるp12キーファイルとマージします:
   1. Keytoolを使い、次のようにJKS形式をPKCS形式に変換します: keytool -importkeystore -srckeystore talendKey.jks -destkeystore talendKey.p12 -deststoretype PKCS12
   2. PKCSからキーファイルを抽出し、別のキーファイルを作成します: openssl pkcs12 -in talendKey.p12 -nodes -nocerts -out talendKey.key
3. 証明書、キーファイル、証明書チェーンを新しいp12ファイルにまとめます。

   openssl pkcs12 -export -in &lt;serverIP&gt;.cer -inkey talendKey.key -out certificate.p12 -chain -CAfile chain.cer -name &lt;serverIp&gt;
4. Javaキーツールを使って、p12ファイルをKeystoreに変換します。

   Nexus: keytool -importkeystore -srckeystore certificate.p12 -srcstoretype PKCS12 -destkeystore keystore

   Talend Administration Center:keytool -importkeystore -srckeystore certificate.p12 -srcstoretype PKCS12 -destkeystore /opt/talend/talend-version/truststore/BitTalend
5. Nexusを使用している場合は、生成されたKeystore (およびTruststore)をnexusinstall &gt; etc &gt; sslサブフォルダーに保存します。Nexusを停止して再起動すれば変更が実装されます。
6. etc/jetty/jetty-https.xmlファイルでキー名やパスワードが正確であることを確認します。
7. SSL接続を設定するには:
   * Tomcatウェブサーバーに証明書が設定されている場合、次のコマンドを入力します: /opt/talend/talend-version/truststore/Talend\_SSL/Talend\_TAC\_QA" keystorePass="keystore pass"。

     その次に、Tomcatを設定します:&lt;TomcatPath&gt;/conf/server.xmlファイルを開き、SSLの部分を次のようにコメント解除して編集します。
     ```
     <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                    maxThreads="150" scheme="https" secure="true"
                    clientAuth="true" sslProtocol="TLS" 
     	keystoreFile="<SSLFolderPath/serverKeystore.jks" 
     	keystorePass=<keystorePassword>
     	truststoreFile="<SSLFolderPath/serverTruststore.jks" 
     	truststorePass=<trustStorePassword> />
     ```
   * 証明書がウェブアプリケーション自体に設定されている場合は、[他のアプリケーションへのSSL接続を定義](https://help.qlik.com/talend/ja-JP/installation-guide-linux/8.0/defining-ssl-connection "Talend Administration Centerの他のアプリケーションにセキュアな接続(SSL/TLS)を設定する場合は、 configuration.propertiesファイルでkeystore.path、keystore.password、truststore.path、truststore.passwordという各プロパティを指定する必要があります。")を参照して次のコマンドを入力します: keytool -delete -alias tomcat -keystore /opt/talend/talend-version/truststore/BitTalend -storepass changeit

## タスクの結果

Talend Administration Centerサービスを再起動します。

ブラウザーにTalend Administration Center URL: https://localhost:8080/org.talend.administratorと入力します。アプリケーションが緑色のキーアイコン: ![南京錠](https://help.qlik.com/talend/ja-JP/installation-guide-linux/Resources/images/SSL_CA_green_padlock.png)と共に表示されるようになります。