TLS証明書のpemファイルの配置とポート番号変更の設定について
OnTime同期ハブは以下の2つから接続が行われます。
1.MicrosoftクラウドからのWebhookによるMicrosoft Graph の変更通知(Microsoft Graph Change Notifications)
接続のポート番号は変更できます。
TLS証明書による通信を必須とします。
2.OnTimeサーバーからの同期確認
接続のポート番号は変更できます。
TLS証明書による通信を必須ではありません。
上記ポート番号やTLS証明書ファイルの配置場所などの内容を設定しているのがotSubHub.jsonファイルです。
TLS証明書のpemファイルの配置
OnTimeサーバーと同じマシンに構築する場合はOnTimeサーバーで利用中のpemファイルをそのまま利用します。
独立したマシンに構築する場合は、OnTime同期ハブ用に準備したpemファイルをご利用ください。ファイル名は自由です。
必要とするファイルは以下の2つです。
- ontime-rsa-key.pem
パスワードなしのサーバー秘密鍵が含まれたpem形式のファイル - ontime-rsa-cert.pem
サーバー証明書が含まれたpem形式のファイル
pemファイルの作成やOnTimeサーバーの配置場所については以下の記事を参照ください。

本マニュアルでは同じマシンに構築するとして、すでに以下の2つのファイルがある前提で説明します。
OnTimeサーバー用に利用している2つのpemファイルをファイルコピーなどで準備します。

c:\nodeの配下にcertsフォルダを作成して2つのpemファイルを配置します。

otSubHub.jsonファイルの編集
「otSubHub.json」ファイルは「c:\node\otsubhub」フォルダにあります。

テキストエディタで開きます。
Windows標準のメモ帳をテキストエディタとして利用する場合は改行が正しく表示されない場合があります。その場合は適切に表示されるテキストエディタをご準備ください。
デフォルトでは以下の内容となります。

「noticeServer」オブジェクトは「Microsoft Graphの変更通知(Microsoft Graph Change Notifications)」用の設定です。
「backendServer」オブジェクトはOnTimeサーバー用の設定です。
いずれもprotocol、port、key、certなどを設定します。
「graph」「ews」オブジェクトについてはパフォーマンスに関する設定です。OnTime Shopから指示がない限り修正しません。
- protocol
https、httpを指定します。noticeServerについてはhttpsの固定です。 - port
別マシンの場合は、Microsoft Graph向けに443、OnTimeサーバー向けに8443を利用すれば、ネットワーク的にOnTimeサーバーと同じポート開放設定を利用できます。外部からは443による通信のみ受け入れします。
同一マシンの場合は、443と8443はOnTimeサーバーで既に利用しています。なので例えば、Microsoft向けには9010、OnTimeサーバー向けには9020をメーカー推奨とします。構築環境に応じて変更可能です。 - key
先ほどのontime-rsa-key.pemをドライブから絶対位置で指定します。 - cert
先ほどのontime-rsa-cert.pemをドライブから絶対位置で指定します。 - url
Microsoftに指示する変更通知を送信させるWebhook用のサーバーを指定します。
443以外の場合はポート番号も指定します。 - clientState
OnTime同期ハブのインストール時にotSubHub.jsonファイルで定義される一意の値です。
Microsoftからの各変更通知に含まれる「clientState」プロパティ(最大128文字)を表し、「clientState」値と照合することで通知の信頼性を検証します。 - secretKey
OnTime同期ハブのインストール時にotSubHub.jsonファイルで定義される一意の値です。
OnTimeサーバーからOnTime同期ハブへの通信に含まれ、両者間で交換時に利用されます。
OnTime管理センターの設定で利用しますのでコピーしておきます。
otSubHub.jsonファイルのサンプル設定
以下にサンプルをご紹介します。
同一マシンの場合は推奨ポート番号を利用した設定、別マシンの場合はデフォルトでOnTimeサーバーと同じポートを利用した設定です。
{
"noticeServer": {
"protocol": "https",
"port": 9010,
"key": "c:/node/certs/ontime-rsa-key.pem",
"cert": "c:/node/certs/ontime-rsa-cert.pem",
"payload": {
"url": "https://ontime.ontimedemo.com:9010",
"clientState": "j80hv---独自に生成される一意の値---s+A/Y="
}
},
"backendServer": {
"protocol": "https",
"port": 9020,
"key": "c:/node/certs/ontime-rsa-key.pem",
"cert": "c:/node/certs/ontime-rsa-cert.pem",
"secretKey": "1MeP3J---独自に生成される一意の値---1qQhU4="
},
"graph": {
"expiration_min": 1440,
"subscribe_threads": 3,
"renew_threads": 3,
"unsubscribe_threads": 5
},
"ews": {
"subscribe_threads": 5
}
}
otSubHub.jsonの内容が整ったらファイルを保存します。
サービスの起動
otSubHub.jsonの準備が出来たのでWindowsサービスで「otSubHub Service」を起動します。

「実行中」の表示がされることを確認ください。

続く作業について
続いてOnTime管理センターのドメイン設定で設定します。