ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Fusion Middlewareの管理
12c (12.1.3)
E56229-02
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

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

この章では、Oracle Fusion Middlewareのセキュリティ機能を使用してキーストア、鍵および証明書を管理する方法について説明します。これらのアーティファクトは、Oracle Fusion MiddlewareコンポーネントのSSLおよび関連タスクを構成するために使用されます。

この章では、次の内容を説明します。

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

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

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

7.1.1 キーストアのタイプ

Oracle Fusion Middlewareでは、鍵と証明書用に様々なタイプのキーストアが用意されています(表7-1を参照)。

表7-1 Oracle Fusion Middlewareのキーストアのタイプ

キーストア・タイプ 説明 保護メカニズム

Oracleウォレット

Oracleウォレット

パスワードまたは自動ログイン

JKS

Javaキーストア

パスワード

KSS

OPSSキーストア・サービス

パスワードまたはポリシー


7.1.1.1 Oracleウォレットについて

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

ウォレットを作成すると、次のことができます。

  • ウォレットに自己署名付き証明書を自動移入できます。このようなウォレットはテスト・ウォレットと呼ばれ、通常、開発またはテスト・フェーズで使用されます。

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

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

OracleウォレットはOracle HTTP Serverで使用されます。Oracle Fusion Middleware 12c (12.1.3)の時点では、キーストア・サービスで使用できる中央記憶域および統合管理を利用して、該当するサービスのエクスポート、インポートおよび同期化機能により、ウォレットとその内容を管理できます。


関連項目:

  • キーストア・サービスの詳細は、第7.1.1.3項を参照してください。

  • importKeyStoreexportKeyStoreおよびsyncKeyStoreコマンドの詳細は、『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』を参照してください。


7.1.1.2 JKSキーストアについて

JKSキーストアは、JavaキーストアのデフォルトのJDK実装です。Java EEアプリケーションはJKSベースのキーストアおよびトラストストアを使用できます。

7.1.1.3 キーストア・サービス(KSS)キーストアについて

OPSSキーストア・サービスでは、SSL、メッセージ・セキュリティ、暗号化および関連タスク用のキーおよび証明書を管理できます。

キーストア・サービスは、キーストアとトラストストア、期限切れ証明書およびその他の重要な資料に対するポリシー・ベースの保護および集中管理を含む、いくつかの利点を提供します。

Oracle Fusion Middleware 12c (12.1.3)、Oracle WebLogic Serverの場合

  • 最初からキーストア・サービスを使用します。

  • アップグレードした環境ではデフォルトでJKSを使用します。

7.1.2 キーストア管理ツール

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

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

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

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

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

DERでエンコードされた証明書または信頼できる証明書をOracleウォレットにインポートするときには、Fusion Middleware ControlもWLSTコマンド行ツールも使用できません。かわりに、orapkiコマンド行ツールを使用してください。

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

Oracleウォレットがorapkiなどのツールを使用して作成された場合、使用前にインポートする必要があります。特にOracle HTTP Serverでは、ウォレットがorapkiを使用して作成された場合、これをFusion Middleware Controlで表示または管理するには、最初にFusion Middleware ControlまたはWLST importWalletコマンドを使用してインポートする必要があります。詳細は、第7.4.4.5.1項および第7.4.4.5.2項を参照してください。

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

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

スタンドアロン環境でのウォレットの管理

スタンドアロンOHSインストールなどのスタンドアロン環境では、データベースによるキーストア管理機能が用意されています。

詳細は、『Oracle HTTP Serverの管理』を参照してください。

自己署名付き証明書に関するJDK7の要件

JDK7では、SSL構成で使用する自己署名付きCA証明書にkeyUsage拡張機能が必要です。詳細は、第H.3.3項を参照してください。

追加情報

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

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

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

7.2.1 コマンド行インタフェースの起動方法

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

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


注意:

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


次に基本的な実行シーケンスを示します。

./wlst.sh
connect('weblogic','weblogic1') --- To connect to WebLogic Admin Server
editCustom()
startEdit()
wlstCommand('param1', 'param2', 'param3', 'param4')
save()
activate()

ここで、wlstCommandは、実際のWLSTコマンドです。たとえば、OHSウォレットを作成するには:

connect('weblogic','weblogic1') --- For connecting to WLS Admin Server
editCustom()
startEdit()
createWallet('ohs1', 'ohs1', 'ohs', 'testwallet')
save()
activate()

このコマンドでは、最初の2つのパラメータはともにコンポーネント・インスタンス名を参照し(それぞれのパラメータがOracleインスタンスおよびコンポーネント・インスタンスを参照する以前のリリースとは異なり、このリリースでは両方のパラメータがコンポーネント・インスタンスを参照します)、3番目のパラメータはコンポーネントで、4番目のパラメータはウォレット名です。

次にcreateWalletの出力例を示します。

wls:/base_domain/serverConfig> editCustom()
Location changed to edit custom tree. This is a writable tree with No root.
For more help, use help('editCustom')
 
wls:/base_domain/editCustom> startEdit()
Starting an edit session ...
Started edit session, please be sure to save and activate your
changes once you are done.
wls:/base_domain/editCustom> createWallet('ohs1','ohs1','ohs','testwallet','Welcome1')
Wallet created
wls:/base_domain/editCustom> save()
Saving all your changes ...
Saved all your changes successfully.
wls:/base_domain/editCustom> activate()
Activating all your changes, this may take a while ...
The edit lock associated with this edit session is released
once the activation is completed.
Activation completed

7.3 キーストア管理

キーストア・サービス(KSS)のキーストア管理の詳細は、『 Oracle Platform Security Servicesによるアプリケーションの保護』のキーストア・サービスによるキーストアの管理に関する項を参照してください。

7.4 ウォレットの管理

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

この説明では、コンポーネントがWebLogicドメインにインストールされていることを前提としています。スタンドアロン・コンテキスト(たとえば、スタンドアロンOracle HTTP Server)でのウォレット構成は、付録Gを参照してください。

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

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

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

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

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

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


    注意:

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

7.4.1.4 ウォレットの命名規則

Oracleウォレットの場合は、次の命名規則に従います。

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

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

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

    注意:

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


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

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

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

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

7.4.1.5 JDK7でのウォレットの要件

JDK7では、SSL構成で使用する自己署名付きCA証明書にkeyUsage拡張機能が必要です。詳細は、第H.3.3項を参照してください。

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

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

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

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


    注意:

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


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

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

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

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

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

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

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

  • ウォレットの作成

  • ウォレットの削除

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

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

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

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

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

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

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

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

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

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


    注意:

    Oracle Fusion Middleware 12c (12.1.3)の時点では、キーストア・サービスで使用できる中央記憶域および統合コンソールを利用して、該当するサービスのエクスポート、インポートおよび同期化機能により、ウォレットとその内容を管理できます。importKeyStoreexportKeyStoreおよびsyncKeyStoreコマンドの詳細は、『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』を参照してください。


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

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

7.4.4.1 ウォレットの作成

この項では、Oracleウォレットの作成方法について説明します。

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

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

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

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

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

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

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

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


    注意:

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


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

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

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

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

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


    注意:

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


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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットを作成します。

createWallet('ohs1', 'ohs1', 'ohs', 'ohs2', 'password')

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のcreateWalletに関する項。


7.4.4.2 自己署名付きウォレットの作成

この項では、自己署名付きウォレットの作成方法について説明します。

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

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

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

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

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

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

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

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


注意:

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


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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用して自己署名付きウォレットを作成します。

createWallet('ohs1', 'ohs1', 'ohs', 'ohs2', 'password')
addSelfSignedCertificate('ohs1', 'ohs1', 'ohs', 'ohs2', 'password', 'subject_dn', 'key_size')

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


関連項目:

  • 『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のcreateWalletに関する項。

  • 『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のaddSelfSignedCertificateに関する項。



注意:

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


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

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

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

この項では、ウォレットのエクスポート方法について説明します。

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

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

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

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


    注意:

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


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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットをエクスポートします。

exportWallet('ohs1', 'ohs1', 'ohs', 'selfsigned', 'password', '/tmp')

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

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のexportWalletに関する項。


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

この項では、ウォレットのインポート方法について説明します。

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

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

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

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

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

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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットをインポートします。

importWallet('ohs1', 'ohs1', 'ohs', 'ohs5', 'password', '/tmp/ewallet.p12')

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のimportWalletに関する項。


7.4.4.6 ウォレットの削除

この項では、ウォレットの削除方法について説明します。

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

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

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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットを削除します。

deleteWallet('ohs1', 'ohs1', 'ohs', 'selfsigned')

関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のdeleteWalletに関する項。


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

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

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

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

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

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

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

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

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

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

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

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

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

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


    注意:

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


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

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

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

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

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

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

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

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

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

7.4.7 一般的な証明書の操作

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

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

この項では、証明書リクエストのウォレットへの追加方法について説明します。

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

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

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

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

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

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

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

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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットに証明書リクエストを追加します。

addCertificateRequest('ohs1', 'ohs1', 'ohs', 'selfsigned', 'password', 'subject_dn', 'key_size')

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のaddCertificateRequestに関する項。


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

この項では、証明書、証明書リクエストまたは信頼できる証明書のエクスポート方法について説明します。

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

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

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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用して証明書リクエストをエクスポートします。

exportWalletObject('ohs1', 'ohs1', 'ohs', 'selfsigned', 'password', 'CertificateRequest', '/tmp', 'subject_dn')

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

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のexportWalletObjectに関する項。


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

この項では、証明書または信頼できる証明書のインポート方法について説明します。

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

注意:

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


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

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

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

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

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

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

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

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

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

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

注意:

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


第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用してウォレットに証明書をインポートします。

importWalletObject('ohs1', 'ohs1', 'ohs', 'selfsigned', 'password', 'Certificate', '/tmp/cert.txt')

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

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のimportWalletObjectに関する項。


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

この項では、証明書リクエスト、証明書または信頼できる証明書の削除方法について説明します。

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

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

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

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

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

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

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

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

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

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

第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

コンポーネント・インスタンスをohs1とした場合は、次のコマンドを使用して証明書を削除します。

removeWalletObject('ohs1', 'ohs1', 'ohs', 'selfsigned', 'password', 'Certificate', 'subject_dn')

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

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


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』のremoveWalletObjectに関する項。


7.4.7.5 自己署名付き証明書のサード・パーティ証明書への変換

この項では、自己署名付き証明書のサード・パーティ証明書への変換方法について説明します。

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

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


注意:

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


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

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

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

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

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

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


    注意:

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


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

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

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

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

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

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

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

    • 1つのファイルには新しく生成された証明書、その他のファイルには独自のCA証明書(チェーンがある場合は複数のCA証明書)が含まれている複数のファイル。

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

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

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

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

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


      注意:

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

      正しい信頼できるCA証明書、または信頼できる証明書の正しいチェーンを識別する方法の詳細は、My Oracle Supportナレッジ・ベースのドキュメントID 1368940.1 (https://support.oracle.com/epmos/faces/DocumentDisplay?id=1368940.1)を参照してください。


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

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

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

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

関連項目:

第6.9項


第7.2.1項の説明に従い、プロトコルを使用してこれらのWLSTコマンドを実行します。

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

  1. 証明書リクエストを追加します。例:

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

    exportWalletObject('inst1', 'ohs1', 'ohs', 'selfsigned', 'password', 'CertificateRequest', '/tmp', 'subject_dn')
    
  3. 証明書リクエスト/tmp/base64.txtを認証局に送信します。CAは、新しく生成された証明書とその独自の証明書を、PKCS#7形式の1つのファイル、または1つのファイルには新しく生成された証明書、その他のファイルには独自のCA証明書(チェーンがある場合は複数のCA証明書)が含まれている複数のファイルとして返します。

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

    importWalletObject('inst1', 'ohs1', 'ohs', 'selfsigned', 'password', 'TrustedChain', '/tmp/cert.txt')
    

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

    CAから2つ以上のファイルを受信した場合は、信頼できる証明書としてCA証明書または証明書チェーンが含まれているファイルを最初にインポートし、次に新しく生成された証明書をインポートします。たとえば、次に2つのファイルが返される例を示します。

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

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

    正しい信頼できるCA証明書、または信頼できる証明書の正しいチェーンを識別する方法の詳細は、My Oracle Supportナレッジ・ベースのドキュメントID 1368940.1 (https://support.oracle.com/epmos/faces/DocumentDisplay?id=1368940.1)を参照してください。


関連項目:

『インフラストラクチャ・セキュリティWLSTコマンド・リファレンス』の次のリファレンス項目。

  • 「addCertificateRequest」

  • 「exportWalletObject」

  • importWalletObjectに関する説明


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

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

7.4.8.1 ウォレットの場所

この項ではウォレットの場所およびメンテナンスの詳細について説明します。

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

Oracle HTTP Serverウォレットのルート・ディレクトリは、次のとおりです。

$DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_instance_name/keystores

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

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

$DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_instance1
/keystores/ohs1/cwallet.sso $DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_instance1
/keystores/ohs1/ewallet.p12 $DOMAIN_HOME/config/fmwconfig/components/OHS/ohs_instance1
/keystores/ohs2/cwallet.sso

7.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(新しいホスト名に基づく)で新しい証明書をリクエストすることで実行できます。

7.4.8.2.1 本番ウォレットに対する新しい証明書のリクエスト

手順は次のとおりです。

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

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

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

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

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

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

7.4.8.2.2 自己署名付きウォレットに対する新しい証明書のリクエスト

手順は次のとおりです。

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

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

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

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

7.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. これらのファイルをウォレットにインポートします。

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

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

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

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

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

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


    注意:

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


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

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

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

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

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