OnTimeサーバーにSSL証明書を設定する(Ver.3.7以降)

0.よく閲覧される記事, 4.管理者

1.はじめに

OnTimeはVer.3.7よりHTTPS通信はTomcatに実装し直しました。今後”URLForwarder”サービスは利用しません。
但し以下の2つの認証機能を利用する場合は引き続き従来のSSLの実装も必要となります。
通常はメールによるワンタイムトークン発行による認証方式をお勧めしています。
よって下記2つの機能を使わない場合は本FAQでご案内するSSLの実装だけでご利用頂けます。

  1. 「OnTime AD Web Authentication (SSO) 」
    “OnTimeMS Auth”サービス
    ADにログインしているWindows端末でブラウザのSSOを行う機能
  2. 「OnTime ADFS login Authentication (ACS) 」
    “OnTimeMS ACS”サービス
    ADFSを利用したAccess Control ServiceでSSOを行う機能

上記を必要とする場合は以下のリンクの実装も行って下さい。
OnTimeサーバーにSSL証明書を設定する(OnTime ACS 及び OnTime Auth)

2.OnTime Tomcat へのSSL証明書の実装

Tomcatの実装方法に基づき、OnTimeでは以下の3つのファイルを準備して配備します。
ダウンロード頂いたプログラムではTomcatのserver.xml(Ontime.x.x\tomcat\conf内)に予めpemファイル名と保存先のフォルダを記述していますので以下の3つのファイル名は同じ名前でご準備下さい。
1. ontime-rsa-key.pem
2. ontime-rsa-cert.pem
3. ontime-rsa-chain.pem

3.3つのpemファイル作成方法

OnTimeサーバーをSSL化するには.pfx形式か.p12形式の証明書ファイルを先にご準備下さい。
この証明書ファイルからOpenSSLを利用して3つのPemファイルを作成します。
OpenSSLツールはご自身でご準備下さい。

次にOpenSSL用に準備した環境で以下のコマンドを順に実行して3つのpemファイルを準備します。
xxxx.pfxファイルはご準備された証明書ファイルです。適宜修正して実行して下さい。

  1. 証明書ファイルからサーバーの秘密鍵を取得します。
    以下のコマンドを実行することでパスワードで保護されたprivate.pemファイルが生成されます。
    openssl pkcs12 -nodes –nocerts -in xxxxx.pfx -out private.pem

  2. 続いてprivate.pemファイルからパスワードを削除します。
    以下のコマンドを実行することでパスワードなしのサーバー秘密鍵が含まれたontime-rsa-key.pemファイルが生成されます。
    openssl rsa -in private.pem -out ontime-rsa-key.pem

  3. 証明書ファイルからサーバー証明書を取得します。
    以下のコマンドを実行することでサーバー証明書が含まれたontime-rsa-cert.pemファイルが生成されます。
    openssl pkcs12 -in xxxxx.pfx -clcerts -nokeys -out ontime-rsa-cert.pem

  4. 証明書ファイルから証明書チェーンを抽出します。
    以下のコマンドを実行することでサーバー証明書に関連付けられた証明書チェーン、ルートCA、および中間CAが含まれたontime-rsa-chain.pemファイルが生成されます。
    openssl pkcs12 -nokeys -in xxxxx.pfx -out ontime-rsa-chain.pem

4.OnTime Tomcatへの3つのpemファイルの配備

3つのpemファイルの準備が同じくserver.xmlで指定した以下のフォルダに3つのpemファイルをコピーしてください。
C:\ProgramData\IntraVision\OnTimeGCMS\keys\
最後に念のためOSの再起動を行ってください。以上で実装は完了します。

5.補足(http通信もhttps通信にリダイレクトする方法)

ちなみにhttpもhttpsにリダイレクトさせたい場合は、以下のOnTime管理センターの「HTTPSへのリダイレクト」にチェックをつけてください。

関連記事一覧