SSL/TLS通信設定

本章では、CAP(EDM)のICE Message Router 互換機能でSSL/TLS通信を有効化するための設定について記載します。

1. URLの設定

/opt/nec/pf/ice/msgrouter_core/conf/core_config.json に以下の値を設定してください
mqtt.urlは必ず、mqtt.webSocketUrlはMQTT over WebSocketを利用する場合に追加で指定してください。

  • mqtt.urlの値が”mqtt+nio+ssl://”から始まるURL
  • mqtt.webSocketUrlの値が”wss://”から始まるURL

(設定例)

{
    "mqtt": {
        "url": "mqtt+nio+ssl://0.0.0.0:1883"
    },
    "mongodb": {
        "url": "mongodb://<ユーザ名>:<パスワード>@<MongoDBホスト名>:<ポート番号>/rawdata?authSource=admin"
    }
}

2. Javaのシステムプロパティの設定

以下のファイルに javax.net.ssl のシステムプロパティを設定します。

  • /usr/lib/systemd/system/ice-message-router.service

(設定例)

(前略)
ExecStart=/usr/bin/java -classpath '/opt/nec/pf/ice/msgrouter_core/lib/*' -Dlog4j.configurationFile=/opt/nec/pf/ice/msgrouter_core/conf/log4j2.xml -Djavax.net.ssl.keyStore=/opt/nec/pf/ice/msgrouter_core/conf/svkey.p12 -Djavax.net.ssl.keyStorePassword=changeit -Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.trustStore=/opt/nec/pf/ice/msgrouter_core/conf/trust.jks -Djavax.net.ssl.trustStorePassword=changeit -Djavax.net.ssl.trustStoreType=jks com.nec.connexive.ice.router.Launcher
(後略)

指定するプロパティは以下となります。

システムプロパティ 説明
javax.net.ssl.keyStore キーストアファイルのファイルシステム上のパスを指定してください。
javax.net.ssl.keyStorePassword キーストアファイルのパスワードを指定してください。
javax.net.ssl.keyStoreType キーストアの種類を指定します。”jks”と”pkcs12”が指定可能です。
javax.net.ssl.trustStore トラストストアファイルのファイルシステム上のパスを指定してください。
javax.net.ssl.trustStorePassword トラストストアファイルのパスワードを指定してください。
javax.net.ssl.trustStoreType トラストストアの種類を指定します。”jks”と”pkcs12”が指定可能です。

3. サービスの再起動

上記設定ファイルの変更後サービスのリロードと再起動を実施してください。

systemctl daemon-reload
systemctl restart ice-message-router