SSL証明書の構成

Secure Socket Layer (SSL)は、保護されていないネットワークを介して送信されるデータに対してセキュアな通信を提供します。SSL終端シナリオでは、Oracle SOA Suiteインスタンスでクライアント・ブラウザとロード・バランサの間のSSLを構成して、アプリケーションが安全にアクセスされるようにできます。

SSLエンドツーエンドのシナリオでは、Oracle SOA Suiteドメインは、ドメインの作成時に生成された自己署名SSL証明書を使用するように構成されます。通常、クライアントは証明書の署名CAが不明で信頼できないことを示すメッセージを受信します。

SSLエンドツーエンド・シナリオでのカスタムSSL証明書の作成

このステップでは、Oracle SOA Suiteドメインのアイデンティティ・キーストアおよび信頼キーストアをカスタム・アイデンティティ・キーストアおよびカスタム信頼キーストアに置き換え、任意の第三者認証局から取得したデジタル証明書で登録する方法について説明します。

このドキュメントでは、登録済ドメインはmydomain.comで、CA署名証明書はmydomainから取得されます。

カスタム・アイデンティティおよびカスタム信頼キーストアの作成および証明書署名リクエスト(CSR)の生成

カスタム・アイデンティティおよびカスタム信頼キーストアを作成し、CSRを生成するには:

  1. Enterprise Manager (EM)コンソールにログインし、「WebLogicドメイン」→「セキュリティ」→「キーストア」を開いて「キーストア」ページにアクセスします。
  2. システム・ストライプの下で、「キーストアの作成」をクリックして新しいキーストアを作成します。
  3. カスタム・アイデンティティについて次の詳細を指定します:

    キーストア名: custIdentity保護: 「パスワード」オプションを選択します。キーストア・パスワード: パスワードを入力します。パスワードの確認: パスワードを確認します。

  4. 「キーストアの作成」をクリックして、別の新しいキーストアを作成します。
  5. カスタム信頼について次の詳細を指定します:
    • キーストア名: custTrust
    • 保護: 「パスワード」オプションを選択します。
    • キーストア・パスワード: パスワードを入力します。
    • パスワードの確認: パスワードを確認します。


    カスタム信頼キーストア

  6. custIdentityキーストア名で「管理」をクリックし、以前に指定したパスワードを指定します。
  7. 「キー・ペアの生成」をクリックして新しいキー・ペアを作成し、別名custIdentityおよびパスワードを使用してcustIdentityについて次の詳細を指定します:
    • 別名: custIdentity
    • 共通名: 共通名。たとえば、soak8s.mydomain.com(登録ドメイン名)
    • 組織単位: 組織単位の名前
    • 組織: 組織名
    • 国、都道府県、市区町村の名前を入力します
    • キーのタイプ: RSA
    • キー・サイズ: 2048
    • パスワード: パスワードを入力します
  8. 「OK」をクリックしてキー・ペアを生成します。
  9. 新しく作成したキー・ペアを選択し、「CSRの生成」をクリックします。
  10. 作成したCSRをエクスポートし、digicert CAなどの認証局と共有して、ルート、中間および署名付き証明書を取得します。「共通名」フィールドで使用したドメイン名の証明書が生成されます。

デフォルトのプロビジョニングに付属するsystemストライプの下にアイデンティティ・キーストアおよび信頼キーストアを作成することは必須ではありません。新しいカスタム・ストライプを作成し、その下にアイデンティティ・キーストアと信頼キーストアを作成できます。

CAとのCSRの共有によるCA署名証明書の取得

  1. custIdentityの下にある新しいキー・ペアを選択し、「CSRの生成」をクリックします。
  2. 作成したCSRをエクスポートし、認証局と共有して、ルート、中間および署名付き証明書を取得します。「共通名」フィールドで使用したドメイン名の証明書が生成されます。
  3. zipファイルで共有されている証明書をCAからダウンロードします。zipファイルには、次のいずれかが含まれます:
    • 3つの証明書(ルート、中間、および署名付き証明書)を個別に
    • 1つのチェーンにルート証明書と中間証明書、それとは別に署名証明書
  4. ルート証明書と中間証明書の証明書チェーンをダブルクリックします。証明パスをクリックすると、完全なチェーンを確認できます。
  5. 証明書パスに移動してルート証明書と中間証明書を個別に抽出し、抽出する証明書(ルートまたは中間)を選択し、「証明書の表示」をクリックします。
  6. 「証明書の表示」ポップアップで、「詳細」タブを選択し、「ファイルにコピー」をクリックします。
  7. 証明書のエクスポート・ウィザードで、「次」をクリックし、「Base 64 encoded X.509 (CER)」を選択して、「次」をクリックします。証明書をエクスポートします。
  8. エクスポートされた証明書には、それぞれルート証明書および中間証明書という名前を付けます。

CA証明書のインポート

認証局(CA)証明書は、最初に署名付きサーバー証明書、次に中間証明書、次にルート証明書の順にインポートする必要があります。

CA証明書をインポートするには:

  1. WLSTコマンドを使用して、アイデンティティ・キーストア(custIdentity)の証明書チェーンをインポートします:
    1. 3つの証明書を、署名付きサーバー証明書、中間証明書、ルート証明書の順にchain.pemという1つのテキスト・ファイルに結合します:
      -----BEGIN CERTIFICATE-----
      <signed server certificate>
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      <intermediate certificate>
      -----END CERTIFICATE-----
      -----BEGIN CERTIFICATE-----
      <root certificate>
      -----END CERTIFICATE-----
      
    2. kubectlコマンドを実行する場所(マスター・ノードなど)の/tmpにchain.pemを配置します。
    3. 次のコマンドを入力して、ファイルの所有権を1000:1000ユーザー/グループに変更します:
      sudo chown 1000:1000 /tmp/chain.pem
      
    4. /tmp/chain.pemを管理サーバーのポッド(soainfra-adminserverなど)にコピーします:
      kubectl cp /tmp/chain.pem soans/soainfra-adminserver:/tmp/chain.pem
      
    5. 管理サーバー・ポッドで実行し、すべての操作を実行します:
      kubectl exec -it soainfra-adminserver -n soans -- bash
      
    6. WLSTを起動し、Oracle Platform Security Services (OPSS)キーストア・サービスにアクセスします:
      cd /u01/oracle/oracle_common/common/bin/
      ./wlst.sh
      :
      :
      wls:/offline> connect("weblogic","Welcome1","t3://soainfra-adminserver:7001")
      :
      :
      wls:/soainfra/serverConfig/> svc = getOpssService(name='KeyStoreService')
      
    7. WLSTのimportKeyStoreCertificateコマンドを使用して、chain.pemをインポートします:
      svc.importKeyStoreCertificate(appStripe='stripe', name='keystore', password='password', alias='alias', keypassword='keypassword', type='entrytype',filepath='absolute_file_path')
      

      例:

      wls:/soainfra/serverConfig/> svc.importKeyStoreCertificate(appStripe='system', name='custIdentity', password=welcome1, alias='custIdentity', keypassword='welcome1', type='CertificateChain', filepath='/tmp/chain.pem')
      
    8. WLSTを終了します:
      exit()
  2. Oracle Enterprise Managerを使用して、証明書チェーンを信頼キーストア(custTrust)にインポートします:
    1. Enterprise Managerコンソールにログインし、「WebLogicドメイン」「セキュリティ」「キーストア」を開いて「キーストア」ページにアクセスします。
    2. 信頼キーストア(custTrust)を選択し、「管理」をクリックします。
    3. 「証明書のインポート」をクリックし、次の順序で証明書をインポートします:
      • 信頼できる証明書としての署名付きサーバー証明書(別名mySignedCert)

      • CAからの信頼できる証明書としての中間証明書(別名myInterCA)

      • CAからの信頼できる証明書としてのルート証明書(別名myRootCA)

ローカル・キーストアとセキュリティ・ストアの同期

キーストアを同期して、ドメイン・ホームとデータベース内のOracle Platform Security Services (OPSS)ストアの間で情報を同期します。

キーストアを同期するには:

  1. 管理サーバー・ポッド(soainfra-adminserverなど)で実行します。
    kubectl exec -it soainfra-adminserver -n soans -- bash
    
  2. WLSTを起動し、Oracle Platform Security Services (OPSS)キーストア・サービスにアクセスします。
    cd /u01/oracle/oracle_common/common/bin/
    ./wlst.sh
    :
    :
    wls:/offline> connect("weblogic","Welcome1","t3://soainfra-adminserver:7001")
    :
    :
    wls:/soainfra/serverConfig/> svc = getOpssService(name='KeyStoreService')
    
  3. カスタム・アイデンティティ・キーストアとカスタム信頼キーストアを同期するには、次のコマンドを入力します:

    ノート:

    このステップは、システム・ストライプを使用している場合にのみ必要です。カスタム・ストライプを使用している場合は、キーストアを同期する必要はありません。
    wls:/soainfra/serverConfig/> svc.listKeyStoreAliases(appStripe="system", name="custIdentity", password=" ****", type="*")
    wls:/soainfra/serverConfig/> syncKeyStores(appStripe='system',keystoreFormat='KSS')
    wls:/soainfra/serverConfig/> svc.listKeyStoreAliases (appStripe="system", name="myKSSTrust", password="****", type="*")
    wls:/soainfra/serverConfig/> syncKeyStores(appStripe='system',keystoreFormat='KSS')
    

カスタム・アイデンティティと信頼を使用したWebLogicキーストアの更新

WebLogicキーストアをカスタム・アイデンティティおよびカスタム信頼で更新するには:

  1. WebLogicリモート・コンソールで、管理サーバーに接続し、「ツリーの編集」→「環境」→「サーバー」→「AdminServer」→「セキュリティ」→「キーストア」タブに移動します。
  2. 「キーストア」を「カスタム・アイデンティティ」および「カスタム信頼」に変更し、保存します。
  3. カスタム・アイデンティティの値を指定します:
    • カスタム・アイデンティティ・キー・ストア・ファイル名:
      kss://system/custidentity
    • カスタム・アイデンティティ・キー・ストア・タイプ:
      KSS
    • カスタム・アイデンティティ・キー・ストアのパス・フレーズ: 次のものの作成時に指定したパスワードを入力します
      custIdentity
      キーストア。
  4. カスタム信頼の値を指定します:
    • カスタム信頼キー・ストア・ファイル名: kss://system/custTrust
    • カスタム信頼キー・ストア・タイプ: KSS
    • カスタム信頼キーストアのパスフレーズ: custTrustキーストアの作成時に指定したパスワードを入力します。
  5. 「保存」をクリックし、変更をコミットします。
  6. 「SSL」タブを開き、次の詳細を指定します:
    • サーバー秘密キーの別名: custIdentity(これは、custIdentityキーストアでのキー・ペアの作成中に指定された別名です。)
    • サーバー秘密キー・パスフレーズ: custIdentityキーストアのキー・ペアの作成時に指定されたパスワードを入力します。
  7. 「詳細」セクションで、「ホスト名検証」を「なし」に変更します。
  8. 「保存」をクリックし、変更をコミットします。
  9. すべての管理対象サーバーに対してステップ1から7を繰り返します。
  10. ドメインを再起動します。
  11. サーバーが起動して実行されると、SSL URLに更新された証明書が表示されているかどうかを確認できます。

詳細は、Oracle SOA Cloud Serviceの管理およびOracle Fusion Middlewareの管理を参照してください。

ロード・バランサのSSL終端でのカスタムSSL証明書の作成

この項では、ロード・バランサでカスタムSSL証明書を構成するためのリファレンスを提供します。

現在、市場には複数のCAベンダーが存在し、それぞれが異なるサービス・レベルと価格帯でサービスを提供しています。サービス・レベルおよび予算の要件に一致するCAベンダーを調査して選択してください。

CAベンダーがCA発行SSL証明書を発行するには、次の情報を提供する必要があります:

  • カスタム・ドメイン名。
  • ユーザーを所有者として確認する、ドメインに関連付けられた公開情報。
  • 検証用にカスタム・ドメインに関連付けられた電子メール・アドレス。

ロード・バランサの証明書署名リクエスト(CSR)を作成し、CSRをCAベンダーに提出します。CA発行の証明書を受領したら、Oracle SOA Cloud Serviceの管理を参照して、CA発行のSSL証明書をロード・バランサにインポートします。opensslを使用して証明書を作成する場合は、Manually Generate a Certificate Signing Request (CSR) Using OpenSSLを参照して、CSRをCAベンダーに送信できます。