HTTPS設定

DataSpiderServerと各種コンポーネントとの通信をHTTPSで行うには、サーバ証明書と通信データを暗号化/復号化するための公開鍵および秘密鍵が、DataSpiderServerが参照するキーストアにインポートされている必要があります。
本ページでは、Javaのkeytoolを使ってサーバ証明書および鍵を生成し、キーストアにインポートする手順について記述します。

keytoolとは、Javaで提供されている鍵と証明書を管理するためのユーティリティです。
keytoolについては、「keytool」(http://docs.oracle.com/javase/8/docs/technotes/tools/windows/keytool.html)を参照してください。
HTTPS設定を行うことで、DataSpiderServerはHTTPSサーバとして機能し、各種コンポーネントとの通信をHTTPSで行うことができます。

keytoolを使った鍵とサーバ証明書の生成

keytoolの実行ファイルの配置場所

鍵とサーバ証明書の生成

鍵とサーバ証明書の生成は、以下の手順で行います。(自己署名証明書の場合、2.と3.は必要ありません。)
  1. 鍵の生成
    コマンドプロンプト(UNIX/Linux版の場合シェル)を起動します。鍵を生成するには、keytool -genkeypairコマンドを用います。このコマンドは、DataSpiderServer用の鍵のペア(公開鍵および関連する非公開鍵)を生成し、-keystoreオプションで指定したキーストアに格納します。公開鍵は自己署名証明書でラップされます。

    HTTPS通信を有効にするためのキーストアの配置場所は以下の通りです。
    keytool -genkeypair -alias <エイリアス名> -keyalg RSA -keystore $DATASPIDER_HOME\server\system\common\classes\.keystore
    キーストアのパスワードを入力してください:  changeit
    姓名を入力してください。
      [Unknown]:  hostname
    組織単位名を入力してください。
      [Unknown]:  CS
    組織名を入力してください。
      [Unknown]:  companyname
    都市名または地域名を入力してください。
      [Unknown]:  Bunkyo-ku
    州名または地方名を入力してください。
      [Unknown]:  Tokyo
    この単位に該当する 2 文字の国番号を入力してください。
      [Unknown]:  JP
    CN=hostname, OU=CS, O=companyname, L=Bunkyo-ku, ST=Tokyo, C=JP でよろしいですか?
      [no]:  yes

    <エイリアス名> の鍵パスワードを入力してください。
            (キーストアのパスワードと同じ場合は RETURN を押してください):                    ※キーストアのパスワードと同じにするのでEnterキーを打鍵します。

    keytool -genkeypairコマンドを実行すると、姓名(CN)、組織名(O)、組織単位名(OU)、都市名または地域名(L)、州名または地方名(ST)、国番号(C)の項目の入力が求められます。
    項目の説明
    項目 指定する情報 注意点
    姓名(CN) DataSpiderServer稼働OSのホスト名を指定します。 CAによってはブラウザで指定するURLのドメイン名と一致させる必要があります。
    組織名(O) 部門・部署名など、任意の識別名称を指定します。 CAによっては英語名称で指定するなど、使用できる文字や文字数に制限があります。
    組織単位名(OU) 組織名を指定します。 CAによっては使用できる文字や文字数に制限があります。
    都市名または地域名(L) 組織の所在地情報(市区町村名)を指定します。 CAによっては使用できる文字や文字数に制限があります。
    州名または地方名(ST) 組織の所在地情報(都道府県名)を指定します。 CAによっては使用できる文字や文字数に制限があります。
    国番号(C) ISO規定の国コードを指定します。 日本は「JP」です。
    ISO規定の国コードについては、「Online Browsing Platform (OBP)」(https://www.iso.org/obp/ui/#search)を参照してください。

    生成される証明書の有効日数は90日です。それ以上の日数を設定する場合は、-validityオプションで証明書の有効日数を指定します。

    例:証明書の有効日数を180日に指定する場合
    keytool -genkeypair -alias <別名> -keyalg RSA -keystore $DATASPIDER_HOME\server\system\common\classes\.keystore -validity 180

  2. 証明書署名要求(CSR)の作成
    (自己署名証明書の場合は必要ありません。)
    keytool -certreqコマンドを用いて証明書署名要求(CSR)を作成し、csrファイルに格納します。

    keytool -certreq -keystore $DATASPIDER_HOME\server\system\common\classes\.keystore -alias <別名> -file <CSRファイル名>.csr

    ここで生成されたファイル(*.csr)は、VeriSignなどのCAに提出します。CAは要求者を(通常はオフラインで)認証し、要求者の公開鍵を認証した署名付きの証明書を送り返します。場合によっては、CAが証明書の連鎖を返すこともあります。証明書の連鎖では、各証明書が連鎖内のその前の署名者の公開鍵を認証します。

  3. 証明書のインポート
    (自己署名証明書の場合は必要ありません。)
    1.で作成した証明書は自己署名証明書であるため、keytool -importcertコマンドを用いてCAから署名された証明書(または証明連鎖)をインポートする必要があります。このとき、CAの証明書(中間CAよりサーバ証明書を取得した際には、そのルートCAまでの証明書も含む)が、信頼するCAの証明書としてキーストアにインポートされている必要があります。
    Javaのcacertsキーストアファイルは、5つのVeriSignルートCA証明書を含んでいるため、VeriSignの証明書を信頼できる証明書としてキーストア内にインポートする必要はないかもしれません。 ただし、ほかのCAに対して署名付き証明書を要求していて、このCAの公開鍵を認証する証明書がcacertsにまだ追加されていない場合は、該当するCAからの証明書を「信頼できる証明書」としてインポートする必要があります。

    CAの証明書のインポート:
    keytool -importcert -keystore $DATASPIDER_HOME\jre\lib\security\cacerts -alias <認証の名称> -trustcacerts -file <認証のCERTファイル名>
    サーバ証明書のインポート:
    keytool -importcert -keystore $DATASPIDER_HOME\server\system\common\classes\.keystore -alias <別名> -file <CAから署名された証明書(または証明連鎖)>

  4. セキュリティの設定
    コントロールパネルの[DataSpiderServerの設定]-[セキュリティ]タブで[HTTPSを有効にする]にチェックを入れ、HTTPS通信時のポート番号とキーストアパスワードを設定します。

HTTPS通信の確認

DataSpiderServerを起動し、HTTPSでアクセスできるかを確認します。確認手順は以下の通りです。
  1. ウェブブラウザから「https://<DataSpiderServer稼働OSのホスト名またはIPアドレス>:<DataSpiderServerのSSLポート番号>/」を入力しDataSpiderServerにアクセスします。

  2. 画面に「DataSpider WebContainer」と表示されます。ここで、URLのURIスキームが「https」になっていること、錠前のマークが表示されることを確認してください。
    (Internet Explorerの場合、画面右下に表示されます。)


  3. 錠前マークをダブルクリックすると証明書を確認することができます。


  4. 以下の点を確認してください。
URLのURIスキームが「https」になっていること、錠前のマークが表示されることが確認でき、証明書の内容に問題がなければ、「HTTPS通信をしている」ということになります。

トラブルシューティング

ブラウザからアクセスしたらセキュリティの警告メッセージが表示される

DataSpiderServerにアクセスできない

以下の点を確認してください。

仕様制限