C.7. SGD Gateway でのクライアント証明書の使用

クライアント証明書を使用して、有効な証明書を持っているユーザーにアクセスを制限することによって、SGD Gateway のセキュリティーを強化できます。

クライアント証明書とは、クライアントデバイスのブラウザにインストールされる SSL 証明書です。クライアント証明書のインストール方法については、ブラウザのオンラインドキュメントを参照してください。

新しいクライアント証明書の証明書発行リクエスト (CSR) を生成する必要がある場合は、「クライアント証明書の CSR を生成する方法」を参照してください。

次の手順では、keytool アプリケーションが使用されています。keytool アプリケーションを使用する方法の詳細については、JDK Tools and Utilities のドキュメントを参照してください。

C.7.1. クライアント証明書が使用されるように SGD Gateway を構成する方法

  1. SGD Gateway ホストにスーパーユーザー (root) としてログインします。

  2. SGD Gateway を停止します。

    # /opt/SUNWsgdg/bin/gateway stop
  3. 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>
    
  4. (オプション) クライアント証明書を 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 の別名で保存されます。

  5. SGD Gateway を起動します。

    # /opt/SUNWsgdg/bin/gateway start

C.7.2. クライアント証明書の CSR を生成する方法

Gateway で使用できるクライアント証明書を取得するには、最初に CSR を生成する必要があります。次に、CSR を認証局 (CA) に送信して署名を受けます。

注記

この手順では、Gateway ホスト上で keytool アプリケーションを使用して CSR を生成する方法を示します。ただし、この手順に記載するステップを使用する必要はありません。その代わりに、使い慣れた証明書管理ツールを使用して CSR を生成できます。

  1. SGD Gateway ホストにスーパーユーザー (root) としてログインします。

  2. 自己署名付き証明書および対応する非公開鍵を生成します。

    keytool コマンドを次のように使用します。

    # /opt/SUNWsgdg/java/default/bin/keytool -genkeypair -keyalg RSA \
    -alias mycert -keystore keystore.mycert -storepass letmein

    この例では、自己署名付き証明書と非公開鍵は、keystore.mycert と呼ばれるキーストア内で作成および保管されます。鍵ペアは、mycert の別名で保存されます。

  3. 自己署名付き証明書の 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.csr というファイル内に生成および保管され、ここで gateway-name は Gateway の名前です。