プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Platform Security Servicesによるアプリケーションの保護
12c (12.2.1.2.0)
E82689-01
  目次へ移動
目次

前
 
次
 

12 鍵と証明書の管理

キーストア・サービスでは、Secure Sockets Layer (SSL)、メッセージ・セキュリティ、暗号化、特別な証明書を必要とするその他のタスク用の鍵および証明書を管理できます。

この章の内容は次のとおりです。

12.1 キーストア・サービスについて

キーストア・サービスでは、SSL、メッセージ・セキュリティ、暗号化、鍵および証明書を必要とするその他のタスク用の鍵および証明書を管理できます。一般的なキーストア管理タスクには、次のものがあります。

  • アプリケーション・ストライプのコンテキストでキーストアを直接作成、またはファイル・システムからキーストア・ファイルをインポートして作成。

  • キーストアのリストの表示と、更新のためのその一部の選択。

  • キーストアの更新および削除。

  • キーストア・パスワードの変更。

  • キーストアのエクスポートおよびインポート。

次の各項目で、キーストア・サービスの概要を説明します。

12.1.1 キーストア・サービスの構造

キーストアは、アプリケーション・ストライプおよびそのストライプ内のキーストアによって一意に識別されます。キーおよび証明書はストライプ内のキーストアに作成されます。ストライプ名はセキュリティ・ストアで一意であり、ストライプ内のキーストア名はストライプで一意である必要があります。たとえば、(stripe1,keystoreA)(stripe1,keystoreB),および(stripe2,keystoreA)は、3つの異なるキーストアを指します。

アプリケーションは、アプリケーション・ストライプ内に複数のキーストアを作成できます。

キーストアには、キーストア内で一意の別名によって参照される次のエントリを含めることができます。

  • 非対称鍵: SSLで使用される公開鍵および秘密鍵が含まれます。公開鍵は証明書内にラップされます。

  • 対称鍵: 通常、暗号化に使用されます。

  • 信頼できる証明書: SSLピアとの信頼を構築するために使用されます。

12.1.2 キーストアのタイプ

キーストア・サービスでは、次の2つのタイプのキーストアを作成できます。

  • ポリシーによって保護されるキーストア

    このキーストアはポリシーによって保護されるため、ランタイム・コードによるアクセスはコードソース・ポリシーによって保護されます。鍵データは、ドメイン暗号化鍵を使用して暗号化されます。

  • パスワードによって保護されるキーストア

    このキーストアは、キーストア・パスワードまたはキー・パスワード(あるいはその両方)によって保護されます。ランタイム・コードがこれらにアクセスするには、キーストア・パスワードとキー・パスワード(キーストア・パスワードと異なる場合)へのアクセスが必要になります。鍵データは、パスワードベースの暗号化によりキーストア/鍵パスワードを使用して暗号化されます。

パスワードによって保護されるキーストアの使用をお薦めします。ただし、アプリケーションに高レベルのセキュリティが必要な場合は、コードソース・ポリシーによって保護されたキーストアの使用を検討してください。鍵はウォレットに対してエクスポート、インポートおよびリストアできます。

複数のサーバーがあるドメインでは、サポートされているストア・タイプはLDAPまたはDBのみです。キーストア・サービスを使用して、パスワードまたは鍵を管理しないでください。かわりに、資格証明ストアをアプリケーションに使用します。

12.1.3 トラストストア

トラストストアは、最もよく知られたサードパーティ認証局の信頼できる証明書と、キーストア・サービスで構成されているデモ認証局(CA)からの信頼できる証明書が格納されるキーストアです。アプリケーションでSSLを使用する場合、たとえば、証明書に対してトラストストアを指定でき、証明書を格納するための専用のキーストアは必要ありません。


注意:

デモCAには、ハードコードされた秘密鍵が含まれています。本番環境でこのデモCAの証明書を使用も信頼もしないことをお薦めします。デモCA証明書の置換の詳細は、次のトピックを参照してください。

トラストストアは、ドメイン内のすべての製品およびアプリケーションによって共有されます。製品に対する信頼の追加または削除に関する決定は、ドメイン内の他の製品に影響する可能性があります。カスタム・トラストストアの作成は、トラストストアでは製品の信頼管理要件を満たせない場合にのみ検討してください。

トラストストアはすべての製品およびアプリケーションで使用されるように事前に構成されているため、アプリケーションではニーズに応じて複数のキーストアを構成できます。

一方向SSL

一方向SSLの場合、アプリケーションではトラストストアを使用できるため、特別なキーストアを作成する必要はありません。

双方向SSL

双方向SSLの場合、アプリケーションではキーストアを作成して独自のアイデンティティ証明書のみを格納し、他の証明書にはトラストストアを使用します。

12.2 キーストア・サービス・コマンドについて

キーストア・サービスでは、キーストアの作成と管理、証明書のエクスポート、鍵ペアの生成などのキーストア操作に、専用のコマンド・セットを使用します。これらのコマンドの使用方法は似ていますが、他のOPSSコマンドとは異なります。

これらすべてのコマンドの起点は、次の操作を可能にするOPSSサービス・コマンド・オブジェクトを取得するgetOpssServiceコマンドです。

  • サービスに対するコマンドの実行

  • コマンド・ヘルプの取得

コマンドの構文は次のようになります。

variable = getOpssService(name='service_name')

コマンドの説明は次のとおりです。

  • variableはコマンド・オブジェクトを格納します。

  • service_nameは、コマンド・オブジェクトを取得する対象のサービスを指します。有効な値は、KeyStoreServiceのみです。

例:

svc = getOpssService(name='KeyStoreService')

12.2.1 キーストア・サービス・コマンドのヘルプの表示

キーストア・サービス・コマンドに関するヘルプを取得するには、サービス・コマンド・オブジェクトの取得から始めます。次に、このオブジェクトをヘルプ・コマンドおよび問題のコマンドとともに使用します。

サービス・コマンド・オブジェクトおよびすべてのキーストア・サービス・コマンドのリストを取得するには、次のように入力します。

svc = getOpssService(name='KeyStoreService')
svc.help()

特定のコマンドに対するヘルプを表示するには、次のように入力します。

svc.help('command-name') 

たとえば次のように入力すると、exportKeyStoreコマンドに対するヘルプが表示されます。

svc.help('exportKeyStore')

12.2.2 キーストア・サービス・コマンド・リファレンス

キーストア・サービス・コマンドの構文情報および参照情報は、『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のOPSSキーストア・サービス・コマンドに関する項を参照してください。

12.3 Fusion Middleware Controlを使用したキーストアの管理

次のタスクに従って、Oracle Enterprise Manager Fusion Middleware Controlを使用してキーストアを管理します。

タスク1: 「キーストア」ページのオープン

Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

タスク2: キーストアの作成

  1. キーストアの作成先となるストライプを選択します。必要に応じて、ストライプを作成します。

  2. 「キーストアの作成」をクリックします。「キーストアの作成」ダイアログが表示されます。

  3. このダイアログで、次のデータを入力します。

    • キーストア名: 一意の名前。

    • 「保護」タイプ: キーストアの保護メカニズム。「ポリシー」または「パスワード」を選択します。パスワードで保護されたキーストアの場合は、有効なパスワードを指定します。

    • 権限の付与: コードURLにパーミッションを付与するにはこのチェック・ボックスを選択します。

  4. 「OK」をクリックします。新しいキーストアが選択したストライプの下に表示されます。

タスク3: キーストアの削除

キーストアを削除すると、そのキーストア内の証明書もすべて削除されることに注意してください。

  1. キーストアが存在するストライプを開いて、行を選択します。

  2. 「削除」をクリックします。「キーストアの削除」ダイアログが表示されます。

  3. これがパスワードで保護されたキーストアの場合は、パスワードを入力します。

  4. 「OK」をクリックします。

タスク4: キーストア・パスワードの変更

このタスクは、パスワードで保護されたキーストアにのみ適用されます。

  1. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択します。

  2. 「パスワードの変更」をクリックします。「キーストア・パスワードの変更」ダイアログが表示されます。

  3. 古いパスワードと新しいパスワードを入力します。

  4. 「OK」をクリックします。

12.4 WLSTを使用したキーストアの管理

次のタスクに従って、WebLogic Scripting Tool (WLST)を使用してキーストアを管理します。

タスク1: キーストアの作成

createKeyStore WLSTコマンドを使用します。たとえば、ストライプ名をteststripe1として、パーミッションベースのキーストアを作成します。

svc.createKeyStore(appStripe='teststripe1', name='keystore1', password='mypassword',permission=true)

mypasswordは、keystore1のパスワードです。新しいストライプ名では任意の文字の組合せが可能ですが、フォワード・スラッシュ(/)を使用しないことをお薦めします。キーストア名は、一意である必要があります。

タスク2: キーストアの削除

deleteKeyStore WLSTコマンドを使用します。たとえば、ストライプをappstripe1として、keystore1を削除します。

svc.deleteKeyStore(appStripe='appstripe1', name='keystore1', password='mypassword')

mypasswordは、keystore1のパスワードです。

タスク3: キーストア・パスワードの変更

changeKeyStorePassword WLSTコマンドを使用します。たとえば、ストライプ名をsystemとして、keystore2のパスワードを変更します。

svc.changeKeyStorePassword(appStripe='system', name='keystore2', currentpassword='currentpassword', newpassword='newpassword')

currentpasswordnewpasswordはそれぞれ、古いパスワードと新しいパスワードです。

タスク4: キーストアのエクスポート

exportKeyStore WLSTコマンドを使用します。

単一の鍵をファイルにエクスポートするには、次のようにします。

svc.exportKeyStore(appStripe='mystripe', name='keystore2', password='mypassword',aliases='myorakey', keypasswords='keypassword1', type='JKS',filepath='/tmp/file.jks')

複数の鍵をファイルにエクスポートするには、aliasesとkeypasswordsのカンマ区切りリストを指定します。

対称鍵をエクスポートするには、次のようにします。

svc.exportKeyStore(appStripe='mystripe', name='keystore2', password='password',aliases='myorakey', keypasswords='keypassword1', type='JCEKS',filepath='/tmp/file.jks')

ウォレットにエクスポートするには、OracleWalletタイプを使用します。

svc.exportKeyStore(appStripe='mystripe', name='keystore3', password='mypassword',aliases='myorakey1,myorakey2', keypasswords='', type='OracleWallet',filepath='/tmp')

タスク5: キーストアのインポート

importKeyStore WLSTコマンドを使用します。

単一の鍵(myOrakeyなど)をインポートするには、次のようにします。

svc.importKeyStore(appStripe='mystripe', name='keystore2', password='password',aliases='myOrakey', keypasswords='keypassword1', type='JKS', permission=true, filepath='/tmp/file.jks')

複数の鍵をファイルにインポートするには、aliasesとkeypasswordsのカンマ区切りリストを指定します。

鍵をウォレットからインポートするには、OracleWalletタイプを使用します。

svc.importKeyStore(appStripe='mystripe', name='keystore4', password='owPwd1234',aliases='myorakey1,myorakey2', keypasswords='', type='OracleWallet', permission=true, filepath='/tmp')

12.5 証明書について

キーストア・サービス(KSS)キーストアでは、Javaキーストア(JKS)、Java暗号化拡張機能キーストア(JCEKS)およびOracleウォレットの証明書フォーマットがサポートされています。一般的な証明書管理タスクは、次のとおりです。

  • 鍵ペアに対する証明書の作成。

  • 証明書に対する証明書署名リクエスト(CSR)の生成とファイルへの保存。

  • 送信者を検証し、署名して証明書を返信する認証局へのCSRの送信。

  • テキスト・フィールドへの貼付けまたはファイル・システムからのインポートによる、キーストアへのユーザーおよび信頼できる証明書のインポート。


    注意:

    キーストア・サービスでは、PEM/BASE64でエンコードされた証明書のインポートのみサポートされます。DERでエンコードされた証明書または信頼できる証明書をキーストアにインポートすることはできません。

  • キーストアからファイルへの証明書または信頼できる証明書のエクスポート。

  • キーストアからの証明書または信頼できる証明書の削除。

公開CA証明書に関する次の点は、12.2.1にアップグレードされたドメインおよび新しい12.2.1 Java Required Files (JRF)ドメインに当てはまります。

  • よく知られた公開CA証明書は、systemストライプ内のtrustキーストアでは使用できなくなりました。

  • かわりに、よく知られた公開CA証明書を使用してJava SE Development Kit (JDK) cacertsファイルからすでにシードされている、systemストライプ内のpubliccacertsキーストアを使用します。あるいは、必要に応じて独自の証明書をインポートします。

  • merge.jdkcacerts.with.trustプロパティでは、kss://system/trustキーストアへの問合せ時に、kss://system/ubliccacertsキーストアの公開CA証明書を戻すかどうかを指定します。問合せですべてのpublicacerts証明書を戻す場合はtrueに設定します。問合せでpublicacerts証明書を戻さない場合は設定しないか、falseに設定します。

12.6 Fusion Middleware Controlを使用した証明書の管理

次のタスクに従って、Fusion Middleware Controlを使用してキーストアを管理します。

タスク1: 鍵ペアの生成

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、キーストア・パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 「鍵ペアの生成」ボタンをクリックします。「鍵ペアの生成」ダイアログが表示されます。

  5. このダイアログで、次のデータを入力します。

    • 別名(必須)

    • 共通名(必須)

    • 組織単位

    • 組織

    • 市区町村

    • 都道府県

    • 国: ドロップダウン・リストから1つ選択します。

    • キー・タイプ: ドロップダウン・リストからアルゴリズムを選択します。選択肢は、「ECC」(楕円曲線暗号システム)または「RSA」です。

    • キー・サイズ: キー・サイズを選択します。

  6. 「OK」をクリックします。証明書リスト内に新規証明書が表示されます。

  7. 証明書の別名をクリックして、証明書の詳細を表示します。

鍵ペアは、デモCA署名証明書内にラップされ、トラストストアに格納されます。この証明書をSSLに使用するには、アプリケーションでトラストストアを使用するか、デモCA証明書をカスタム・キーストアにインポートする必要があります。

タスク2: 証明書に対するCSRの生成

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、キーストア・パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 証明書に対応する行を選択して、「CSRの生成」をクリックします。「CSRの生成」ダイアログ・ボックスが表示されます。

  5. 次のいずれかの操作を行います。

    • CSR全体をコピーしてテキスト・ファイルに貼り付け、「閉じる」をクリックします。

    • 「CSRのエクスポート」をクリックすると、CSRがファイルに保存されます。

署名証明書を返信する認証局に生成された証明書を送信します。

タスク3: 証明書のインポート

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 「インポート」をクリックします。「証明書のインポート」ダイアログが表示されます。

  5. ドロップダウンから「証明書」または「信頼できる証明書」を選択します。

  6. ドロップダウンから別名を選択します。

  7. 証明書ソースを指定します。貼付けオプションを使用する場合は、証明書をコピーして直接テキスト・フィールドに貼り付けます。ファイルの選択オプションを使用する場合は、「参照」をクリックしてオペレーティング・システムからファイルを選択します。

  8. 「OK」をクリックします。インポートされた証明書または信頼できる証明書が、証明書の一覧に表示されます。

タスク4: 証明書のエクスポート

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 証明書に対応する行を選択して、「エクスポート」をクリックします。証明書のエクスポート・ダイアログが表示されます。

  5. 次のいずれかの操作を行います。

    • 証明書全体をテキスト・ファイルにコピーして貼り付けて、「閉じる」をクリックします。

    • 「証明書のエクスポート」をクリックして証明書をファイルに保存します。

タスク5: 証明書のパスワードの変更

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 証明書に対応する行を選択して、「パスワードの変更」をクリックします。「キー・パスワードの変更」ダイアログが表示されます。

  5. 古いパスワードと新しいパスワードを入力し、「OK」をクリックします。

タスク6: 証明書の削除

  1. Fusion Middleware Controlにログインし、「ドメイン」「セキュリティ」「キーストア」の順に移動します。「キーストア」ページが表示されます。

  2. キーストアがその中に存在するストライプを展開します。キーストアに対応する行を選択し、「管理」をクリックします。

  3. キーストアがパスワードで保護されている場合は、パスワードを入力して「OK」をクリックします。「証明書の管理」ページが表示されます。

  4. 証明書に対応する行を選択して、「削除」をクリックします。「証明書の削除」ダイアログが表示されます。「OK」をクリックします。

12.7 WLSTを使用した証明書の管理

次のタスクに従って、WLSTを使用して証明書を管理します。

タスク1: 鍵ペアの生成

generateKeyPair WLSTコマンドを使用します。たとえば、アプリケーション・ストライプがappstripe2という名前とすると、次のコマンドではECCアルゴリズムを使用して別名がmyaliasの鍵ペアが作成されます。

svc.generateKeyPair(appStripe='appstripe2', name='keystore2', password='mypassword', dn='cn=www.example.com', keysize='1024', alias='myalias', keypassword='keypassword', algorithm='EC')

mypasswordはキーストア・パスワードで、keypasswordは別名のパスワードです。

鍵ペアは、デモCA証明書内にラップされ、トラストストアに格納されます。アプリケーションでトラスト・ストアを使用していない場合は、デモ用のCA証明書をカスタム・キーストアにインポートする必要があります。

タスク2: 鍵ペアに対するCSRの生成

exportKeyStoreCertificateRequest WLSTコマンドを使用します。たとえば、アプリケーション・ストライプをstripe1とすると、次のコマンドではtestalias鍵ペアからCSRが生成されます。

svc.exportKeyStoreCertificateRequest(appStripe='stripe1', name='keystore1', password='mypassword', alias='testalias', keypassword='keypassword', filepath='/tmp/csr-file')

mypasswordはキーストア・パスワードで、keypasswordは別名のパスワードです。CSRはオペレーティング・システム・ファイルにエクスポートされます。

タスク3: 証明書のインポート

importKeyStoreCertificate WLSTコマンドを使用します。たとえば、アプリケーション・ストライプをappstripe1とすると、次のコマンドでは別名がmykeyの証明書がオペレーティング・システム・ファイルからインポートされます。

svc.importKeyStoreCertificate(appStripe='appstripe1', name='keystore2', password='mypassword', alias='mykey', keypassword='keypassword', type='Certificate', filepath='/tmp/cert.txt')

mypasswordはキーストア・パスワードで、keypasswordは別名のパスワードです。

タスク4: 証明書のエクスポート

exportKeyStoreCertificate WLSTコマンドを使用します。たとえば、アプリケーション・ストライプをappstripe1とすると、次のコマンドでは別名がmykeyの証明書がオペレーティング・システム・ファイルにエクスポートされます。

svc.exportKeyStoreCertificate(appStripe='appstripe1', name='keystore2', password='mypassword', alias='mykey', keypassword='keypassword', type='Certificate', filepath='/tmp/cert.txt')

mypasswordはキーストア・パスワードで、keypasswordは別名のパスワードです。

タスク5: 証明書のパスワードの変更

changeKeyPassword WLSTコマンドを使用します。たとえば、システム・ストライプをsystem1とすると、次のコマンドでは別名がtestkeyの証明書が削除されます。

svc.changeKeyPassword(appStripe='system1', name='keystore', password='password', alias='testkey', currentkeypassword='currentkeypassword', newkeypassword='newkeypassword')

ここで、passwordはキーストア・パスワードで、keypasswordは証明書の別名のパスワードです。

タスク6: 証明書の削除

deleteKeyStoreEntry WLSTコマンドを使用します。たとえば、アプリケーション・ストライプをappstripeとすると、次のコマンドでは別名がorakeyの証明書が削除されます。

svc.deleteKeyStoreEntry(appStripe='appstripe', name='keystore2', password='password', alias='orakey', keypassword='keypassword')

ここで、passwordはキーストア・パスワードで、keypasswordは別名のパスワードです。

12.8 デモCA署名証明書の置換

アプリケーションを本番環境にデプロイする際は、サードパーティの認証局(CA)署名証明書またはドメインCA署名証明書を使用することをお薦めします。デフォルトでは、ドメインのOPSSキーストア・サービスを使用して作成された証明書は、デモCAを使用して署名されます。これらのデモ証明書は本番環境では使用しないでください。デモ用証明書CAの秘密鍵は、WebLogic Serverのすべてのインストールで使用可能であるため、各インストールで同じ鍵を使用してデモ用CA署名証明書を生成できます。したがって、こうした証明書は信頼できません。

ドメインCAは自己署名証明書で、ドメインではCAと同様に機能します。デモCAとは異なり、ドメインCA証明書で使用される秘密鍵は各ドメインで一意なので、セキュリティが向上します。ドメインCA証明書を作成し、「デモCA証明書のドメインCA署名証明書との置換」の説明に従って、ドメイン内のすべてのデモCA証明書を置き換えることができます。

サードパーティのCAは、アイデンティティを検証し、証明書を発行します。証明書を取得するには、証明書リクエストを作成してCAに送信する必要があります。CAは、証明書リクエストを認証し、リクエストに基づいてデジタル証明書を作成します。デモ証明書をサードパーティのCA署名証明書に置き換えるには、「デモCA証明書のサードパーティCA署名証明書との置換」を参照してください。

12.8.1 デモCA証明書のドメインCA署名証明書との置換

ドメイン内のすべてのデモCA署名証明書をドメインCA署名証明書で置き換えるには、次の手順に従います。

  1. keytoolコマンドを使用して、カスタムCA鍵および証明書を含むJKSファイルを作成します。例:

    keytool -genkeypair -alias customca -keyalg RSA -keysize 2048 -dname "cn=customca, o=oracle" -validity 3650 -keystore /tmp/file.jks -storepass password1 -keypass password2
    
  2. svc.importKeyStoreキーストア・サービス・オンラインWLSTコマンドを使用して、JKSファイルをKSSキーストアkss://system/castoreにインポートします。このコマンドを使用する前に、WLSTを起動し、サーバーに接続する必要があります。

    connect("<wls adminuser>","<wls admin password>","t3://<host>:<port>")
    svc = getOpssService(name='KeyStoreService')
    :
    : 
    wls:/base_domain/domainRuntime/> svc.importKeyStore(appStripe='system', name='castore', password='password1', aliases='customca',keypasswords='password2', type='JKS', permission=true, filepath='/tmp/file.jks')
    

    svc.ImportKeyStore WLSTコマンドで使用される一部のパラメータの値は、前述の手順のkeytoolコマンドで指定された値から導出されることに注意してください。これらのコマンドで使用される対応するパラメータとサンプル値を次の表に示します。

    keytoolパラメータ svc.importKeyStoreパラメータ サンプル値
    -alias aliases= customca
    -keystore filepath= /tmp/file.jks
    -storepass password= password1
    -keypass keypasswords= password2

  3. 鍵ペアと証明書がKSSストアに正しくインポートされていることを確認します。次のように、コマンドの出力には別名customcaを持つエントリが含まれています。

    wls:/base_domain/domainRuntime/> svc.listKeyStoreAliases(appStripe='system', name='castore', password='', type='Certificate')
    
    Already in Domain Runtime Tree
     
    democa
    customca
    
  4. kss://system/castoreから証明書をエクスポートし、kss://system/trustにインポートします。filepathパラメータの値は、エクスポート・コマンドとインポート・コマンドで同じである必要があります。

    wls:/base_domain/domainRuntime/> svc.exportKeyStoreCertificate(appStripe='system', name='castore', password='', alias='customca', type='Certificate', filepath='/tmp/cert.txt')
    
    Already in Domain Runtime Tree
     
    Certificate exported.
    
    wls:/base_domain/domainRuntime/> svc.importKeyStoreCertificate(appStripe='system', name='trust', password='', alias='customca', keypassword='', type='TrustedCertificate', filepath='/tmp/cert.txt')
    
    Already in Domain Runtime Tree
     
    Certificate imported.
    
  5. 証明書がkss://system/trustストアにインポートされていることを確認します。次のように、コマンドの出力にはcustomcaの名前の別名が含まれています。

    wls:/base_domain/domainRuntime/> svc.listKeyStoreAliases(appStripe='system', name='trust', password='', type='TrustedCertificate')
    
    Already in Domain Runtime Tree
     
    democa
    olddemoca
    customca
    
  6. 次のプロパティを、デフォルト・コンテキストで構成されたキーストア・サービス・インスタンスのDOMAIN_HOME/config/fmwconfigにあるjps-config.xmlおよびjps-config-jse.xmlファイルに追加します。

    <property name="ca.key.alias" value="customca"/>
    

    これを行うには、「スクリプトを使用したサービスの構成」の手順に従って、updateServiceInstanceProperty.pyスクリプトを作成します。

    次のようにスクリプトを実行します。

    >cd $ORACLE_HOME/common/bin
    >wlst.sh /tmp/updateServiceInstanceProperty.py -si keystore.db -key ca.key.alias -value customca
    
  7. ドメイン内のすべてのサーバーを再起動します。これで、ドメインは新しいカスタムCA証明書で動作する準備ができました。古いデモCA証明書と鍵はドメインに残っていますが、使用されません。

  8. 証明書を更新するには、次のオンラインWLSTコマンドを実行します。

    svc.listExpiringCertificates(days='9999', autorenew=true)
    

12.8.2 デモCA証明書のサードパーティCA署名証明書との置換

サードパーティのCA署名証明書に置き換える必要があるドメイン内のデモ証明書ごとに、次の操作を行います。

  1. 置き換える必要がある証明書の別名を使用して、CSRを生成します。別名のタイプはTrustedCertificateではなく、Certificateである必要があります。

  2. 新しいCSRをサードパーティの認証局(CA)に送信します。CAはCSRの公開鍵に署名して、CA署名証明書および独自の証明書を返します。

    一部のCAは、2つの別個の証明書ではなく、CA署名証明書と独自の証明書の両方を含む証明書チェーンを返します。

  3. 置換対象の証明書の別名を使用して、CA署名証明書(または証明書チェーン)をインポートします。

  4. CAが独自の証明書を別に提供した場合、そのCA証明書を信頼できる証明書として製品またはアプリケーションで使用されるトラスト・ストアにインポートします。デフォルトでは、ほとんどのアプリケーションはドメインのトラスト・ストアkss://system/trustをトラスト用に使用します。

12.8.3 デモCAトラスト・サービス証明書の置換

OPSSトラスト・サービスの証明書はopssストライプの次のキーストアに格納されます。

  • trustservice_ks: 秘密鍵が含まれているキーストア

  • trustservice_ts: 証明書が含まれているトラスト・ストア

デフォルトでは、信頼できる証明書はデモCAを使用して署名され、前述の両方のキーストア・リストに同じコピーがあります。これをドメインCAまたはサードパーティのCA署名証明書に置き換えるには、次のようにします。

  1. 次の項のいずれか(両方ではない)の説明に従って、ストライプopssおよびキーストアtrustservice_ks内の証明書を置き換えます。

  2. 次のWLSTコマンドを使用して、キーストアから証明書をエクスポートし、ストライプopssおよびキーストアtrustservice_tsにこれをインポートします。

    svc.exportKeyStoreCertificate(appStripe='opss', name='trustservice_ks', password='', alias='trustservice', keypassword='', type='Certificate', filepath='/tmp/cert.txt')
    
    svc.deleteKeyStoreEntry(appStripe='opss', name='trustservice_ts', password='', alias='trustservice', keypassword='')
    
    svc.importKeyStoreCertificate(appStripe='opss', name='trustservice_ts', password='', alias='trustservice', keypassword='', type='TrustedCertificate', filepath='/tmp/cert.txt')
    

12.9 Fusion Middlewareコンポーネントでのキーストア・サービスの使用方法

Oracle WebLogic Serverでキーストアを構成した後、それらを使用してキーおよび証明書を生成します。キーストア・サービスを使用するようにノード・マネージャを構成することもできます。


関連項目:

『Oracle WebLogic Serverセキュリティの管理』のSSLの構成に関する項

Oracle WebLogic Server管理コンソール・オンライン・ヘルプのキーストアの構成に関する説明

『Oracle Fusion Middlewareの管理』のOPSSキーストア・サービスを使用するためのノード・マネージャの構成に関する項

Oracle WebLogic Serverノード・マネージャの管理


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

すべてのOracle Fusion Middlewareコンポーネントは、中央セキュリティ・ストアに鍵と証明書を保持しています。ただし、特定のインフラストラクチャ・コンポーネントでは、セキュリティ・ストアが使用可能になるには起動が必要になるため、一部のコンポーネントではかわりにローカル・ファイル・キーストア・インスタンスを使用します。

ローカル・ファイル・キーストアを中央セキュリティ・ストアと同期するには、syncKeyStoresコマンドを使用します。同期は、重要なデータが抽象セキュリティ・ストアから読み取られ、ローカル・ファイル・キーストアで同期される一方向の処理です。

12.9.1.1 syncKeyStoresの使用方法

syncKeyStoresコマンドの使用方法は次のとおりです。

syncKeyStores(appStripe='system', keystoreFormat='KSS')

このコマンドは、中央セキュリティ・ストアのsystemストライプにアクセスし、その内容をローカル・システムのDOMAIN_HOME/config/fmwconfigkeystores.xmlというファイルにダウンロードします。

詳細は、『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』syncKeyStoresに関する項を参照してください。

12.9.1.2 キーストアの同期のタイミング

キーストアを同期するためにsyncKeyStoresコマンドを使用するタイミングを判定するには、次の点を考慮します。

  • 更新中のキーストアがWebLogic Serverに属する場合、そのキーストアはsystemストライプの下に配置する必要があります。

  • 信頼できる証明書の追加や削除など、ドメイン・トラストストアを変更する場合、syncKeyStoresを実行して、WebLogic Serverで使用されるローカル・コピーを中央セキュリティ・ストアと同期する必要があります。

  • Oracle Web Services ManagerやJava EEアプリケーションなど、階層型コンポーネントがキーストアを更新する場合、syncKeyStoresコマンドを実行する必要はありません。このようなコンポーネントまたはアプリケーションが、中央セキュリティ・ストアから鍵および証明書に直接アクセスするためです。