公開証明書を持つ Tomcat のSSLを有効化

この資料では、公開証明書を持つ Tomcat の SSL を有効化する方法を説明します。これによって、Jamf Pro インスタンスのセキュアポートに接続するたびに "Safari/Firefox can't verify the identity of the website <jamf.mycompany.com> (Safari/Firefox はウェブサイト <jamf.mycompany.com> の ID を確認できません)" ダイアログボックスが表示される問題を回避できます。
注:

Tomcat の keystore に証明書をバンドルしようとしている場合、Using OpenSSL to Create a Certificate Keystore for Tomcatの記事を参照してください。

一般的な手順は次のとおりです。
  • 空白の keystore を有効化/初期化します。

  • 証明書署名要求 (CSR) を生成します。

  • Tomcat で使用するために生成した証明書をインポートします。

  • 新しく作成された証明書を使用するには、server.xml ファイルを修正します。

注:

サードパーティーの Certificate Authority (CA) を使用している場合は、これらの手順に従う前に、自分の証明書に固有の情報について CA に連絡することをお勧めします。

一般的な要件

以下のコンポーネントでは、公開証明書を持つ Tomcat の SSL を有効化することが必要です。
  • Jamf Pro ホストサーバへのアクセス

  • Tomcat ディレクトリの場所
    注:

    Tomcat ディレクトリの場所は、Jamf Pro インストールの設定によって異なります。Tomcat ディレクトリの一般的な場所は以下に記載されています。

Jamf Pro インストーラを使用して Jamf Pro をインストールした場合、ディレクトリは以下の場所にあります:
  • Linux: /var/local/JSS/Tomcat/

  • Windows: C:\Program Files\JSS\Tomcat\

Jamf Pro インストーラを使用せずに Jamf Pro をインストールした場合、ディレクトリは以下の場所にあります:
  • Linux: /var/lib/tomcat8/

  • Windows: C:\Program Files\Apache Tomcat8\

ステップ 1: Jamf Pro サーバの公開証明書作成

OpenSSL または Java Keytool を使用して Jamf Pro サーバ用の公開証明書を作成および構成するには、以下の適切な手順に従ってください。
注:

この手順のコマンドはすべて root として実行しなければなりません。Linux の場合は、各コマンドの前に sudo を入力します。Windowsの場合は、管理者としてコマンドを実行しなければなりません。

OpenSSLによる証明書の作成

  1. コマンドプロンプトまたは Terminal を開きます。
  2. デスクトップ上に Certs というフォルダを作成して、以下のコマンドを使用してディレクトリに移動します:
    mkdir /path/to/Desktop/Certs
    cd /path/to/Desktop/Certs
  3. 以下と同様なコマンドを実行して、プライベートキーと CSR を生成します:
    openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
  4. プロンプトが表示されたら、適切な情報を入力します。

    Certificate Authority (CA) 管理者は、これらのフィールドに求められる値を提供しなければなりません。jamf.mycompany.com などの完全修飾ドメイン名 (FQDN) を使用することを確保してください。

    注:

    これらの値は、新しいプライベートキーの自己署名証明書を生成するためにも使用されます。クライアントマシンがこの自己署名証明書を信頼するように指示されていない限り、自己署名証明書を使用すると、"Safari/Firefox can't verify the identity of the website <jamf.mycompany.com> (Safari / Firefox はウェブサイト <jamf.mycompany.com> の ID を確認できません)" というメッセージが表示されます。自己署名証明書を使用している場合は、手順 6 に進みます。

  5. 作成した CSR を有効な CA (公開または内部) に送信します。

    送信すると、.crt.cer.pem ファイルのいずれかが届きます。詳細については、CA ベンダーの資料を参照してください。

    注:

    別の証明書が必要な場合、ベース 64 エンコードバイナリ (X.509) を要求してください。

  6. 受け取った証明書はデスクトップの Certs フォルダに入れてください。
  7. Keystore に署名済み証明書をインポートします。認証局から受け取ったファイルのタイプに応じて、以下のサブセクションのいずれかを参照してください。

    認証局から .p7b ファイルを受け取った場合:

    1. 以下のコマンドで、 .p7b ファイルを .cer ファイルに変換します:
      openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    2. 新しい .cer ファイルとプライベートキーをこのコマンドで結合します:
      openssl pkcs12 -export -out SSLCertificate.p12 -inkey privateKey.key -in certificate.cer
    3. エクスポートパスワードを入力します。このパスワードはあなたの keystore パスワードとなり、今後の使用のために記録しておく必要があります。

    認証局から 個別の証明書を受け取った場合:

    1. 個別の証明書を受け取った場合は各中間証明書の代わりにそれらを以下のコマンドに入力します:
      openssl pkcs12 -export -out SSLCertificate.p12 -inkey privateKey.key -in serverCertificate.crt -certfile Intermediate.crt
      注:

      ベンダーが提供した中間証明書の数に基づいて、-certfile /path/to/intermediate パラメータを追加するか、または削除します。

    2. エクスポートパスワードを入力します。このパスワードはあなたの keystore パスワードとなり、今後の使用のために記録しておく必要があります。

    認証局からバンドル証明書を受け取った場合:

    ルート証明書の代わりにそれを使用することができます。そのため、中間証明書は必要なくなります。

  8. エクスポートパスワードを入力します。このパスワードはあなたの keystore パスワードとなり、今後の使用のために記録しておく必要があります。

Java Keytoolによる証明書の作成

要件

このワークフローは、keystore をビルドしたワークステーションに Java をインストールすることを要求します。

  1. コマンドプロンプトまたは Terminal ウィンドウを開きます。
  2. デスクトップ上に Certs というフォルダを作成して、以下のコマンドを使用してディレクトリに移動します:
    mkdir /path/to/Desktop/Certs
    cd /path/to/Desktop/Certs
  3. 以下と同様なコマンドを実行して、Keystore を生成します:
    /path/to/keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keypass "password" -storepass "password" -keystore keystore.jks
    注:

    Keypass と storepass 両方に必ず同じパスワードを使用してください。パスワードには特殊文字を使用できません。今後のインポートのために、このパスワードをメモしておいてください。

  4. keystore のバックアップコピーを作成して安全な場所に保存します。
  5. プロンプトが表示されたら、適切な情報を入力します。Certificate Authority (CA) 管理者は、これらのフィールドに求められる値を提供しなければなりません。jamf.mycompany.com など、Fully Qualified Domain Name (完全修飾ドメイン名: FQDN) を使用します。
    注:

    これらの値は、新しい Keystore の自己署名証明書を生成するためにも使用されます。自己署名証明書を使用する際、クライアントマシンがこの自己署名証明書を信用するよう推奨されている場合を除いて、「Safari/Firefox can't verify the identity of the website <jamf.mycompany.com> (Safari/Firefox はウェブサイト your.jss.url の ID を確認できません)」と表示される場合があります。自己署名証明書を使用する場合、ステップ 6 までスキップします。

  6. 以下のコマンドを実行して、作成した keystore から証明書署名要求 (CSR) を生成します:
    /path/to/keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore keystore.jks
  7. 作成した CSR を有効な CA (公開または内部) に送信します。送信すると、.crt.cer.pem ファイルのいずれかが届きます。
    注:

    別の証明書が必要な場合、ベース 64 エンコードバイナリ (X.509) を要求します。

  8. 受け取った証明書はデスクトップの Certs フォルダに入れてください。
  9. Keystore に署名済み証明書をインポートします。結合された証明書を使用している場合は、以下のコマンドを実行します:
    /path/to/keytool -import -alias tomcat -keystore keystore.jks -trustcacerts -file root.cer

    複数の証明書を使用している場合 (中級および/または root 証明書、署名済み Web 証明書)、以下のようなコマンドを実行し、各証明書をインストールします:

    /path/to/keytool -import -alias root -keystore keystore.jks -trustcacerts -file root.cer /path/to/keytool -import -alias intermediate1 -keystore keystore.jks -trustcacerts -file intermediate1.cer /path/to/keytool -import -alias tomcat -keystore keystore.jks -trustcacerts -file cert.cer

ステップ 2: 証明書を Jamf Pro にインポート

Tomcat アシスタントを使って Jamf Pro サーバに証明書をインポートする場合、または server.xml ファイルを手動で編集する場合は、以下の適切な手順に従ってください。

Tomcat アシスタントによる証明書のインポート

  1. Jamf Pro で、ページの右上隅の Settings (設定) をクリックします。
  2. System Settings (システム設定) セクションの Apache Tomcat Settings (Apache Tomcat 設定) をクリックします。
  3. Edit (編集) をクリックします。
  4. Change the SSL certificate used for HTTPS (HTTPS で使用する SSL 証明書の変更) オプションを選択して Next (次へ) をクリックします。
  5. Upload an existing SSL certificate (既存の SSL 証明書をアップロード) を選択して Next (次へ) をクリックします。
  6. Upload (アップロード) をクリックして、keystore.jks ファイルまたは SSLCertificate.p12 ファイルを選択し、Next (次へ) をクリックします。
  7. Keystore パスワードを入力して、Next (次へ) をクリックします。
  8. Finish (終了) をクリックして、Tomcat を再起動します。

server.xml ファイルを手動で編集して証明書をインポート

  1. keystore.jks ファイルまたは SSLCertificate.p12 ファイルを Jamf Pro Tomcat フォルダに移動します。このフォルダの場所は上記の通りです。
  2. /Tomcat/conf/ ディレクトリにある server.xml ファイルを編集します。Port 8443 の Certificate 要素にある certificateKeystoreFilecertificateKeystorePassword 属性を追加/修正して、以下と同じようにします。
    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Nio2Protocol"
       SSLEnabled="true" maxThreads="150" scheme="https"
       secure="true" clientAuth="false"
       <SSLHostConfig
              sslProtocol="TLS"
              <Certificate type="RSA"
                     certificateKeystoreFile="${catalina.home}/.keystore"
                     certificateKeystorePassword="changeit" />
  3. コマンドラインから Tomcat を再起動します。詳細については、Tomcat の開始および停止 を参照してください。