Hitachi

Hitachi Command Suite Configuration Manager REST API リファレンスガイド


1.8.6 REST APIクライアントとREST APIサーバ間でSSL通信するよう設定する(自己署名証明書を使用する場合)

REST APIクライアントとREST APIサーバ間で、自己署名証明書を使用してSSL通信するよう設定する手順を説明します。

背景

注意

サーバ証明書および秘密鍵は、REST APIサーバにログインしたすべてのユーザがアクセスできます。悪意のあるユーザがログインできないよう、ユーザアカウントの管理には十分に注意してください。

ヒント

Linuxの場合、OpenSSLのファイルが手順中のパスとは異なる場所に格納されていることがあります。次の手順では、opensslファイルおよびopenssl.cfgファイルがOpenSSLのインストール先>/binにある環境を想定しています。

次のコマンドを実行すると、openssl.cfgの格納先を確認できます。

OpenSSLのインストール先>/bin/openssl version -a | grep OPENSSLDIR

操作手順

  1. 次のコマンドを実行して、秘密鍵ファイルを作成します。

    Windowsの場合:
    OpenSSLのインストール先>\bin\openssl genrsa -out <秘密鍵ファイル> 2048
    Linuxの場合:
    OpenSSLのインストール先>/bin/openssl genrsa -out <秘密鍵ファイル> 2048

    オプション

    out
    作成する秘密鍵の出力先パスを指定します。出力先パスに同じ名称のファイルがある場合、ファイルが上書きされます。
    ヒント

    秘密鍵ファイルは、次の場所にcreatedServer.keyというファイル名で保存しておくことをお勧めします。

    Windowsの場合:
    REST APIのインストール先>\oss\apache\conf\ssl.key\createdServer.key
    Linuxの場合:
    REST APIのインストール先>/oss/apache/conf/ssl.key/createdServer.key

    このディレクトリには、REST APIが配置したserver.keyファイルが格納されています。server.keyファイルを上書きしないでください。

  2. 次のコマンドを実行して、証明書に書かれる情報を対話形式で入力し、証明書発行要求ファイルを作成します。

    Windowsの場合:
    OpenSSLのインストール先>\bin\openssl req -config <OpenSSLのインストール先>\bin\openssl.cfg -sha256 -new -key <秘密鍵ファイル> -out <証明書発行要求ファイル
    Linuxの場合:
    OpenSSLのインストール先>/bin/openssl req -config <OpenSSLのインストール先>/bin/openssl.cfg -sha256 -new -key <秘密鍵ファイル> -out <証明書発行要求ファイル

    オプション

    key
    手順1で作成した秘密鍵ファイル名を指定します。
    out
    作成する証明書発行要求の出力先パスを指定します。出力先パスに同じ名称のファイルがある場合、ファイルが上書きされます。

    入力する情報を次に示します。

    項目

    説明

    Country Name

    (必須)2 文字の国コードを指定します。

    State or Province Name

    (必須)都道府県名を指定します。

    Locality Name

    (任意)市区町村名または地域名を指定します。

    Organization Name

    (必須)組織名を指定します。

    Organization Unit Name

    (任意)組織の構成単位名を指定します。

    Common Name

    (必須)REST APIサーバの IP アドレスまたはホスト名を入力します。

    Email Address

    (任意)メールアドレスを指定します。

    A challenge password

    (任意)証明書を破棄するときに必要になるパスワードを指定します。

    An optional company name

    (任意)別の組織名を指定します。

  3. 次のコマンドを実行して、自己署名証明書ファイルを作成します。

    Windowsの場合:
    OpenSSLのインストール先>\bin\openssl x509 -req -sha256 -days <有効日数> -signkey <秘密鍵ファイル> -in <証明書発行要求ファイル> -out <自己署名証明書ファイル
    Linuxの場合:
    OpenSSLのインストール先>/bin/openssl x509 -req -sha256 -days <有効日数> -signkey <秘密鍵ファイル> -in <証明書発行要求ファイル> -out <自己署名証明書ファイル

    オプション

    days
    自己署名証明書の有効期間を日数で指定します。
    signkey
    手順1で作成した秘密鍵ファイル名を指定します。
    in
    手順2で作成した証明書発行要求のファイル名を指定します。
    out
    作成する自己署名証明書の出力先パスを指定します。出力先パスに同じ名称のファイルがある場合、ファイルが上書きされます。
    ヒント

    自己署名証明書ファイルは、次の場所にcreatedServer.crtというファイル名で保存しておくことをお勧めします。

    Windowsの場合:
    REST APIのインストール先>\oss\apache\conf\ssl.crt\createdServer.crt
    Linuxの場合:
    REST APIのインストール先>/oss/apache/conf/ssl.crt/createdServer.crt

    このディレクトリには、REST APIが配置したserver.crtファイルが格納されています。server.crtファイルを上書きしないでください。

  4. REST APIのサービスを停止します。

  5. user-httpsd-certificate.confファイルを編集して、秘密鍵ファイルおよびサーバ証明書ファイル(自己署名証明書ファイル)を設定します。

    user-httpsd-certificate.confファイルの格納場所

    Windowsの場合:
    REST APIのインストール先>\oss\apache\conf\userextra\user-httpsd-certificate.conf
    Linuxの場合:
    REST APIのインストール先>/oss/apache/conf/userextra/user-httpsd-certificate.conf

    user-httpsd-certificate.confファイルのSSLCertificateKeyFileおよびSSLCertificateFileに次の内容を指定します。

    SSLCertificateKeyFile
    手順1で作成した秘密鍵のファイル名を絶対パスで指定します。シンボリックリンクやジャンクションを指定しないでください。
    SSLCertificateFile
    手順3で作成したサーバ証明書(自己署名証明書)のファイル名を絶対パスで指定します。シンボリックリンクやジャンクションを指定しないでください。

    user-httpsd-certificate.confファイルの指定例

    Windowsの場合:
    SSLCertificateKeyFile "C:\Program Files\HiCommand\ConfManager\oss\apache\conf\ssl.key\createdServer.key"
    SSLCertificateFile "C:\Program Files\HiCommand\ConfManager\oss\apache\conf\ssl.crt\createdServer.crt"
    Linuxの場合:
    SSLCertificateKeyFile "/opt/HiCommand/ConfManager/oss/apache/conf/ssl.key/createdServer.key"
    SSLCertificateFile "/opt/HiCommand/ConfManager/oss/apache/conf/ssl.crt/createdServer.crt"
  6. REST APIのサービスを起動します。