JBoss Application Server に対する SSL の設定

JBoss Application Server で SSL を設定するには、認証時に SSL 秘密鍵証明書が必要です。秘密鍵証明書は、Java keytool を使用して作成するか、認証局(CA)から要求して読み込むことができます。その後、JBoss で SSL を有効にする必要があります。

1 つのコマンドでキーストアの作成に必要なすべての情報を指定することによって、keytool を実行できます。

ここでの手順では次のように指定します。

  • [appserver root] は、LiveCycle を実行するアプリケーションサーバーのホームディレクトリです。

  • [type] は、実行したインストールの種類に応じて異なる、フォルダー名です。

SSL 秘密鍵証明書の作成

  1. コマンドプロンプトで、[JAVA HOME]/bin に移動し、次のコマンドを入力して秘密鍵証明書とキーストアを作成します。

    keytool -genkey -dname "CN=Host Name, OU=Group Name, O=Company Name,L=City Name, S=State, C=Country Code" -alias "LC Cert" -keyalg RSA -keypass –key_password -keystore keystorename.keystore

    注意: [JAVA_HOME] は JDK がインストールされているディレクトリに、イタリックのテキストは自分の環境に対応する値に置き換えます。「Host Name」は、アプリケーションサーバーの完全修飾ドメイン名です。
  2. パスワードの入力を求められたら、「keystore_password」を入力します。キーストアおよびキーのパスワードは、同じである必要があります。

    注意: この手順で入力された keystore_password は、手順 1 で入力したパスワード(key_password)と同じである場合も、異なる場合もあります。
  3. 次のいずれかのコマンドを入力して、keystorename.keystore to the [appserver root]/server/[type]/conf ディレクトリにコピーします。

    • (Windows)copy keystorename.keystore [appserver root]\server\[type]\conf

    • (Linux)cp keystorename.keystore[appserver root]/server/[type]/conf

  4. 次のコマンドを入力して、証明書ファイルを書き出します。

    keytool -export -alias "LC Cert" -file LC_cert.cer -keystore [appserver root]\server\[type]\conf\keystorename.keystore

  5. パスワードの入力を求められたら、「keystore_password」を入力します。

  6. 次のコマンドを入力して、LC_cert.cer ファイルを [appserver root] \conf ディレクトリにコピーします。

    • (Windows)copy LC_cert.cer [appserver root]\server\[type]\conf

    • (Linux)cp LC_cert.cer [appserver root]/server/[type]/conf

  7. 次のコマンドを入力して、証明書の内容を表示します。

    keytool -printcert -v -file [appserver root]\server\[type]\conf\LC_cert.cer

  8. [JAVA_HOME]\jre\lib\security の cacerts ファイルへの書き込みアクセス権を付与するには、必要に応じて、次のタスクを実行します。

    • (Windows)cacerts ファイルを右クリックして「プロパティ」を選択し、「読み取り専用」属性の選択を解除します。

    • (Linux)chmod 777 cacerts と入力します。

  9. 次のコマンドを入力して、証明書ファイルを読み込みます。

    keytool -import -alias "LC Cert" -file LC_cert.cer -keystore JAVA_HOME\jre\lib\security\cacerts

  10. パスワードに changeit と入力します。Java インストールではこれがデフォルトのパスワードですが、システム管理者によって変更されている場合があります。

  11. Trust this certificate? [no]:」と表示されたら、「yes」と入力します。「Certificate was added to keystore」という確認メッセージが表示されます。

  12. Workbench から SSL 経由で接続している場合は、Workbench コンピューターに証明書をインストールします。

  13. テキストエディターで、[appserver root]/server/[type]/deploy/jboss-web.sar/server.xml を開きます。

  14. server.xml ファイルで、次のセクションのコメント化を解除します。

     <!-- SSL/TLS Connector configuration using the admin devl guide keystore 
    <Connector protocol="HTTP/1.1" SSLEnabled="true" 
        port="8443" address="${jboss.bind.address}" URIEncoding="UTF-8" 
        scheme="https" secure="true" clientAuth="false" 
        keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore" 
        keystorePass="rmi+ssl" sslProtocol = "TLS" /> 
    -->
  15. keystoreFile 属性および keystorePass 属性の値を、キーストアの作成時に指定したキーストアパスワードに変更します。

  16. server.xml ファイルを保存します。

  17. アプリケーションサーバーを再起動します。

    • 自動インストールの場合:

      • Windows のコントロールパネルで、「管理ツール」をクリックして「サービス」をクリックします。

      • 「JBoss for LiveCycle」を選択します。

      • 操作/停止を選択します。

      • サービスのステータスが停止になるまで待機します。

      • 操作/開始を選択します。

    • Adobe により事前設定された、または手動で設定した JBoss インストールの場合:

      • コマンドプロンプトで [appserver root]/bin に移動します。

      • 次のコマンドを入力して、サーバーを停止します。

        • (Windows)shutdown.bat -S

        • (Linux)./shutdown.sh -S

      • JBoss プロセスが完全にシャットダウンする(JBoss プロセスが、起動された端末にコントロールを返す)まで待機します。

      • 次のコマンドを入力して、サーバーを起動します。

        • (Windows)run.bat -c all

        • (Linux)./run.sh -c all

  18. SSL を使用して Administration Console にアクセスするには、Web ブラウザーで https://[host name]:[port]/adminui を入力します。

    JBoss のデフォルト SSL ポートは 8443 です。以降 LiveCycle にアクセスするときはこのポートを指定します。

CA からの秘密鍵証明書の要求

  1. コマンドプロンプトで、[JAVA HOME]/bin に移動し、次のコマンドを入力してキーストアとキーを作成します。

    keytool -genkey -dname "CN=Host Name, OU=Group Name, O=Company Name, L=City Name, S=State, C=Country Code" -alias "LC Cert" -keyalg RSA -keypass –key_password -keystore keystorename.keystore

    注意: [JAVA_HOME] は JDK がインストールされているディレクトリに、イタリックのテキストは自分の環境に対応する値に置き換えます。
  2. 次のコマンドを入力して証明書要求を生成し、認証局に送信します

    keytool -certreq -alias "LC Cert" -keystore keystorename.keystore -file LCcertRequest.csr

  3. 証明書ファイルの要求が完了したら、次の手順を実行します。

CA から取得した秘密鍵証明書の SSL を有効にするための使用

  1. コマンドプロンプトで、[JAVA HOME]/bin に移動し、次のコマンドを入力して CSR が署名された CA のルート証明書を読み込みます。

    keytool -import -trustcacerts -file rootcert.pem -keystore keystorename.keystore -alias root

    ルート証明書がブラウザーにない場合は、ブラウザーにも読み込みます。

    注意: [JAVA_HOME] は JDK がインストールされているディレクトリに、イタリックのテキストは自分の環境に対応する値に置き換えます。
  2. コマンドプロンプトで、[JAVA HOME]/bin に移動し、次のコマンドを入力して秘密鍵証明書をキーストアに読み込みます。

    keytool -import -trustcacerts -file CACertificateName.crt -keystore keystorename.keystore

    注意: [JAVA_HOME] は JDK がインストールされているディレクトリに、イタリックのテキストは自分の環境に対応する値に置き換えます。
    注意: 自己署名の公開証明書が存在する場合は、読み込んだ CA 署名付き証明書に置き換えられます。
  3. SSL 秘密鍵証明書の作成の手順 13~18 を実行します。