ヘッダーをスキップ
Oracle® Fusion Middleware管理者ガイド
11g リリース1 (11.1.1)
B60984-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

8 キーストア、ウォレットおよび証明書の管理

この章では、Oracle Fusion Middlewareのセキュリティ機能を使用してキーストア、ウォレットおよび証明書を管理する方法について説明します。これらの項目が含まれます。

8.1 Oracle Fusion Middlewareでの鍵および証明書の保存

秘密鍵、デジタル証明書および信頼できるCA証明書は、キーストアに格納されます。この項では、Oracle Fusion Middlewareで使用可能なキーストアについて説明します。この項の項目は次のとおりです。

8.1.1 キーストアのタイプ

Oracle Fusion Middlewareには、鍵と証明書の2つのタイプのキーストアが用意されています。

8.1.1.1 JKSキーストアとトラストストア

JKSキーストアは、Sun Microsystemsが提供するJavaキーストアのデフォルトのJDK実装です。11g リリース1(11.1.1)では、すべてのJavaコンポーネントおよびJava EEアプリケーションは、JKSベースのキーストアおよびトラストストアを使用します。

JKSベースのキーストアは次に対して使用します。

  • Oracle WebLogic Server

  • Oracle Virtual Directory

  • 次を含むOracle WebLogic Serverでデプロイされるアプリケーション

    • Oracle SOA Suite

    • Oracle WebCenter Portal

Oracle Fusion Middlewareでは、グラフィカル・ユーザー・インタフェース・ツールまたはコマンドライン・ツールを使用して、Javaキーストアおよびそれに含まれる証明書を作成、インポート、エクスポートおよび削除できます。詳細は、キーストア管理ツールに関する項を参照してください。

キーストアの作成時に、自己署名証明書でラップされた鍵のペアをあらかじめキーストアに移入しておくことができます。このようなキーストアは、一般的には開発またはテスト・フェーズで使用されます。

また、認証局(CA)から署名された証明書を返送してもらえるように、鍵のペアの証明書署名リクエストを生成することもできます。証明書は、CAから返送されると、キーストアにインポートされます。これは信頼できるサード・パーティから取得したものなので、キーストアには信頼できる証明書が格納されたことになります。このようなキーストアは、一般的に本番環境で使用されます。

キーストアは、常にパスワードで保護されます。

8.1.1.2 Oracleウォレット

Oracleウォレットは、証明書、信頼できる証明書、証明書リクエスト、秘密鍵などの資格証明を格納するコンテナです。Oracle Internet DirectoryなどのLDAPディレクトリやファイル・システムにOracleウォレットを格納できます。Oracleウォレットは、パスワードで保護することも自動ログインにもできます。

Oracleウォレットは次のコンポーネントで使用します。

  • Oracle HTTP Server

  • Oracle Web Cache

  • Oracle Internet Directory


注意:

Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


Oracle Fusion Middlewareでは、グラフィカル・ユーザー・インタフェース・ツールまたはコマンドライン・ツールを使用して、ウォレットおよびそれに含まれる証明書を作成、インポート、エクスポートおよび削除できます。詳細は、キーストア管理ツールに関する項を参照してください。

ウォレットの作成時に、自己署名証明書をあらかじめ移入しておくことができます。このようなウォレットはテスト・ウォレットと呼ばれ、一般的には開発およびテスト・フェーズで使用されます。

また、認証局(CA)から署名された証明書を返送してもらえるように、証明書リクエストを生成することもできます。証明書は、CAから返送されると、ウォレットにインポートされます。このようなウォレットをサード・パーティのウォレットといいます。

テスト・ウォレットまたはサード・パーティのウォレットはパスワードで保護することも、パスワードが不要なように構成することもできます。後者は、自動ログイン・ウォレットと呼ばれています。

8.1.2 キーストア管理ツール

Oracle Fusion Middlewareでは、次のようなキーストア操作のオプションが用意されています。

  • WLST: JKSキーストアおよびウォレット用のコマンドライン・インタフェース

  • orapki: ウォレット用のコマンドライン・ツール

  • Fusion Middleware Control: グラフィカル・ユーザー・インタフェース

  • Oracle Wallet Manager: ウォレット用のスタンドアロンのグラフィカル・ユーザー・インタフェース(PKCS#11ウォレットの管理に推奨)。この項の最後の「スタンドアロン環境でのOracle Wallet Managerの使用」も参照してください。

次の表は、各コンポーネントで使用されるキーストアのタイプ、およびキーストアの管理に使用できるツールを示します。

コンポーネント/アプリケーション キーストアのタイプ タスク ツール

Oracle HTTP Server

Oracle Web Cache

Oracle Internet Directory

Oracleウォレット

ウォレットの作成、証明書リクエストの作成、ウォレットの削除、証明書のインポート、証明書のエクスポート、SSLの有効化

Fusion Middleware Control、WLST

PKCS#11、PKCS#12およびハードウェア・セキュリティ・モジュール(HSM)ベースのウォレットには、Oracle Wallet Managerおよびorapki。また、Fusion Middleware ControlおよびWLSTが使用できない環境(ドメインのないこれらのコンポーネントのスタンドアロンのアップグレードなど)でも使用されます。

Oracle Virtual Directory

JKSベースのキーストア

キーストアの作成、証明書リクエストの作成、キーストアの削除、証明書のインポート、証明書のエクスポート、SSLの有効化

Fusion Middleware Control、WLST

Oracle SOA Suite


JKSベースのキーストア

キーストアのすべての操作

JDK Keytool

Oracle WebCenter Portal


JKSベースのキーストア

キーストアのすべての操作

JDK Keytool

Oracle WebLogic Server


JKSベースのキーストア

キーストアのすべての操作

JDK Keytool

Oracle WebLogic Server


JKSベースのキーストア

SSLの有効化

Oracle WebLogic Server管理コンソール

すべてのJava EEアプリケーション(Oracle Directory Integration Platform、Oracle Directory Services Managerなど)

JKSベースのキーストア

キーストアのすべての操作

JDK Keytool



関連項目:

keytoolの使用法の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。



注意:

11gより前のウォレット(10g リリース10.1.2および10.1.3の形式に対応)も、11g リリース1(11.1.1)でサポートされています。


DERでエンコードされた証明書のインポートについて

DERでエンコードされた証明書または信頼できる証明書をOracleウォレットまたはJKSキーストアにインポートするときには、Fusion Middleware ControlもWLSTコマンドライン・ツールも使用できません。かわりに使用するツールは次のとおりです。

  • DERでエンコードされた証明書または信頼できる証明書をOracleウォレットにインポートするには、次のツールを使用します。

    • Oracle Wallet Manager

    • orapkiコマンドライン・ツール

  • DERでエンコードされた証明書または信頼できる証明書をJKSキーストアにインポートするには、keytoolユーティリティを使用します。

WLSTでもFusion Middleware Controlでも作成されていないキーストアの使用

OracleウォレットまたはJKSキーストアがorapkikeytoolなどのツールで作成されている場合には、使用する前にインポートする必要があります。具体的には次のような場合です。

  • Oracle HTTP Server、Oracle Web CacheおよびOracle Internet Directoryでは、orapkiまたはOracle Wallet Managerを使用して作成されたウォレットをFusion Middleware Controlで表示または管理するには、まずFusion Middleware ControlまたはWLSTのimportWalletコマンドを使用してウォレットをインポートする必要があります。詳細は、第8.4.4.9項および第8.4.4.10項を参照してください。

  • Oracle Virtual Directoryでは、keytoolを使用して作成されたキーストアをFusion Middleware Controlで表示または管理するには、まずFusion Middleware ControlまたはWLSTのimportKeyStoreコマンドを使用してキーストアをインポートする必要があります。

ファイル・システムへのキーストアのコピーはサポートされない

ファイル・システム上の任意のディレクトリにキーストアを直接作成、名前変更、またはコピーすることはサポートされていません。使用を希望する11gより前の既存のキーストアまたはウォレットは、Fusion Middleware ControlまたはWLSTユーティリティを使用してインポートする必要があります。

スタンドアロン環境でのOracle Wallet Managerの使用

スタンドアロンWeb層インストールなどのスタンドアロン環境では、Oracle Wallet Managerを使用して、ウォレットを作成および管理できます。

PKCS#12ウォレット、ウォレットと証明書のライフサイクルなど、Oracle Wallet Managerの詳細は、Oracle Advanced Security管理者ガイドの「Oracle Wallet Managerの使用」を参照してください。

http://download.oracle.com/docs/cd/E11882_01/network.112/e10746/asowalet.htm

追加情報

これらのツールの詳細は、次の各項を参照してください。

8.2 キーストアおよびウォレット用コマンドライン・インタフェース

Oracle Fusion Middlewareでは、JKSキーストアおよびOracleウォレットを作成および管理したり、そこに格納されたオブジェクトを操作するwlstスクリプトのセットを提供します。

WLSTコマンドライン・インタフェースの起動方法

SSL用のWLSTコマンドを実行する場合は、Oracle共通ホームからWLSTスクリプトを起動する必要があります。詳細は、第3.5.1.1項を参照してください。


注意:

SSL関連のすべてのWLSTコマンドでは、前述の場所でのみスクリプトを起動する必要があります。


これにより、WLSTシェルが起動します。ユーザー名、パスワードおよび接続URLを指定して、実行中のOracle WebLogic Serverインスタンスに接続します。接続すると、次の項で説明するようにSSL関連のWLSTコマンドを実行できるようになります。

8.3 JKSキーストアの管理

この項では、キーストアおよび証明書の一般的なライフサイクル、およびOracle Fusion Middlewareツールを使用してキーストアおよび証明書を作成および保守する方法について説明します。これらの項目が含まれます。

8.3.1 キーストアおよび証明書について

鍵と証明書はデータのデジタル署名および検証に使用され、ネットワーク接続において認証、整合性およびプライバシを実現できます。

Javaキーストア(JKS)は、組織の鍵と証明書を保持する保護されたデータベースです。Oracle Fusion Middlewareは、Oracle Virtual Directory、Oracle WebLogic ServerにデプロイされたアプリケーションおよびOracle WebLogic Server自体に対して、JKSキーストアを使用します。

キーストアへのアクセスには、キーストアの作成者がキーストアの作成時に定義したパスワードが必要です。このパスワードを変更するには現在のパスワードを入力する必要があります。

また、キーストア内の秘密鍵は、それぞれ独自のパスワードで保護できます。

この項の項目は次のとおりです。

8.3.1.1 インスタンス間のキーストアの共有

キーストアはそれぞれ一意のアイデンティティを示すため、コンポーネント・インスタンス間またはOracleインスタンス間ではキーストアを共有しないことをお薦めします。

ただし、コンポーネント・インスタンスのクラスタを含む環境は例外です。この場合はキーストアを共有してかまいません。

キーストアを簡単に共有するための管理ツールまたはインタフェースは用意されていません。ただし、あるインスタンスからキーストアをエクスポートして別のインスタンスにインポートすることはできます。

8.3.1.2 キーストアのネーミング規則

JKSキーストアの場合は、次のネーミング規則に従います。

  • 256文字を超える名前は使用しないでください。

  • キーストア名には、次のいずれの文字も使用しないでください。

    | ; , ! @ # $ ( ) < > / \ " ' ` ~ { } [ ] = + & ^ space tab
    

    注意:

    オペレーティング・システムでこれらの文字をサポートしていても、このルールは守ってください。


  • キーストア名には、ASCII以外の文字は使用しないでください。

  • また、ディレクトリ名およびファイル名に関するオペレーティング・システム固有のルールにも従ってください。

8.3.2 キーストアのライフサイクルの管理

JKSキーストアの一般的なライフサイクル・イベントは、次のとおりです。

  • キーストアが作成されます。キーストアは直接作成するか、ファイル・システムからキーストア・ファイルをインポートすることによって作成できます。

  • 使用可能なキーストアのリストが表示され、特定のキーストアが選択されて更新されます。

  • キーストアが更新または削除されます。更新操作では、キーストア・パスワードを入力する必要があります。

  • キーストア・パスワードは変更できます。

  • キーストアは削除できます。

  • キーストアはエクスポートおよびインポートできます。

8.3.3 一般的なキーストアの操作

この項では、次のキーストアの操作について説明します。

8.3.3.1 Fusion Middleware Controlを使用したキーストアの作成

次の手順を実行して、キーストアを作成します。

  1. Fusion Middleware Controlを使用して目的のドメインにログインします。

  2. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  3. component_name」→「セキュリティ」→「キーストア」にナビゲートします。たとえば、「Oracle Virtual Directory」→「セキュリティ」→「キーストア」にナビゲートします。


    注意:

    コンポーネント・タイプは、このページの上部の「トポロジ」アイコンの横にあります。


  4. 「Javaキーストア」ページが表示されます。このページで、キーストアを作成、更新および削除したり、他のキーストア管理タスクを実行することができます。

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

  6. 名前やパスワードなどのキーストアの詳細情報を入力します。

    このダイアログでは自己署名証明書をリクエストしたり、別名およびDN情報を入力することもできます。

    ks22.gifの説明が続きます
    図ks22.gifの説明


    注意:

    このキーストアを信頼できる証明書の格納にのみ使用する場合は、自己署名付き証明書の作成チェックボックスを選択解除できます。こうすると、鍵のペアを含まないキーストアが作成されます。


  7. 発行」をクリックします。Javaキーストアのリストに新しいキーストアが表示されます。

8.3.3.2 WLSTを使用したキーストアの作成

インスタンス名をinst1とすると、次のコマンドを使用してキーストアを作成します。

createKeyStore('inst1', 'ovd5', 'ovd', 'newKeyStore', 'password')

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


関連項目:


8.3.3.3 Fusion Middleware Controlを使用したキーストアのエクスポート

複数のOracle Virtual Directoryインスタンスで同じキーストア・ファイルを共有するには、キーストアをあるインスタンスからエクスポートして別のインスタンスにインポートします。

次の手順を実行して、キーストアをエクスポートします。

  1. 第8.3.3.1項「Fusion Middleware Controlを使用したキーストアの作成」の説明に従って、コンポーネント・インスタンスの「Javaキーストア」ページにナビゲートします。

  2. ストアのリストから目的のキーストアを選択します。

  3. エクスポート」をクリックします。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  5. ファイル・システムの場所を指定して、「OK」をクリックします。

    ks33.gifの説明が続きます
    図ks33.gifの説明

8.3.3.4 WLSTを使用したキーストアのエクスポート

インスタンス名をinst1とすると、次のコマンドを使用してキーストアをエクスポートします。

exportKeyStore('inst1', 'ovd5', 'ovd', 'test', 'password', '/tmp')

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

このコマンドにより、ディレクトリ/tmpの下のtestという名前のファイルにキーストアがエクスポートされます。

8.3.3.5 Fusion Middleware Controlを使用したキーストアの削除

次の手順を実行して、キーストアを削除します。

  1. 第8.3.3.1項「Fusion Middleware Controlを使用したキーストアの作成」の説明に従って、コンポーネント・インスタンスの「Javaキーストア」ページにナビゲートします。

  2. ストアのリストから目的のキーストアを選択します。

  3. 削除」をクリックします。

  4. 削除要求の確認を求めるダイアログ・ボックスが表示されます。

    ks44.gifの説明が続きます
    図ks44.gifの説明

  5. 削除」をクリックします。

8.3.3.6 WLSTを使用したキーストアの削除

アプリケーション・サーバー・インスタンス名をinst1とすると、次のコマンドを使用してキーストアを削除します。

deleteKeyStore('inst1', 'ovd5', 'ovd', 'demo')

ovdはコンポーネント・タイプ、ovd5はコンポーネント・インスタンス、demoはキーストア名です。

8.3.3.7 Fusion Middleware Controlを使用したキーストアのインポート

  1. 第8.3.3.1項「Fusion Middleware Controlを使用したキーストアの作成」の説明に従って、コンポーネント・インスタンスの「Javaキーストア」ページにナビゲートします。

  2. インポート」をクリックします。

  3. 「キーストアのインポート」ダイアログ・ボックスが表示されます。

  4. ファイル・システムを参照して、キーストア・ファイルを見つけます。

  5. キーストアの名前を入力します。キーストア・パスワードを入力します。

    ks40.gifの説明が続きます
    図ks40.gifの説明

  6. OK」をクリックします。

  7. インポートされたキーストアがJavaキーストアのリストに表示されます。

    ks42.gifの説明が続きます
    図ks42.gifの説明

8.3.3.8 WLSTを使用したキーストアのインポート

インスタンス名をinst1とすると、次のコマンドを使用してキーストアをインポートします。

importKeyStore('inst1', 'ovd5', 'ovd', 'demojks', 'password', '/tmp/demojks.jks')

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

8.3.3.9 Fusion Middleware Controlを使用したキーストア・パスワードの変更

次の手順を実行して、キーストア・パスワードを変更します。

  1. 第8.3.3.1項「Fusion Middleware Controlを使用したキーストアの作成」の説明に従って、コンポーネント・インスタンスの「Javaキーストア」ページにナビゲートします。

  2. キーストアを選択して、「パスワードの変更」をクリックします。

  3. 表示されるダイアログ・ボックスに、現在のパスワードと新しいパスワードを入力します。新しいパスワードは、確認のため2回入力します。

    ks43.gifの説明が続きます
    図ks43.gifの説明

  4. OK」をクリックして、パスワードを変更します。以降、このキーストアまたはその証明書を操作するには、この新しいパスワードを使用する必要があります。

8.3.3.10 WLSTを使用したキーストア・パスワードの変更

インスタンス名をinst1とすると、次のコマンドを使用してキーストア・パスワードを変更します。

changeKeyStorePassword('inst1', 'ovd5', 'ovd', 'demojks', 'current_password', 'new_password')

current_passwordはこのキーストアの現在のパスワードで、new_passwordは新しいパスワードです。

8.3.4 証明書のライフサイクルの管理

キーストアに存在する証明書の一般的なライフサイクル・イベントは、次のとおりです。

  • 鍵のペアの自己署名証明書が自動的に作成されます。

  • 証明書署名リクエスト(CSR)が生成され、ファイルにエクスポートできます。

  • 証明書がキーストアにインポートされます。証明書はテキスト・ボックスに貼り付けることも、ファイル・システムからインポートすることもできます。ユーザー証明書も信頼できる証明書(CA証明書ともいいます)も、このようにインポートできます。

  • 証明書または信頼できる証明書が、キーストアからファイルにエクスポートされます。

  • 証明書または信頼できる証明書が、キーストアから削除されます。

8.3.5 一般的な証明書の操作

この項では、次のような一般的な証明書の操作について説明します。

8.3.5.1 Fusion Middleware Controlを使用したキーストアの新しい鍵の生成

キーストアの新しい鍵(新しい自己署名証明書)を生成する手順は次のとおりです。

  1. 第8.3.3.1項「Fusion Middleware Controlを使用したキーストアの作成」の説明に従って、コンポーネント・インスタンスの「Javaキーストア」ページにナビゲートします。

  2. ストアのリストからキーストアを選択します。

  3. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  4. 「証明書の管理」ページが表示されます。ここでは、キーストア・エントリの両方のタイプ(証明書および信頼できる証明書)を管理できます。

  5. 鍵ペアの生成」ボタンをクリックします。

  6. 「鍵ペアの生成」ダイアログで、新しい鍵の詳細を入力して「OK」をクリックします。

例: 新しい鍵ペアの生成

ks27.gifの説明が続きます
図ks27.gifの説明

この手順を実行すると、キーストアに新しい公開鍵と秘密鍵のペアが生成され、公開鍵は自己署名証明書でラップされます。

この手順では既存のキーストアに新しい鍵のペアを作成していますが、キーストア自体を作成するときに新しい鍵のペアを生成することもできます。詳細は、Fusion Middleware Controlを使用したキーストアの作成に関する項を参照してください。

8.3.5.2 WLSTを使用したキーストアの新しい鍵の生成

インスタンス名をinst1とすると、次のコマンドを使用してキーストアの新しい鍵を生成します。

generateKey('inst1', 'ovd5', 'ovd', 'newKeystore', 'password', 'subject_dn', 'key_size', 'alias')

passwordはこのキーストアのパスワード、subject_dnは鍵ペアを生成する際に使用される識別名、key_sizeはキー・サイズ(ビット単位)、aliasは鍵の別名です。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.5.3 Fusion Middleware Controlを使用した証明書署名リクエストの生成

次の手順を実行して、証明書署名リクエスト(CSR)を作成します。

  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「キーストア」にナビゲートします。

  3. ストアのリストから目的のキーストアを選択します。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  5. 「証明書の管理」ページが表示されます。CSRを生成する自己署名証明書を選択して、「CSRの生成」をクリックします。

    ks29.gifの説明が続きます
    図ks29.gifの説明

  6. ダイアログ・ボックスが開き、生成された署名リクエストが表示されます。次のいずれかを実行できます。

    • ダイアログ・ボックスからCSRをコピーして、ファイルに貼り付けます。

    • CSRのエクスポート」ボタンをクリックして、ファイルに直接保存します。

    ks30.gifの説明が続きます
    図ks30.gifの説明

CSRのエクスポート後に、認証局(CA)に送信して、証明書を生成できます。

8.3.5.4 WLSTを使用した証明書署名リクエストの生成

インスタンス名をinst1とすると、次のコマンドを使用してCSRを生成およびエクスポートします。

exportKeyStoreObject('inst1', 'ovd5', 'ovd', 'newKeystore', 'password', 'CertificateRequest', '/tmp', 'alias')

passwordはこのキーストアのパスワード、/tmpはBASE64形式で証明書リクエストが生成されるファイルbase64.txtを含むディレクトリのパス、aliasは証明書リクエストの生成に使用される鍵ペアの別名です。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.5.5 Fusion Middleware Controlを使用したキーストアへの証明書または信頼できる証明書のインポート


注意:

DERでエンコードされた証明書または信頼できる証明書をJKSキーストアにインポートするには、Fusion Middleware Controlは使用できません。このタスクには、keytoolユーティリティを使用します。


次の手順を実行して、証明書または信頼できる証明書をキーストアにインポートします。

  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「キーストア」にナビゲートします。

  3. ストアのリストから目的のキーストアを選択します。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  5. 「証明書の管理」ページが表示されます。「インポート」ボタンをクリックします。

  6. ダイアログ・ボックスが表示され、次のいずれかを実行できます。

    • 証明書または信頼できる証明書のBase-64でエンコードされたコンテンツをキーストアに直接貼り付けます。

    • 証明書または信頼できる証明書ファイルをファイル・システムから選択します。

    ks34.gifの説明が続きます
    図ks34.gifの説明

    証明書をインポートする際に別名を指定する必要があります。

    証明書をインポートする場合、別名は対応する鍵のペアの別名と一致する必要があります。

    信頼できる証明書をインポートする場合、別名はキーストア内で一意である必要があります。

  7. OK」をクリックします。「証明書の管理」ページが開き、新しくインポートされた証明書または信頼できる証明書が表示されます。

    ks35.gifの説明が続きます
    図ks35.gifの説明

8.3.5.6 WLSTを使用したキーストアへの証明書または信頼できる証明書のインポート


注意:

DERでエンコードされた証明書または信頼できる証明書をJKSキーストアにインポートするには、WLSTコマンドライン・ツールは使用できません。このためには、keytoolユーティリティを使用します。


インスタンス名をinst1とすると、次のコマンドを使用してキーストアに証明書をインポートします。

importKeyStoreObject('inst1', 'ovd5', 'ovd', 'newKeystore', 'password', 'Certificate', '/tmp/cert.txt', 'alias')

passwordはこのキーストアのパスワード、/tmp/cert.txtはBASE64でエンコードされた証明書を含むファイル、aliasはこの証明書をインポートする際に使用される別名です。この別名は、この証明書リクエストの生成に使用された鍵ペアの別名と同じにする必要があります。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.5.7 Fusion Middleware Controlを使用したキーストアからの証明書または信頼できる証明書のエクスポート

次の手順を実行して、証明書または信頼できる証明書をキーストアからエクスポートします。

  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「キーストア」にナビゲートします。

  3. ストアのリストから目的のキーストアを選択します。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  5. 「証明書の管理」ページが表示されます。「エクスポート」をクリックします。

  6. ダイアログ・ボックスが開き、Base64でエンコードされた証明書または信頼できる証明書が表示されます。コンテンツをテキスト・ボックスからコピーしてファイルに貼り付けるか、「エクスポート」ボタンを選択してファイルに直接貼り付けます。

    ks32.gifの説明が続きます
    図ks32.gifの説明

8.3.5.8 WLSTを使用したキーストアからの証明書または信頼できる証明書のエクスポート

インスタンス名をinst1とすると、次のコマンドを使用して証明書をエクスポートします。

exportKeyStoreObject('inst1', 'ovd5', 'ovd', 'newKeystore', 'password', 'Certificate', '/tmp', 'alias')

passwordはこのキーストアのパスワード、/tmpはBASE64形式で証明書が生成されるファイルbase64.txtを含むディレクトリのパス、aliasはエクスポートされる証明書の別名です。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.5.9 Fusion Middleware Controlを使用したキーストアからの証明書または信頼できる証明書の削除

次の手順を実行して、証明書または信頼できる証明書をキーストアから削除します。

  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「キーストア」にナビゲートします。

  3. ストアのリストから目的のキーストアを選択します。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力して続行します。

  5. 「証明書の管理」ページが表示されます。削除する証明書または信頼できる証明書を選択して、「削除」をクリックします。

  6. 選択を確認するダイアログ・ボックスが表示されます。「OK」を選択して確認します。

    ks50.gifの説明が続きます
    図ks50.gifの説明

8.3.5.10 WLSTを使用したキーストアからの証明書または信頼できる証明書の削除

アプリケーション・サーバー・インスタンス名をinst1とすると、次のコマンドを使用して証明書を削除します。

removeKeyStoreObject('inst1', 'ovd5', 'ovd', 'newKeystore', 'password', 'Certificate', 'alias')

passwordはこのキーストアのパスワードで、aliasは削除する証明書の別名です。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.5.11 Fusion Middleware Controlを使用したサード・パーティ証明書への自己署名証明書の変換

次の手順を実行して、キーストアに存在する自己署名証明書をサード・パーティ証明書に変換します。

  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「キーストア」にナビゲートします。

  3. ストアのリストから自己署名証明書が格納されているキーストアを選択します。

  4. 表示されるダイアログ・ボックスにキーストアのパスワードを入力し、「OK」をクリックして続行します。

  5. 「証明書の管理」ページが表示されます。

  6. 変換対象の自己署名証明書用に新しい証明書リクエストを生成する必要があります。証明書を選択して、「CSRの生成」をクリックします。この例では、別名がdemoである自己署名証明書のリクエストが作成されます。

    jksconv3.gifの説明が続きます
    図jksconv3.gifの説明

    証明書リクエストが表示されます。

  7. 次のいずれかを実行できます。

    • Base64でエンコードされた証明書リクエストをコピーしてファイルに貼り付けます。

    • CSRのエクスポート」ボタンを使用して、ファイルに直接エクスポートします。

  8. 証明書リクエスト・ファイルを認証局(CA)に送信します。

  9. CAは証明書リクエストに署名して、証明書を生成します。CAは、次のいずれかを返送します。

    • 1個のファイル。新しく生成された証明書と独自のCA証明書の両方がpkcs7形式で含まれます。

    • 2個のファイル。一方には新しく生成された証明書、もう一方には独自のCA証明書が含まれます。

  10. インポート」を使用して、これらのファイルをキーストアにインポートします。

    • CAから1個のファイルを受信した場合は、置き換える自己署名証明書の別名(ステップ6を参照)と一致する別名を使用して、証明書としてインポートします。

    • 2個のファイルを受信した場合は、次の手順を実行します。

      • CA証明書が含まれるファイルを信頼できる証明書としてインポートします(キーストア内で一意の別名を使用)。

      • 証明書ファイルを証明書としてインポートします(置き換える自己署名証明書の別名と一致する別名を使用)。


      注意:

      順序は重要です。信頼できる証明書、証明書の順にインポートする必要があります。


    CAから1個のファイルが返され、これを証明書としてインポートします。

    jksconv4.gifの説明が続きます
    図jksconv4.gifの説明

  11. インポート後に、CAが発行した証明書で自己署名証明書が置き換えられます。

8.3.5.12 WLSTを使用したサード・パーティ証明書への自己署名証明書の変換

次の手順を実行して、自己署名証明書をサード・パーティ証明書(認証局によって署名された証明書)に変換します。

  1. CSRを生成およびエクスポートします。

    exportKeyStoreObject('inst1', 'ovd5', 'ovd', 'jks1', '<password>', 'CertificateRequest', '/tmp', 'mykey')
    
  2. CSR /tmp/base64.txtを認証局に送信します。CAは、PKCS#7形式の1つのファイルまたは2つの別々のファイルとして、新しく生成された証明書と独自の証明書を返送します。

  3. CAから1個のファイルを受信した場合は、次のコマンドを実行します。

    importKeyStoreObject('inst1', 'ovd5', 'ovd', 'jks1', 'password', 'Certificate', '/tmp/cert.txt', 'alias')
    

    passwordはこのキーストアのパスワード、/tmp/cert.txtはCAから返され、BASE64でエンコードされたPKCS#7を含むファイル、aliasはこの証明書をインポートする際に使用される別名です。この別名は、この証明書リクエストの生成に使用された鍵ペアの別名と一致している必要があります。

    CAから2個のファイルを受信した場合は、信頼できる証明書としてCA証明書を最初にインポートし、次に新しく生成された証明書をインポートします。

    importKeyStoreObject('inst1', 'ovd5', 'ovd', 'jks1', 'password', 'TrustedCertificate', '/tmp/cacert.txt', 'unique_alias')
     
    

    unique_aliasは、信頼できる証明書をインポートする際に使用される一意の別名です。

    importKeyStoreObject('inst1', 'ovd5', 'ovd', 'jks1', 'password', 'Certificate', '/tmp/cert.txt', 'alias')
    

    passwordはこのキーストアのパスワード、/tmp/cert.txtはCAから返され、BASE64でエンコードされた証明書を含むファイル、/tmp/cacert.txtはBASE64でエンコードされたCA証明書を含むファイル、aliasはこの証明書をインポートする際に使用される別名です。この別名は、この証明書リクエストの生成に使用された鍵ペアの別名と一致している必要があります。


関連項目:

WLSTコマンドの使用の詳細は、第6.9項を参照してください。


8.3.6 キーストアおよび証明書の保守

この項は次の管理に関する項目で構成されています。

8.3.6.1 キーストアの場所

Oracle Virtual Directoryキーストアのルート・ディレクトリは、$ORACLE_INSTANCE/config/OVD/ovd_instance_name/keystoresです。

このルート・ディレクトリには、すべてのJKSファイルが含まれます。

keys.jkstrust.jksという2つのキーストアがあるとすると、サンプル構造は次のようになります。

ORACLE_INSTANCE/config/OVD/ovd_instance_name/keystores/keys.jks
ORACLE_INSTANCE/config/OVD/ovd_instance_name/keystores/trust.jks

8.3.6.2 期限が切れそうな証明書の置換え

期限が切れそうな証明書は、実際に期限が切れる前に置き換えて、アプリケーションの停止時間を回避または短縮する必要があります。

期限が切れそうな証明書を置き換える手順は次のとおりです。

  1. キーストアから証明書リクエストを生成します(現在期限が切れそうな証明書の発行時と同じ鍵ペアを使用します)。

  2. 証明書発行のために、この証明書リクエストをサード・パーティの認証局(CA)に送信します。新しい証明書の発効日は、現在の証明書の失効日より早くしてください。停止時間を短縮するために、このような重複期間を設けることをお薦めします。


    注意:

    サード・パーティのCAがすでにリポジトリの証明書リクエストを保守している場合、ステップ1と2は不要です。その場合は、単純にその証明書リクエストの新しい証明書の発行をCAに依頼します。


  3. 新しく発行された証明書を、鍵ペアの別名と同じ別名を使用してキーストアにインポートします。

  4. 新しい証明書が元の証明書の発行元以外のCAで発行された場合は、新しく発行された証明書をインポートする前に、新しいCAの信頼できる証明書をインポートする必要があります。

8.3.6.3 ホスト名変更のキーストアへの影響

一般的には、証明書のDNはキーストアが使用されるサーバーのホスト名に基づいています。

たとえば、キーストアがOracle Virtual Directoryサーバーのホストmy.example.comで作成されている場合、このOracle Virtual Directoryキーストアの証明書のDNは次のようになります。

"CN=my.example.com,O=organization name"

ほとんどのクライアントはSSLハンドシェイク時にホスト名を検証するため、この同期は必須です。

ホスト名の検証を実行するクライアントには、WebブラウザやOracle HTTP Clientなどがあります。サーバーのホスト名が証明書のDNと一致しない場合、次のように処理されます。

  • 明確な警告が表示されます(ブラウザ・クライアントの場合)。

  • SSLハンドシェイクが失敗する場合があります(その他のクライアントの場合)。

クライアントからリクエストを受信しているサーバー上にキーストアがある場合、このサーバーのホスト名が変更されるたびに、キーストア内の証明書も更新する必要があります。

これは、新しいDN(新しいホスト名に基づく)で新しい証明書をリクエストすることで実行できます。

本番のキーストアの場合

手順は次のとおりです。

  1. 新しいDN(新しいホスト名に基づく)で新しいリクエストを生成します。詳細は8.3.5.3項を参照してください。

  2. このリクエストを認証局(CA)に送信します。

  3. CAから新しい証明書が返送されます。

  4. 証明書リクエストが生成された鍵ペアと同じ別名で新しい証明書をインポートします。詳細は8.3.5.5項を参照してください。

自己署名付きキーストアの場合

手順は次のとおりです。

  1. 既存のキーストアを削除します。詳細は8.3.3.5項を参照してください。

  2. 新しいDN(新しいホスト名に基づく)を使用して鍵ペアを含む新しいキーストアを作成します。詳細は8.3.3.1項を参照してください。

両方のタイプのキーストアでは

本番キーストアの場合も自己署名付きキーストアの場合も、新しい証明書がキーストアで使用可能になったら、信頼する必要があるすべてのコンポーネントのキーストアにその証明書を確実にインポートします。たとえば、Oracle Virtual DirectoryのHTTPリスナーでSSLが有効な場合、ホスト名の変更によって証明書が変更されたら、新しい証明書をクライアント・キーストアまたはブラウザ・リポジトリにインポートして、新しいピアを信頼できるようにする必要があります。

8.4 ウォレットの管理

この項の項目は次のとおりです。

8.4.1 ウォレットおよび証明書について

この項の項目は次のとおりです。

8.4.1.1 パスワードで保護されたウォレットと自動ログイン・ウォレット

作成できるウォレットは次の2種類です。

  • 自動ログイン・ウォレット

    これは、PKCS#12ウォレットの不明瞭化された形式です。実行時にパスワードを入力せずに、サービスおよびアプリケーションにPKIベースでアクセスできます。ウォレットへの追加、変更、削除の際にも、パスワードは不要です。ファイル・システム権限では、ウォレットの自動ログインに必要なセキュリティが提供されます。


    注意:

    以前のリリースでは、パスワード付きのウォレットを作成してから自動ログインを有効にして不明瞭化されたウォレットを作成できました。11g リリース1(11.1.1)では、自動ログイン・ウォレットはパスワードなしで作成されます。そのようなウォレットを使用する場合、パスワードを指定する必要はありません。

    パスワードのない自動ログインのウォレットを使用している場合、ldapbindコマンドで空値のパスワード("")を指定します。

    古いタイプのウォレット(リリース10gのウォレットなど)は、引き続き以前と同様に機能します。


  • パスワードで保護されたウォレット

    名前のとおり、このタイプのウォレットはパスワードで保護されます。ウォレットのコンテンツに対する追加、変更または削除には、パスワードが必要です。

    パスワードで保護されたウォレットが作成されるたびに、自動ログイン・ウォレットが自動的に生成されます。ただし、この自動ログイン・ウォレットは、前の項目で説明した、ユーザーが作成した自動ログイン・ウォレットとは異なります。ユーザーが作成したウォレットは構成時にパスワードなしで更新することができますが、自動的に生成される自動ログイン・ウォレットは直接更新できない読取り専用のウォレットです。ウォレットへの変更は、自動ログイン・ウォレットを再度生成するときに、パスワードで保護されたファイルを使用して(パスワードを入力して)行う必要があります。

    このシステム生成の自動ログイン・ウォレットの目的は、実行時にパスワードなしでサービスおよびアプリケーションにPKIベースのアクセスを提供することですが、構成時にはパスワードが必要です。


注意:

Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


8.4.1.2 自己署名付きウォレットとサード・パーティのウォレット

自己署名付きウォレットには、発行者がサブジェクトと同じである証明書が格納されます。これらの証明書は、一般的には信頼性がさほど優先されないイントラネット環境内で作成されます。自己署名付きウォレットの発行者はそれぞれ一意であるため、複数のコンポーネントおよびウォレットを含む環境では信頼性管理タスクはn倍に増加します。

Fusion Middleware Controlを使用して作成した場合、自己署名付きウォレットは5年間有効です。

サード・パーティのウォレットには、よく知られているCAで発行された証明書が格納されます。機能およびセキュリティは自己署名付きウォレットと同じですが、サード・パーティの証明書は、発行者がよく知られており、多くのクライアントから信頼されているので、信頼性が向上します。

自己署名付きウォレットとサード・パーティのウォレットの違い

機能およびセキュリティの観点からは、自己署名証明書はサード・パーティで発行された証明書と同等です。唯一の異なる点は、自己署名証明書は信頼性がないことです。

8.4.1.3 インスタンス間でのウォレットの共有

ウォレットはそれぞれ一意のアイデンティティを示すため、コンポーネント・インスタンス間またはOracleインスタンス間ではウォレットを共有しないことをお薦めします。

ただし、コンポーネント・インスタンスのクラスタを含む環境は例外です。この場合はウォレットを共有してかまいません。

ウォレットを簡単に共有するための管理ツールまたはインタフェースは用意されていません。ただし、あるインスタンスからウォレットをエクスポートして別のインスタンスにインポートすることはできます。ウォレットのエクスポートおよびインポートの詳細は、第8.4.4項を参照してください。

8.4.1.4 ウォレットのネーミング規則

Oracleウォレットの場合は、次のネーミング規則に従います。

  • 256文字を超える名前は使用しないでください。

  • ウォレット名には、次のいずれの文字も使用しないでください。

    | ; , ! @ # $ ( ) < > / \ " ' ` ~ { } [ ] = + & ^ space tab
    

    注意:

    オペレーティング・システムでこれらの文字をサポートしていても、このルールは守ってください。


  • ウォレット名には、ASCII以外の文字は使用しないでください。

  • また、ディレクトリ名およびファイル名に関するオペレーティング・システム固有のルールにも従ってください。

Oracle Internet DirectoryなどのLDAPディレクトリでのデータの処理方法により、ウォレット名では大文字と小文字が区別されません。

そのため、ウォレット名は大文字/小文字を区別せずに使用することをお薦めします(可能であれば、すべて小文字を使用します)。たとえば、UPPERという名前のウォレットを作成した場合、upperという名前のウォレットを別に作成しないでください。作成すると、ウォレットの管理作業時に混乱を引き起こす可能性があります。

8.4.2 Fusion Middleware Controlのウォレット管理ページへのアクセス

Oracleウォレットは、使用先のコンポーネントに関連付けられます。コンポーネント・インスタンスを探す手順は次のとおりです。

  1. 管理者の資格証明を使用してFusion Middleware Controlにログインします。

  2. 目的のドメインを選択します。


    注意:

    「設定」を使用すると、作業対象の特定のOracle WebLogic Serverドメインを見つけることができます。


  3. ナビゲーション・ペインで、ウォレットを使用するインスタンス(OHSインスタンスなど)を探します。インスタンスをクリックします。

    ページの左上の「ファーム」ドロップダウンの横にコンポーネント・タイプが表示されます。

  4. コンポーネント・タイプのドロップダウンから選択します(Oracle HTTP Serverなど)。

    コンポーネントが起動していない場合、右クリックして「コンポーネント」メニューを開き、「コントロール」→「起動」を押して、コンポーネントを起動します。

  5. セキュリティ」→「ウォレット」にナビゲートします。

  6. 「ウォレット」ページが表示されます。

「ウォレット」ページで、次の処理を実行できます。

  • ウォレットの作成

  • ウォレットの削除

  • ウォレットのインポート

  • ウォレットのエクスポート

8.4.3 ウォレットのライフサイクルの管理

Oracleウォレットの一般的なライフサイクル・イベントは、次のとおりです。

  • ウォレットが作成されます。ウォレットは直接作成するか、ファイル・システムからウォレット・ファイルをインポートすることによって作成できます。

  • 使用可能なウォレットのリストが表示され、特定のウォレットが選択されて更新されます。

  • ウォレットが更新または削除されます。パスワードで保護されたウォレットの更新操作では、ウォレット・パスワードを入力する必要があります。

  • パスワードで保護されたウォレットでは、ウォレット・パスワードは変更できます。

  • ウォレットは削除できます。

  • ウォレットはエクスポートおよびインポートできます。

8.4.4 一般的なウォレットの操作

この項では、次のような様々なウォレット管理機能を実行するために必要な手順について説明します。

8.4.4.1 Fusion Middleware Controlを使用したウォレットの作成

次の手順を実行して、ウォレットを作成します。

  1. コンポーネント・インスタンスの「ウォレット」ページにナビゲートします。Fusion Middleware Controlのウォレット管理ページへのアクセスに関する項を参照してください。

  2. 作成」をクリックします。

  3. 「ウォレットの作成」ページが表示されます。

  4. ウォレットの名前を入力します。

  5. ウォレットを自動ログイン・ウォレットにするかどうかによって、「自動ログイン」ボックスを選択または選択解除します。デフォルトでは、自動ログイン・ウォレットになります。

    詳細は、パスワードで保護されたウォレットと自動ログイン・ウォレットに関する項を参照してください。


    注意:

    Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


    wal3.gifの説明が続きます
    図wal3.gifの説明

  6. 発行」をクリックします。

  7. この時点で、証明書リクエスト(CR)を追加するかどうかを選択する必要があります。ここで追加しなくとも、CRは後でいつでも追加できます。詳細は、Fusion Middleware Controlを使用した証明書リクエストの追加に関する項を参照してください。

    この例では、CRを追加します。

    wal5.gifの説明が続きます
    図wal5.gifの説明


    注意:

    ここに入力する共通名は、クライアントが接続するOracle HTTP Serverのホスト名と一致する必要があります。これにより、第8.4.8.2項で説明されている問題を回避することができます。


  8. 終了」をクリックします。

  9. CRには、次の2つのオプションがあります。

    • Base64でエンコードされた証明書リクエストを、テキスト・ボックスからコピーしてファイルに貼り付けます。

    • 証明書リクエストのエクスポート」ボタンを使用して、ファイルに直接エクスポートします。

  10. ウォレットの作成を確認するメッセージが表示されます。

8.4.4.2 WLSTを使用したウォレットの作成


注意:

この章で説明するWLSTコマンドでは、コンポーネントの例としてOracle Internet Directoryを使用します。Oracle HTTP ServerまたはOracle Web Cacheに対して同じコマンドを実行するには、3番目のパラメータをoidからそれぞれohsまたはwebcacheに変更します。


インスタンス名をinst1とすると、次のコマンドを使用してウォレットを作成します。

createWallet('inst1', 'oid1', 'oid', 'oid2', 'password')

oid2はこのウォレットの名前で、passwordはこのウォレットのパスワードです。自動ログイン・ウォレットを作成する必要がある場合、パスワードは''と指定する必要があります(引用符の間にテキストは入れません)。


注意:

Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


8.4.4.3 Fusion Middleware Controlを使用した自己署名付きウォレットの作成

次の手順を実行して、自己署名付きウォレットを作成します。

  1. コンポーネント・インスタンスの「ウォレット」ページにナビゲートします。Fusion Middleware Controlのウォレット管理ページへのアクセスに関する項を参照してください。

  2. 自己署名付きウォレットの作成」をクリックします。

  3. 「自己署名付きウォレットの作成」ページで、次のデータを入力してウォレットを作成します。次のものが含まれます。

  4. 発行」をクリックします。

  5. 確認メッセージが表示され、新しいウォレットがウォレットのリストに表示されます。

    wal9.gifの説明が続きます
    図wal9.gifの説明


注意:

Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


8.4.4.4 WLSTを使用した自己署名付きウォレットの作成

インスタンス名をinst1とすると、次のコマンドを使用して自己署名付きウォレットを作成します。

createWallet('inst1', 'oid1', 'oid', 'oid2', 'password')
addSelfSignedCertificate('inst1', 'oid1', 'oid', 'oid2', 'password', 'subject_dn', 'key_size')

oid2はウォレット名、subject_dnは自己署名証明書の識別名、key_sizeはキー・サイズ(ビット単位)、passwordはこのウォレットのパスワードです。自動ログイン・ウォレットを作成する必要がある場合、パスワードは''と指定する必要があります(引用符の間にテキストは入れません)。


注意:

Oracle Internet Directory用に構成されたウォレットは、自動ログインが有効になっている必要があります。


8.4.4.5 Fusion Middleware Controlを使用した自己署名付きウォレットのサード・パーティのウォレットへの変更

自己署名付きウォレットをサード・パーティのウォレットに変換する手順は、自己署名付きウォレットのサード・パーティのウォレットへの変更に関する項を参照してください。

8.4.4.6 WLSTを使用した自己署名付きウォレットのサード・パーティのウォレットへの変更

自己署名付きウォレットをサード・パーティのウォレットに変換する手順は、自己署名付きウォレットのサード・パーティのウォレットへの変更に関する項を参照してください。

8.4.4.7 Fusion Middleware Controlを使用したウォレットのエクスポート

次の手順を実行して、ウォレットをエクスポートします。

  1. コンポーネント・インスタンスの「ウォレット」ページにナビゲートします。Fusion Middleware Controlのウォレット管理ページへのアクセスに関する項を参照してください。

  2. 目的のウォレットに対応する行を選択します。


    注意:

    ウォレットの名前自体をクリックしないでください。名前をクリックすると、証明書管理操作用のウォレットが開きます。


  3. エクスポート」をクリックします。

  4. 「ウォレットのエクスポート」ページが表示されます。

  5. ファイル名とウォレットのエクスポート先を入力します。

  6. OK」をクリックします。

    wal20.gifの説明が続きます
    図wal20.gifの説明

8.4.4.8 WLSTを使用したウォレットのエクスポート

インスタンス名をinst1とすると、次のコマンドを使用してウォレットをエクスポートします。

exportWallet('inst1', 'oid1', 'oid', 'selfsigned', 'password', '/tmp')

passwordはこのウォレットのパスワードです(自動ログイン・ウォレットの場合、パスワードは''と指定する必要があります)。

自動ログイン・ウォレットの場合、このコマンドにより、ウォレットはディレクトリ/tmpの下のcwallet.ssoという名前のファイルにエクスポートされます。パスワードで保護されたウォレットの場合、/tmpの下にewallet.p12cwallet.ssoという2つのファイルが作成されます。

8.4.4.9 Fusion Middleware Controlを使用したウォレットのインポート

次の手順を実行して、ウォレットをインポートします。

  1. コンポーネント・インスタンスの「ウォレット」ページにナビゲートします。Fusion Middleware Controlのウォレット管理ページへのアクセスに関する項を参照してください。

  2. インポート」をクリックします。

  3. 「ウォレットのインポート」ページが表示されます。

  4. これが自動ログイン・ウォレットの場合は、ボックスを選択してウォレット名を入力します。パスワードは不要です。

    wal10.gifの説明が続きます
    図wal10.gifの説明

  5. これが自動ログイン・ウォレットでない場合は、自動ログイン・ボックスを選択解除します。ウォレット名とパスワードを指定します。

    wal11.gifの説明が続きます
    図wal11.gifの説明

  6. OK」をクリックします。ウォレットがリポジトリにインポートされます。

8.4.4.10 WLSTを使用したウォレットのインポート

インスタンス名をinst1とすると、次のコマンドを使用してウォレットをインポートします。

importWallet('inst1', 'oid1', 'oid', 'oid5', 'password', '/tmp/ewallet.p12')

passwordはインポートされるウォレットのパスワードで、/tmp/ewallet.p12にはウォレット・ファイルが含まれます(ewallet.p12cwallet.ssoという2つのウォレット・ファイルがある場合は、ewallet.p12を指します)。cwallet.ssoを指すのは、自動ログイン・ウォレットの場合のみです。またこの場合、パスワードは''と指定する必要があります。

8.4.4.11 Fusion Middleware Controlを使用したウォレットの削除

次の手順を実行して、ウォレットを削除します。

  1. コンポーネント・インスタンスの「ウォレット」ページにナビゲートします。Fusion Middleware Controlのウォレット管理ページへのアクセスに関する項を参照してください。

  2. 目的のウォレットに対応する行を選択します。

  3. 削除」をクリックします。

    ks19.gifの説明が続きます
    図ks19.gifの説明

  4. このウォレットは削除され、ウォレットのリストに表示されなくなります。

8.4.4.12 WLSTを使用したウォレットの削除

インスタンス名をinst1とすると、次のコマンドを使用してウォレットを削除します。

deleteWallet('inst1', 'oid1', 'oid', 'selfsigned')

8.4.5 証明書のライフサイクルの管理

完全な証明書のライフサイクルは、ウォレットの作成から始まり、次のような処理が含まれます。

  1. 空のウォレット(証明書リクエストが格納されていないウォレット)を作成します。

  2. 証明書リクエストをウォレットに追加します。

  3. 証明書リクエストをエクスポートします。

  4. 証明書リクエストを使用して、対応する証明書を取得します。

  5. 信頼できる証明書をインポートします。

  6. 証明書をインポートします。

これらの手順は、サード・パーティの信頼できる証明書を含むウォレットの生成に必要です。このタスクの詳細は、Fusion Middleware Controlを使用したサード・パーティ証明書への自己署名証明書の変換に関する項を参照してください。

8.4.6 Fusion Middleware Controlのウォレットの証明書管理ページへのアクセス

Oracleウォレットは、使用先のコンポーネントに関連付けられます。

コンポーネント・インスタンスを探す手順は次のとおりです。

  1. 管理者の資格証明を使用してFusion Middleware Controlにログインします。

  2. 目的のドメインを選択します。


    注意:

    「設定」を使用すると、作業対象の特定のOracle WebLogic Serverドメインを見つけることができます。


  3. ナビゲーション・ペインを使用して、ウォレットを使用するインスタンス(Oracle HTTP Serverインスタンスなど)を探します。注意: 後続の手順が機能するように、Oracle HTTP Serverが実行中である必要があります。

  • ナビゲーション・ペインを使用して、ウォレットを使用するインスタンス(Oracle HTTP Serverインスタンスなど)を探します。注意: 後続の手順が機能するように、Oracle HTTP Serverが実行中である必要があります。

コンポーネント・インスタンスを見つけた後、Fusion Middleware Controlのウォレットの証明書管理ページにアクセスするには、次の2つの方法があります。

  • ウォレット」ページに移動し、目的のウォレットの行を選択して、「管理」をクリックします。

  • ウォレット」ページに移動し、目的のウォレットを見つけて、ウォレット名をクリックします。

証明書管理ページでは、次の処理を実行できます。

  • 証明書リクエストの追加

  • 証明書リクエスト、証明書または信頼できる証明書のエクスポート

  • 証明書または信頼できる証明書のインポート

  • 証明書リクエスト、証明書または信頼できる証明書の削除

8.4.7 一般的な証明書の操作

この項では、次のような一般的な証明書の操作について説明します。

8.4.7.1 Fusion Middleware Controlを使用した証明書リクエストの追加

ウォレットを作成するときに証明書リクエストを追加できますが、そのときに追加していない場合は、次の手順を使用して追加できます。

  1. 証明書管理ページにナビゲートします。Fusion Middleware Controlのウォレットの証明書管理ページへのアクセスに関する項を参照してください。

  2. 証明書リクエストの追加」をクリックします。

  3. CRのDN値を入力するダイアログ・ボックスが表示されます。

    cer2.gifの説明が続きます
    図 cer2.gifの説明

    アスタリスク(*)のマークが付いたフィールドは必須です。注意: 共通名は、クライアントがコンポーネントへのアクセスに使用するホスト名である必要があります。

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

  5. 新しいCRが生成されて、ダイアログ・ボックスが開き、テキスト・ボックスにそのCRが表示されます。次のいずれかを実行できます。

    • Base64でエンコードされた証明書リクエストをコピーしてファイルに貼り付けます。

    • 証明書リクエストのエクスポート」ボタンを使用して、ファイルに直接エクスポートします。

    cer3.gifの説明が続きます
    図 cer3.gifの説明

8.4.7.2 WLSTを使用した証明書リクエストの追加

インスタンス名をinst1とすると、次のコマンドを使用してウォレットの証明書リクエストを追加します。

addCertificateRequest('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'subject_dn', 'key_size')

passwordはこのウォレットのパスワード、subject_dnは証明書リクエストを生成する際に使用される識別名、key_sizeはキー・サイズ(ビット単位)です。


関連項目:

第6.9.1項


8.4.7.3 Fusion Middleware Controlを使用した証明書、証明書リクエストまたは信頼できる証明書のエクスポート

次の手順を実行して、証明書、証明書リクエスト(CR)または信頼できる証明書をエクスポートします。

  1. 証明書管理ページにナビゲートします。Fusion Middleware Controlのウォレットの証明書管理ページへのアクセスに関する項を参照してください。

  2. 証明書、CRまたは信頼できる証明書を選択して、「エクスポート」をクリックします。

  3. ダイアログ・ボックスが開き、証明書、CRまたは信頼できる証明書がテキスト・ボックスに表示されます。次のいずれかを実行できます。

    • Base64でエンコードされた証明書をコピーしてファイルに貼り付けます。

    • 証明書のエクスポート」または「信頼できる証明書のエクスポート」ボタンを使用して、ファイルに直接エクスポートします。

8.4.7.4 WLSTを使用した証明書、証明書リクエストまたは信頼できる証明書のエクスポート

インスタンス名をinst1とすると、次のコマンドを使用して証明書リクエストをエクスポートします。

exportWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'CertificateRequest', '/tmp', 'subject_dn')

passwordはこのウォレットのパスワード、/tmpはBASE64形式で証明書リクエストがエクスポートされるファイルbase64.txtを含むディレクトリのパス、subject_dnはエクスポートされる証明書リクエストの識別名です。

証明書または信頼できる証明書をエクスポートするには、前述のコマンドの中のCertificateRequestCertificateまたはTrustedCertificateに置き換えます。


関連項目:

第6.9.13項


8.4.7.5 Fusion Middleware Controlを使用した証明書または信頼できる証明書のインポート


注意:

DERでエンコードされた証明書または信頼できる証明書をOracleウォレットにインポートするには、Fusion Middleware Controlは使用できません。かわりに、次のツールのいずれかを使用します。

  • Oracle Wallet Manager

  • orapkiコマンドライン・ツール


次の手順を実行して、証明書または信頼できる証明書をインポートします。

  1. 証明書管理ページにナビゲートします。Fusion Middleware Controlのウォレットの証明書管理ページへのアクセスに関する項を参照してください。

  2. インポート」をクリックします。

  3. 「証明書のインポート」ダイアログで、証明書または信頼できる証明書のいずれかを選択できます。

  4. インポートには、次の2つの方法があります。

    • Base64でエンコードされた証明書または信頼できる証明書をテキスト・ボックスに貼り付けます。

    • ファイル・セレクタを使用してファイル・システムを参照し、Base64でエンコードされた証明書または信頼できる証明書を含むファイルを見つけます。

    cer4.gifの説明が続きます
    図 cer4.gifの説明

  5. OK」をクリックします。

8.4.7.6 WLSTを使用した証明書または信頼できる証明書のインポート


注意:

DERでエンコードされた証明書または信頼できる証明書をOracleウォレットにインポートするには、WLSTコマンドライン・ツールは使用できません。かわりに、次のツールのいずれかを使用します。

  • Oracle Wallet Manager

  • orapkiコマンドライン・ツール


インスタンス名をinst1とすると、次のコマンドを使用してウォレットに証明書をインポートします。

importWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'Certificate', '/tmp/cert.txt')

passwordはこのウォレットのパスワードで、/tmp/cert.txtはBASE64でエンコードされた証明書を含むファイルです。

信頼できる証明書をインポートするには、前述のコマンドの中のCertificateTrustedCertificateに置き換えます。


関連項目:

第6.9.21項


8.4.7.7 Fusion Middleware Controlを使用した証明書リクエスト、証明書または信頼できる証明書の削除

次の手順を実行して、CR、証明書または信頼できる証明書を削除します。

  1. 証明書管理ページにナビゲートします。Fusion Middleware Controlのウォレットの証明書管理ページへのアクセスに関する項を参照してください。

  2. 証明書リクエスト、証明書または信頼できる証明書を含む行を選択します。

  3. 削除」をクリックします。

  4. 確認を求めるダイアログ・ボックスが表示されます。

    cer5.gifの説明が続きます
    図 cer5.gifの説明

  5. はい」をクリックします。

  6. そのオブジェクトは「証明書の管理」リストに表示されなくなります。

8.4.7.8 WLSTを使用した証明書リクエスト、証明書または信頼できる証明書の削除

インスタンス名をinst1とすると、次のコマンドを使用して証明書を削除します。

removeWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'Certificate', 'subject_dn')

passwordはこのウォレットのパスワードで、subject_dnは削除する証明書の識別名です。

証明書リクエストまたは信頼できる証明書を削除するには、前述のコマンドの中のCertificateCertificateRequestまたはTrustedCertificateに置き換えます。


関連項目:

第6.9項


8.4.7.9 Fusion Middleware Controlを使用したサード・パーティ証明書への自己署名証明書の変換

ウォレットに存在する自己署名証明書は、認証局(CA)で署名されたサード・パーティ証明書に変換できます。次の手順を実行して、このタスクを実行します。


注意:

この手順はOracle Internet Directoryで使用するものですが、Oracle HTTP ServerおよびOracle Web Cacheで使用するウォレットの生成にも同様の手順を適用できます。


  1. ナビゲーション・ペインからコンポーネント・インスタンスを見つけます。

  2. component_name」→「セキュリティ」→「ウォレット」にナビゲートします。

  3. ウォレットのリストから自己署名証明書が格納されているウォレットを選択します。

  4. 「証明書の管理」ページが表示されます。ウォレット内の証明書の一覧が含まれます。

  5. 変換対象の自己署名証明書用に新しい証明書リクエストを生成する必要があります。自己署名証明書を選択して、「証明書リクエストの追加」をクリックします。ダイアログ・ボックスが表示されます。

    cer2.gifの説明が続きます
    図 cer2.gifの説明


    注意:

    ここに入力する共通名は、クライアントが接続するサーバーのホスト名と一致する必要があります。これにより、第8.4.8.2項で説明されている問題を回避することができます。


  6. 証明書リクエスト(CR)の詳細を入力して、「OK」をクリックします。

    CRが生成されます。次のいずれかを実行できます。

    • Base64でエンコードされた証明書リクエストをコピーしてファイルに貼り付けます。

    • 証明書リクエストのエクスポート」ボタンを使用して、ファイルに直接エクスポートします。

  7. 証明書リクエスト・ファイルを認証局に送信して、証明書を生成します。これは、証明書取得のローカル・ポリシーに従って実行できるオフラインの手順です。

  8. CAは証明書リクエストに署名して、証明書を生成します。CAは、次のいずれかを返送します。

    • 1個のファイル。新しく生成された証明書と独自のCA証明書の両方がpkcs7形式で含まれます。

    • 一方には新しく生成された証明書、もう一方には独自のCA証明書(チェーンがある場合は複数のCA証明書)が含まれた2個のファイル。

  9. インポート」を使用して、これらのファイルをウォレットにインポートします。

    • CAから1個のファイルを受信した場合は、置き換える自己署名証明書の別名(ステップ3を参照)と一致する別名を使用して、信頼できる証明書としてインポートします。

    • 2個のファイルを受信した場合は、次の手順を実行します。

      • CA証明書が含まれるファイルを信頼できる証明書としてインポートします(ウォレット内で一意の別名を使用)。

      • 証明書ファイルを証明書としてインポートします(置き換える自己署名証明書の別名と一致する別名を使用)。


      注意:

      順序は重要です。信頼できる証明書、証明書の順にインポートする必要があります。


    CAから1個のファイルが返され、これを信頼できる証明書としてインポートします。

    cer4.gifの説明が続きます
    図 cer4.gifの説明

  10. インポート後に、CAが発行した証明書で自己署名証明書が置き換えられます。

8.4.7.10 WLSTを使用したサード・パーティ証明書への自己署名証明書の変換


関連項目:

第6.9項


次の手順を実行し、WLSTを使用して自己署名証明書をサード・パーティ証明書に変換します。

  1. 証明書リクエストを追加します。たとえば、次のように指定します。

    addCertificateRequest('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'subject_dn', 'key_size')
    
  2. 証明書リクエストをエクスポートします。

    exportWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'CertificateRequest', '/tmp', 'subject_dn')
    
  3. 証明書リクエスト/tmp/base64.txtを認証局に送信します。CAは、PKCS#7形式の1つのファイルまたは2つの別々のファイルとして、新しく生成された証明書と独自の証明書を返送します。

  4. CAから1個のファイルを受信した場合は、次のコマンドを実行します。

    importWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'TrustedChain', '/tmp/cert.txt')
    

    passwordはこのウォレットのパスワード、/tmp/cert.txtはCAから返され、BASE64でエンコードされたPKCS#7を含むファイルです。

    CAから2個のファイルを受信した場合は、信頼できる証明書としてCA証明書を最初にインポートし、次に新しく生成された証明書をインポートします。

    importWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'TrustedCertificate', '/tmp/cacert.txt')
     
    importWalletObject('inst1', 'oid1', 'oid', 'selfsigned', 'password', 'Certificate', '/tmp/cert.txt')
    

    passwordはこのウォレットのパスワード、/tmp/cert.txtはCAから返され、BASE64でエンコードされた証明書を含むファイル、/tmp/cacert.txtはBASE64でエンコードされたCA証明書を含むファイルです。

8.4.8 ウォレットおよび証明書の保守

この項は次の管理に関する項目で構成されています。

8.4.8.1 ウォレットの場所

この項では、様々なコンポーネントのウォレットの場所について説明します。

Oracle Internet Directoryウォレットのルート・ディレクトリ

ウォレットのルート・ディレクトリは、$ORACLE_INSTANCE/OID/adminです。

このルート・ディレクトリには、ウォレットの名前がついたサブディレクトリが入ります。それぞれのサブディレクトリには実際のウォレット・ファイルが格納されます。

たとえば、oid1およびoid2という名前の2つのウォレットがあり、oid1はパスワードで保護されたウォレットで、oid2は自動ログインのみのウォレットであるとします。サンプルの構造は、次のようになります。

$ORACLE_INSTANCE/OID/admin/oid1/cwallet.sso
$ORACLE_INSTANCE/OID/admin/oid1/ewallet.p12
$ORACLE_INSTANCE/OID/admin/oid2/cwallet.sso

Oracle HTTP Serverウォレットのルート・ディレクトリ

ウォレットのルート・ディレクトリは、$ORACLE_INSTANCE/config/OHS/ohs_instance_name/keystoresです。

このルート・ディレクトリには、ウォレットの名前がついたサブディレクトリが入ります。それぞれのサブディレクトリには実際のウォレット・ファイルが格納されます。

たとえば、ohs1およびohs2という名前の2つのウォレットがあり、ohs1はパスワードで保護されたウォレットで、ohs2は自動ログインのみのウォレットであるとします。サンプルの構造は、次のようになります。

$ORACLE_INSTANCE/config/OHS/ohs_instance1/keystores/ohs1/cwallet.sso
$ORACLE_INSTANCE/config/OHS/ohs_instance1/keystores/ohs1/ewallet.p12
$ORACLE_INSTANCE/config/OHS/ohs_instance1/keystores/ohs2/cwallet.sso

Oracle Web Cacheウォレットのルート・ディレクトリ

ウォレットのルート・ディレクトリは、$ORACLE_INSTANCE/config/WebCache/webcache_instance_name/keystoresです。

このルート・ディレクトリには、ウォレットの名前がついたサブディレクトリが入ります。それぞれのサブディレクトリには実際のウォレット・ファイルが格納されます。

たとえば、wc1およびwc2という名前の2つのウォレットがあり、wc1はパスワードで保護されたウォレットで、wc2は自動ログインのみのウォレットであるとします。サンプルの構造は、次のようになります。

$ORACLE_INSTANCE/config/WebCache/webcache_instance1/keystores/wc1/cwallet.sso
$ORACLE_INSTANCE/config/WebCache/webcache_instance1/keystores/wc1/ewallet.p12
$ORACLE_INSTANCE/config/WebCache/webcache_instance1/keystores/wc2/cwallet.sso

8.4.8.2 ホスト名変更のウォレットへの影響

一般的には、ウォレットのDNはウォレットが使用されるサーバーのホスト名に基づいています。

たとえば、ウォレットがOracle HTTP Serverのmy.example.comで作成されている場合、このOracle HTTP Serverウォレットの証明書のDNは「CN=my.example.com,O=organization name」のようになります。

ほとんどのクライアントはSSLハンドシェイク時にホスト名を検証するため、この同期は必須です。

ホスト名の検証を実行するクライアントには、WebブラウザやOracle HTTPClientなどがあります。サーバーのホスト名が証明書のDNと一致しない場合、次のように処理されます。

  • 明確な警告が表示されます(ブラウザ・クライアントの場合)。

  • SSLハンドシェイクが失敗する場合があります(その他のクライアントの場合)。

クライアントからリクエストを受信しているサーバー上にウォレットがある場合、このサーバーのホスト名が変更されるたびに、ウォレット内の証明書も更新する必要があります。

これは、新しいDN(新しいホスト名に基づく)で新しい証明書をリクエストすることで実行できます。

本番のウォレットの場合

手順は次のとおりです。

  • 新しいDN(新しいホスト名に基づく)で新しいリクエストを生成します。

  • このリクエストを認証局(CA)に送信します。

  • CAから新しい証明書が返送されます。

  • ウォレットから古い証明書および証明書リクエストを削除します。

  • 新しい証明書をインポートします。

これらの操作の詳細は、第8.4.4項を参照してください。

自己署名付きウォレットの場合

手順は次のとおりです。

  • 既存のウォレットを削除します。

  • 新しいDN(新しいホスト名に基づく)を使用して自己署名証明書を含む新しいウォレットを作成します。

これらの操作の詳細は、第8.4.4項を参照してください。

本番ウォレットの場合も自己署名付きウォレットの場合も、新しい証明書がウォレットで使用可能になったら、その証明書を信頼する必要があるすべてのコンポーネントのウォレットに確実にインポートする必要があります。たとえば、Oracle WebLogic ServerでSSLが有効な場合、ホスト名の変更によってOracle WebLogic Serverの証明書が変更されたら、新しい証明書をOracle HTTP Serverウォレットにインポートして、新しいピアを信頼できるようにする必要があります。

8.4.8.3 自己署名付きウォレットのサード・パーティのウォレットへの変更

自己署名付きウォレットをサード・パーティのウォレットに変換できます。サード・パーティのウォレットには、信頼できる認証局(CA)が署名した証明書が含まれます。

CN=my.example.com,O=example」というDNの証明書が格納された、MYWalletという自己署名付きウォレットがあるとすると、次の手順を実行して、これをサード・パーティのウォレットに変換します。

  1. ウォレットからユーザー証明書「CN=my.example.com,O=example」を削除します。

  2. ウォレットから信頼できる証明書「CN=my.example.com,O=example」を削除します(これは、ユーザー証明書と同じDNですが、別のエンティティです)。

  3. ウォレットから証明書リクエスト「CN=my.example.com,O=example」をエクスポートして、ファイルに保存します。

  4. この証明書リクエスト・ファイルをVeriSignなどのサード・パーティの認証局(CA)に送信します。

  5. CAは、次のいずれかを返送します。

    • ユーザー証明書ファイルと独自の証明書ファイル

    • ユーザー証明書と独自の証明書で構成された証明連鎖を含む単一のファイル

  6. これらのファイルをウォレットにインポートします。

これらの操作の詳細は、第8.4.4項を参照してください。

8.4.8.4 ウォレット内の期限が切れそうな証明書の置換え

期限が切れそうな証明書は、実際に期限が切れる前に置き換えて、アプリケーションの停止時間を回避または短縮する必要があります。

期限が切れそうな証明書を置き換える手順は次のとおりです。

  1. ウォレットから証明書リクエストをエクスポートします(これは、現在期限が切れそうな証明書の発行時と同じリクエストです)。

  2. 証明書発行のために、この証明書リクエストをサード・パーティの認証局(CA)に送信します。新しい証明書の発効日は、現在の証明書の失効日より早くしてください。停止時間を短縮するために、このような重複期間を設けることをお薦めします。


    注意:

    サード・パーティのCAがすでにリポジトリの証明書リクエストを保守している場合、ステップ1と2は不要です。その場合は、単純にその証明書リクエストの新しい証明書の発行をCAにリクエストします。


  3. ウォレットから既存の証明書(期限が切れそうな証明書)を削除します。

  4. 新しく発行された証明書をウォレットにインポートします。

    停止時間を短縮するために、新しい証明書が有効になり古い証明書が失効していない重複期間に、前の証明書を削除して新しい証明書をインポートします。

  5. 新しい証明書が元の証明書の発行元以外のCAで発行された場合は、新しく発行された証明書をインポートする前に、新しいCAの信頼できる証明書をインポートする必要があります。

これらの操作の詳細は、第8.4.4項を参照してください。