SSL/TLS 証明書の取得とインストール

Denodo Platform サーバーとクライアントの間で SSL/TLS を有効化する前に、キーペア (公開キーおよび関連付けられている秘密キー) と証明書を使用して キーストア を作成する必要があります。それには、以下のいずれかの選択肢を実行します。

  1. SSL 秘密キーを持って いない 場合、 自己署名秘密キーを使用してキーストアを作成 できます。

  2. SSL 秘密キーを持って いない 場合、 証明機関 (CA) に要求を送信して、応答の証明書を使用してキーストアを作成 できます。

  3. 秘密キーを含む PFX ファイルを持っている場合、 その内容を使用してキーストアを作成 します。

  4. すでにキーストアファイル (通常、このファイルの拡張子は「jks」です) が存在する場合、ここは読み飛ばして、 のセクションに進みます。

1 番目から 3 番目のオプションでは、keytool というツールを使用します。このツールのパラメーターの詳細については、 keytool のドキュメントの Windows 版Linux 版 を参照してください。

重要

JKS キーストアを使用する必要があります。PKCS12 キーストアはサポートされていません。

自己署名証明書によるキーストアの作成

このセクションでは、キーペア (公開キーおよび関連付けられている秘密キー) とその自己署名証明書 (X.509 v3 自己署名証明書) を生成する方法について説明します。

Denodo サーバーを実行するホストでコマンドラインを開いて、以下のコマンドを実行します。

手順 #1. キーペアを生成します。

以下のコマンドを実行します (Linux では \/ に置き換えます)。

cd <DENODO_HOME>
.\jre\bin\keytool -genkeypair -alias denodo-server-self-signed -keyalg RSA -keysize 2048 -keystore denodo_server_key_store.jks -validity 365 -deststoretype JKS

新しいキーストアのパスワードを入力し、もう 1 回入力します。 このパスワードを書き留めます 。後続の設定中にこのパスワードが必要になります。パスワードがわからなくなった場合、回復することはできません。

Entering the attributes of the certificate

パスワードを入力した後、証明書の属性を入力する必要があります。これらの属性のいずれかに &、@、または Shift キーを使用するその他の記号がある場合は、記号が表す文字として記述するか、記号を省略して登録します。たとえば、「Oil & Gas Corporation」は「Oil and Gas Corporation」と入力します。

注釈

このコマンドを実行すると、以下の警告が表示されます。

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore denodo_server_key_store.jks -destkeystore denodo_server_key_store.jks -deststoretype pkcs12".

これは無視してください。PKCS12 形式のキーストアを使用すると、Denodo Web アプリケーションは起動しません。

手順 #2. 自己署名公開キーをファイルにエクスポートします。

以下のコマンドを実行します (Linux では \/ に置き換えます)。

.\jre\bin\keytool -exportcert -alias denodo-server-self-signed -keystore denodo_server_key_store.jks -file denodo_server_public_key.cer

「手順 #1」で入力したパスワードを入力します。

このコマンドは、証明書を denodo_server_public_key.cer ファイルにエクスポートします。

手順 #3. 証明書を Denodo サーバーのトラストストアにインポートします。

以下のコマンドを実行します (Linux では \/ に置き換えます)。

.\jre\bin\keytool -importcert -alias denodo-server-self-signed -file denodo_server_public_key.cer -cacerts -storepass "changeit" -noprompt

手順 #4. この Denodo サーバーに接続する Virtual DataPort Administration Tool に公開キーをコピーします。

このサーバーの cacerts ファイル (<DENODO_HOME>/jre/lib/security ディレクトリにあります) を、このサーバーに接続する Virtual DataPort Administration Tool が存在する すべて のコンピュータにコピーして、その cacerts で <DENODO_HOME>/jre/lib/security/cacerts ファイルを置き換えます。

cacerts ファイルには公開キーのみが含まれ、秘密キーは含まれないので、自由に共有可能であり、いかなるセキュリティリスクも生じません。


または別の方法として 、cacerts ファイルをコピーする代わりに、公開鍵のみをインポートすることもできます。これを行うには、 denodo_server_public_key.cer ファイルを Denodo サーバーから クライアントの ディレクトリ <DENODO_HOME> にコピーし、このクライアントでコマンドラインを開いて、次のコマンドを実行します。

cd <DENODO_HOME>
.\jre\bin\keytool -importcert -alias denodo-server-self-signed -file denodo_server_public_key.cer -cacerts -storepass "changeit" -noprompt

-importcert パラメーターを使用すると、Denodo Platform に含まれる Java Runtime Environment のトラストストアに自己署名証明書がインポートされます。「changeit」は、あらゆる Java Runtime Environment に含まれる cacerts ファイルのデフォルトのパスワードです。


手順 #5. 公開キーを JDBC クライアントにインポートします。

  1. サーバーから denodo_server_public_key.cer ファイルをクライアントアプリケーションのコンピュータにコピーします。

  2. JDBC クライアントが使用する Java Runtime Environment (JRE) を探します。

  3. このコンピュータでコマンドラインを開き、以下のコマンドを実行します。

keytool -importcert -alias denodo-server-self-signed -file denodo_server_public_key.cer -cacerts -storepass "changeit" -noprompt

ODBC を使用して Denodo に接続するクライアントには、公開キーをインポートする必要はありません。


証明書をクライアントのトラストストア (cacerts ファイル) にインポートする必要があります。なぜなら、この証明書は、パブリック証明機関 (CA) によって署名されたのではなく、自己署名されているからです。したがって、デフォルトでは、外部クライアントはこの証明書を信頼せず、Denodo サーバーへの SSL 接続の確立を拒否します。


証明書を配置したら、 次のセクション に進んで、Denodo サーバーとそのクライアントで SSL を有効化します。

証明機関 (CA) への証明書要求の送信、およびその応答によるキーストアの作成

このセクションでは、パブリック証明機関 (CA) によって署名された証明書を使用できるように「証明書署名要求 (CSR)」を送信する方法、およびその応答を使用してキーストアを作成する方法について説明します。

Denodo サーバーを実行するホストでコマンドラインを開いて、以下のコマンドを実行します。

手順 #1. キーストアと秘密キーを作成します。

以下のコマンドを実行します (Linux では \/ に置き換えます)。

cd <DENODO_HOME>
.\jre\bin\keytool -genkeypair -alias denodo-server -keyalg RSA -keysize 2048 -keystore denodo_server_key_store.jks -deststoretype JKS -v

新しいキーストアのパスワードを入力し、もう 1 回入力します。 このパスワードを書き留めます 。後続の設定中にこのパスワードが必要になります。パスワードがわからなくなった場合、回復することはできません。

Entering the attributes of the certificate

これらの属性のいずれかに &、@、または Shift キーを使用するその他の記号がある場合は、記号が表す文字として記述するか、記号を省略して登録します。たとえば、「Oil & Gas Corporation」は「Oil and Gas Corporation」と入力します。

キーのパスワードの入力を求められたら (コマンドラインに「 (RETURN if same as keystore password) 」と表示されたら)、 Enter キーを押して、キーストアと同じパスワードにします。キーとキーストアは同じパスワードを使用する必要があります。

注釈

このコマンドを実行すると、以下の警告が表示されます。

Warning:
The JKS keystore uses a proprietary format. It is recommended to migrate to PKCS12 which is an industry standard format using "keytool -importkeystore -srckeystore denodo_server_key_store.jks -destkeystore denodo_server_key_store.jks -deststoretype pkcs12".

これは無視してください。PKCS12 形式のキーストアを使用すると、Denodo Web アプリケーションは起動しません。

手順 #2. 証明書署名要求 (CSR) を生成します。

以下のコマンドを実行します。

.\jre\bin\keytool -certreq -alias denodo-server -file denodo_certificate_signing_request.csr -keystore denodo_server_key_store.jks -sigalg SHA1withRSA -v

手順 #1 で入力したキーストアのパスワードを入力する必要があります。

denodo_certificate_signing_request.csr ファイルに証明書要求が含まれているので、これを証明機関 (CA) に送信します。

手順 #3. 証明書応答をキーストアにインポートします。

証明書応答を取得したら、キーストアにインポートします。その手順は、PCKS#7 証明書または X.509 証明書のどちらを取得したのかによって異なります。

  1. X.509 証明書 は、通常は拡張子が cer であり、 -----BEGIN CERTIFICATE----- で始まるテキストファイルです。この種類の証明書を取得した場合、以下の 2 つの手順を実行する必要があります。

    1. CA によって異なりますが、多くの場合、CA の中間証明書を取得する必要があります。取得した後で、以下のコマンドを実行します。

    .\jre\bin\keytool -import -trustcacerts -alias intermediate_ca -keystore denodo_server_key_store.jks -file <INTERMEDIATE CERTIFICATE FILENAME.cer>
    
    1. 証明書をインポートします。

    .\jre\bin\keytool -import -trustcacerts -alias denodo-server -keystore denodo_server_key_store.jks -file <YOUR CERTIFICATE FILENAME.cer>
    

    注釈

    パラメーター alias は、前の手順で ( keytool -certreq を実行したときに) 指定した別名と一致する必要があります。

  2. PKCS#7 証明書 は、通常は拡張子が p7b です。以下のコマンドを実行して、キーストアにインポートします。

    .\jre\bin\keytool -import -trustcacerts -alias denodo-server -keystore denodo_server_key_store.jks -file <YOUR CERTIFICATE FILENAME.p7b>
    

    注釈

    パラメーター aliaskeystore は、前の手順で ( keytool -certreq を実行したときに) 指定した別名と一致する必要があります。

手順 #4. キーストアの内容を確認します。

キーストアに適切な証明書が含まれていることを確認します。それには、コマンドラインから以下のコマンドを実行します。

.\jre\bin\keytool -list -v -keystore denodo_server_key_store.jks

以下のようなテキストが出力されます。

Alias name: denodo-server...
Creation date: Nov 15, 2017
Entry type: PrivateKeyEntry
Certificate chain length:
...
...

「Entry Type」の値は PrivateKeyEntry または KeyEntry である必要があります。

このコマンドから複数のエントリが返される場合があります。その場合、その中に「Entry Type」の値が PrivateKeyEntry または KeyEntry であるエントリが 1 つだけ存在する 必要があります。あまり認知されていない証明機関 (CA) から秘密キーを取得した場合、キーストアに複数のエントリが存在します。したがって、「keytool」は、秘密キーをインポートする際にその CA のパブリック証明書もインポートします。

証明書を配置したら、 次のセクション に進んで、Denodo サーバーとそのクライアントで SSL を有効化します。

PFX ファイル (PKCS#12) からのキーストアの作成

PKCS #12 バンドルには、秘密キーとその X.509 証明書が含まれます。これらのバンドルのファイル拡張子は、通常は .pfx または .p12 です。

PKCS バンドルからキーストアを作成する場合、 Denodo SSL/TLS Configurator Script を使用するか、またはコマンドラインを開いて以下の手順を実行します。

手順 #1. PKCS #12 ファイルの証明書をリストします。

cd <DENODO_HOME>
.\jre\bin\keytool -list -keystore <PFX file name> -storetype pkcs12 -v

このコマンドは、このファイルに含まれる証明書をリストします。以下のようなテキストが出力されます。

Keystore type: PKCS12
Keystore provider: SunJSSE

Your keystore contains 1 entry

Alias name: 91fd6b6a-5e7e-4e32-b963-6faf6439aaae
...
...
...

属性「Alias name」の値をコピーします。

手順 #2. キーをキーストアにインポートします。

.\jre\bin\keytool -importkeystore -trustcacerts --srckeystore "<PFX certificate file name>" -srcalias "<ALIAS OF THE KEY TO IMPORT>" -destkeystore denodo_server_key_store.jks -destalias "denodo_server" -srcstoretype PKCS12 -deststoretype JKS

<ALIAS OF THE KEY TO IMPORT> を前の手順で取得した「Alias name」の値で置き換えます。

PFX バンドルのパスワードと新しいキーストアのパスワードを指定する必要があります。

手順 #3. キーストアの内容を確認します。

以下のコマンドを実行して、キーストアに適切な証明書が含まれていることを確認します。

.\jre\bin\keytool -list -v -keystore denodo_server_key_store.jks

以下のようなテキストが出力されます。

Alias name: denodo-server...
Creation date: Jul 1, 2016
Entry type: PrivateKeyEntry
Certificate chain length:
...
...

「Entry Type」の値は PrivateKeyEntry または KeyEntry である必要があります。

このコマンドから複数のエントリが返される場合があります。その場合、その中に「Entry Type」の値が PrivateKeyEntry または KeyEntry であるエントリが 1 つだけ存在する 必要があります。あまり認知されていない証明機関 (CA) から秘密キーを取得した場合、キーストアに複数のエントリが存在します。したがって、「keytool」は、秘密キーをインポートする際にその CA のパブリック証明書もインポートします。

手順 #4. 証明書をファイルにエクスポートします。

.\jre\bin\keytool -exportcert -alias "denodo_server" -keystore denodo_server_key_store.jks -file denodo_server_public_key.cer

「手順 #2」で新しいキーストア用に入力したパスワードを入力します。

手順 #5. 証明書を Denodo サーバーのトラストストアにインポートします。

以下のコマンドを実行します (Linux では \/ に置き換えます)。

.\jre\bin\keytool -importcert -alias "denodo_server" -file denodo_server_public_key.cer -cacerts -storepass "changeit" -noprompt

このコマンドは、Denodo Platform に含まれる Java Runtime Environment のトラストストアに証明書をインポートします。

証明書を配置したら、 次のセクション に進んで、Denodo サーバーとそのクライアントで SSL を有効化します。