クライアント証明書を使用して、有効な証明書を持っているユーザーにアクセスを制限することによって、SGD Gateway のセキュリティーを強化できます。
クライアント証明書とは、クライアントデバイスのブラウザにインストールされる SSL 証明書です。クライアント証明書のインストール方法については、ブラウザのオンラインドキュメントを参照してください。
新しいクライアント証明書の証明書発行リクエスト (CSR) を生成する必要がある場合は、「クライアント証明書の CSR を生成する方法」を参照してください。
次の手順では、keytool アプリケーションが使用されています。keytool アプリケーションを使用する方法の詳細については、JDK Tools and Utilities のドキュメントを参照してください。
SGD Gateway ホストにスーパーユーザー (root) としてログインします。
SGD Gateway を停止します。
# /opt/SUNWsgdg/bin/gateway stop
HTTPS クライアント接続にクライアント証明書が使用されるように、SGD Gateway を構成します。
次のように、<needClientAuth>
エントリを /opt/SUNWsgdg/etc/gateway.xml
ファイルに追加します。
<service id="http-ssl-service" class="SSL">
<needClientAuth>true</needClientAuth>
<!-- Decrypts HTTPS traffic -->
<subService id="ssl-splitter">
<binding>*</binding>
</subService>
(オプション) クライアント証明書を SGD Gateway クライアントキーストアにインポートします。
クライアント証明書が、信頼された認証局 (CA) によって署名されている場合、このステップを実行する必要はありません。
keytool コマンドを次のように使用します。
# /opt/SUNWsgdg/java/default/bin/keytool -importcert \ -alias mycert -keystore /opt/SUNWsgdg/proxy/etc/keystore.client \ -file mycert.crt -storepass ‘cat /opt/SUNWsgdg/etc/password‘
この例では、クライアント証明書 mycert.crt
が SGD Gateway クライアントキーストアにインポートされます。クライアント証明書は、mycert
の別名で保存されます。
SGD Gateway を起動します。
# /opt/SUNWsgdg/bin/gateway start
Gateway で使用できるクライアント証明書を取得するには、最初に CSR を生成する必要があります。次に、CSR を認証局 (CA) に送信して署名を受けます。
この手順では、Gateway ホスト上で keytool アプリケーションを使用して CSR を生成する方法を示します。ただし、この手順に記載するステップを使用する必要はありません。その代わりに、使い慣れた証明書管理ツールを使用して CSR を生成できます。
SGD Gateway ホストにスーパーユーザー (root) としてログインします。
自己署名付き証明書および対応する非公開鍵を生成します。
keytool コマンドを次のように使用します。
# /opt/SUNWsgdg/java/default/bin/keytool -genkeypair -keyalg RSA \ -alias mycert -keystore keystore.mycert -storepass letmein
この例では、自己署名付き証明書と非公開鍵は、keystore.mycert
と呼ばれるキーストア内で作成および保管されます。鍵ペアは、mycert
の別名で保存されます。
自己署名付き証明書の CSR を生成します。
keytool コマンドを次のように使用します。
# /opt/SUNWsgdg/java/default/bin/keytool -certreq \
-alias mycert -keystore keystore.mycert -storepass letmein \
-file /tmp/gateway-name
.csr
この例では、CSR は /tmp/
というファイル内に生成および保管され、ここで gateway-name
.csrgateway-name
は Gateway の名前です。