SSLを使用してOracle Fusion Middlewareコンポーネント間の通信を保護するように、Oracle Fusion Middlewareを構成できます。SSLは、通信を保護するための業界標準です。Oracle Fusion MiddlewareではSSLバージョン3に加えて、TLSバージョン1をサポートしています。
注意: SSLバージョン2は、セキュリティ上の問題があるため、11g リリース1(11.1.1)ではサポートされていません。11g リリース1(11.1.1)より前にSSLバージョン2を使用していたコンポーネントまたはアプリケーションは、他のSSLバージョン(SSLバージョン3およびTLSバージョン1)を使用するように自動的にアップグレードされます。 |
この章では、SSLの概要と、Oracle Fusion MiddlewareコンポーネントおよびアプリケーションでSSLを使用する方法について説明します。これらの項目が含まれます。
注意: Oracle WebLogic Server内でSSL接続を構成する場合、ここでの手順を実行するかわりに、この章で紹介しているOracle WebLogic Serverの関連ドキュメントを参照してください。 |
この項では、基本的なSSLの概念について説明します。これらの項目が含まれます。
SSLは、メッセージの暗号化、整合性および認証を提供することで、通信を保護します。SSL標準により、関係するコンポーネント(ブラウザやHTTPサーバーなど)は、どの暗号化、認証および整合性メカニズムを使用するかのネゴシエーションができます。
暗号化を行うと、正当な受信者のみがメッセージを読むことができ機密が保持されます。SSLでは、様々な暗号化アルゴリズムを使用してメッセージを暗号化できます。各SSLセッションの開始時に行われるSSLハンドシェイク中、クライアントとサーバーは、どのアルゴリズムを使用するかのネゴシエーションを行います。SSLがサポートしている暗号化アルゴリズムには、AES、RC4、3DESなどがあります。
整合性により、クライアントが送信したメッセージが改ざんされずに正当なサーバーに届きます。メッセージの整合性を確保するために、クライアントはハッシュ機能を使用してメッセージをダイジェストにハッシュし、このメッセージ・ダイジェストをサーバーに送信します。サーバーは、さらにこのメッセージをダイジェストにハッシュし、これらのダイジェストを比較します。SSLでは、2つの異なるメッセージから同じダイジェストをコンピュータで生成するのが不可能なハッシュ機能を使用しているため、サーバーでは2つのダイジェストが一致しない場合には、何者かによりメッセージが改ざんされたと見なすことができます。SSLがサポートしているハッシュ機能の1つに、SHA1があります。
認証を使用すると、サーバーとクライアントは互いに相手の身元を確認できます。クライアントがSSLセッションを開始すると、サーバーは通常、サーバー自身の証明書をクライアントに送信します。証明書とは、VeriSignなどの信頼できる認証局によって発行されるデジタルIDです。第8章「キーストア、ウォレットおよび証明書の管理」では、証明書について詳細に説明しています。
クライアントは、サーバー証明書内の証明連鎖を検証することで、サーバーが本物であることを確認します。サーバー証明書は、サーバー証明書に署名した認証局(CA)により保証されています。
また、サーバーがクライアントの識別を認証する必要がある場合には、サーバーがクライアントに証明書の所持を要求することもできます。
メッセージの整合性、認証および暗号化を提供するために、SSLでは秘密鍵と公開鍵の両方の暗号化を使用します。
対称鍵の暗号化では、通信を保護する目的で2者以上が共有する1つの秘密鍵が必要です。この鍵は、当事者間で送信された安全なメッセージを暗号化および復号化するために使用します。これを行うには、安全な方法で各当事者に鍵を事前に配布しておく必要があります。この方法における問題点は、鍵を安全に転送し、格納することが困難なことです。
SSLでは、各当事者は互いに認識している乱数を使用して秘密鍵を個別に計算します。次に、その秘密鍵を使用して暗号化したメッセージを送信します。
公開鍵の暗号化
公開鍵の暗号化による公開鍵/秘密鍵のペアおよび鍵配布のための安全な方法を採用することで、この問題は解決します。対応する秘密鍵の所有者のみが復号化できるメッセージは、自由に使用できる公開鍵によって暗号化できます。秘密鍵は、その他のセキュリティ資格証明とともに、Oracleウォレットなどの暗号化されたコンテナに安全に格納されます。
公開鍵のアルゴリズムでは、メッセージの秘密は保証されますが、安全な通信は必ずしも保証されません。その理由は、通信者間の識別が検証されないためです。安全な通信を確立するには、メッセージの暗号化に使用される公開鍵が相手の受信者に実際に属していることを確認することが重要です。そうしないと、第三者が通信を傍受し、公開鍵のリクエストに割り込み、正当な鍵を独自の公開鍵に置き換えることが可能になります(介在者攻撃)。
このような攻撃を避けるためには、公開鍵の所有者を確認する必要があります。これは認証と呼ばれるプロセスです。認証は、認証局(CA)を介して行うことができます。CAは、両通信者間によって信頼されている第三者です。
CAは、エンティティの名前、公開鍵および他のセキュリティ資格証明を含む公開鍵証明書を発行します。通常、このような資格証明には、CA名、CAの署名および証明書の有効日(開始日、終了日)が含まれています。
CAでは独自の秘密鍵を使用してメッセージを暗号化します。一方、そのメッセージの復号化には公開鍵が使用されるため、メッセージがCAによって暗号化されたものであるかどうかが確認されます。CA公開鍵は広く一般に知られているため、アクセスするたびに認証する必要はありません。このようなCA公開鍵はウォレットに格納されます。
Oracle Fusion Middlewareでは、ほとんどのコンポーネントで記憶域メカニズムとしてOracleウォレットが使用されます。Oracleウォレットは、証明書、信頼できる証明書、証明書リクエスト、秘密鍵などの資格証明を格納するコンテナです。Oracle Internet DirectoryなどのLDAPディレクトリやファイル・システムにOracleウォレットを格納できます。Oracleウォレットは、パスワードで保護することも自動ログインにもできます。
Oracleウォレットを使用するコンポーネントは次のとおりです。
Oracle HTTP Server
Oracle Web Cache
Oracle Internet Directory
これらのコンポーネントでのSSLの構成では、Oracleウォレットを設定および使用する必要があります。
Oracle Virtual Directoryなどのコンポーネントでは、JKSキーストアを使用して鍵および証明書を保存します。そのためOracle Virtual DirectoryでのSSLの構成では、JKSキーストアを設定および使用する必要があります。
キーストアおよびウォレットの構成の詳細は、次を参照してください。
Oracle Fusion Middlewareでのキーストアおよびウォレットの詳細は、第6.2項「Oracle Fusion MiddlewareにおけるSSLについて」を参照してください。
これらの用語および管理作業の詳細は、第8章「キーストア、ウォレットおよび証明書の管理」を参照してください。
SSLプロトコルには、ハンドシェイク・フェーズとデータ転送フェーズという2つのフェーズがあります。ハンドシェイク・フェーズでは、サーバーおよびオプションでクライアントを認証し、データ転送フェーズで転送されるデータを保護するための暗号化鍵を設定します。
クライアントがサーバーへのSSL接続を要求すると、クライアントとサーバーはまずハンドシェイク・フェーズでメッセージを交換します(一般的なシナリオとしては、http://
ではなくhttps://
プロトコルを使用して、サーバーからページを要求するブラウザがあります。HTTPSプロトコルは、HTTPでSSLを使用することを示します)。
図6-1に、Webサーバーとブラウザ間の一般的なSSL接続用ハンドシェイク・メッセージを示します。この図では次の手順を示しています。
クライアントは、サーバーにハロー・メッセージを送信します。
メッセージには、クライアントがサポートしているアルゴリズムの一覧および鍵を生成するための乱数が含まれています。
サーバーは、クライアントにハロー・メッセージを送信してレスポンスを返します。このメッセージには、次の内容が含まれています。
使用するアルゴリズム。これは、クライアントが送信した一覧から、サーバーによって選択されます。
鍵の生成に使用する乱数。
サーバーは、クライアントに証明書を送信します。
クライアントは、サーバーの証明書の妥当性、発行者CAおよびオプションでサーバーのホスト名がサブジェクトDNと一致するかどうかをチェックして、サーバーを認証します。クライアントはセッション・キャッシュのセッションIDを送信します。
クライアントが乱数(プリマスタ・シークレット)を生成し、サーバーの公開鍵を使用して暗号化し、サーバーに送信します。
サーバーは、秘密鍵を使用してメッセージを復号化し、プリマスタ・シークレットを取得します。
クライアントとサーバーは、SSLセッションで使用される鍵を個別に計算します。
これらの鍵は、互いに認識しているプリマスタ・シークレットと乱数に基づいて計算されるため、それぞれの相手には送信されません。鍵には次の内容が含まれています。
クライアントがサーバーへの送信前にデータを暗号化するために使用する暗号化鍵
サーバーがクライアントへの送信前にデータを暗号化するために使用する暗号化鍵
クライアントがデータのメッセージ・ダイジェストを作成するために使用する鍵
サーバーがデータのメッセージ・ダイジェストを作成するために使用する鍵
暗号化鍵は、対称的です。つまり、データの暗号化と復号化には同じ鍵が使用されます。
クライアントとサーバーは、相互にFinished
メッセージを送信します。これらは前の手順で生成した鍵を使用して送信される最初のメッセージ(最初の安全なメッセージ)です。
Finished
メッセージには、各当事者が送信した以前のハンドシェイク・メッセージがすべて含まれています。各当事者は、受信した以前のメッセージが、Finished
メッセージに含まれているメッセージに一致するかどうかを確認します。これは、ハンドシェイク・メッセージが改ざんされていないことを確認するためです。
クライアントとサーバーは、暗号化鍵とハッシュ鍵およびアルゴリズムを使用してデータを転送します。
この項では、Oracle Fusion MiddlewareにおけるSSLについて説明します。これらの項目が含まれます。
注意:
|
図6-2で示されるOracle Fusion Middlewareアーキテクチャにおいて、丸付きの番号はSSLを有効にできるエンドポイントを表します。それぞれのエンドポイントの構成の詳細は、次の項目を参照してください。
第6.4.2.1項「Fusion Middleware Controlを使用したOracle Web CacheでのインバウンドSSLの有効化」および第6.4.2.2項「WLSTを使用したOracle Web CacheでのインバウンドSSLの有効化」
第6.4.2.3項「Fusion Middleware Controlを使用したOracle Web CacheでのアウトバウンドSSLの有効化」および第6.4.2.4項「WLSTを使用したOracle Web CacheからのアウトバウンドSSLのウォレットの指定」
第6.4.3.1項「Fusion Middleware Controlを使用したOracle HTTP Server仮想ホストへのインバウンド・リクエストでのSSLの有効化」および第6.4.3.2項「WLSTを使用したOracle HTTP Server仮想ホストへのインバウンド・リクエストでのSSLの有効化」
LDAPサーバーへのアウトバウンド接続は、Oracle Platform Security ServicesまたはOracle WebLogic Serverから発生します。
第6.6.1.1項「Fusion Middleware Controlを使用したOracle Internet DirectoryリスナーでのインバウンドSSLの有効化」および第6.6.1.2項「WLSTを使用したOracle Internet DirectoryリスナーでのインバウンドSSLの有効化」
第6.6.1.3項「Oracle Internet DirectoryからOracle DatabaseへのアウトバウンドSSLの有効化」
また、アイデンティティ管理コンポーネントでSSLを構成することもできます。詳細は、次の項目を参照してください。
キーストアおよびウォレット
キーストアおよびウォレットはSSL構成の中心となり、これらを使用して証明書および鍵を保存します。
詳細は、第6.2.2項「キーストアおよびOracleウォレット」を参照してください。
Oracle Fusion Middlewareでは、鍵と証明書の2つのタイプのキーストアをサポートしています。
JKSベースのキーストアとトラストストア
Oracleウォレット
11g リリース1(11.1.1)では、すべてのJavaコンポーネントおよびアプリケーションはJKSキーストアを使用します。このように、Oracle WebLogic Server上で稼働するすべてのJavaコンポーネントおよびアプリケーションは、JKSベースのキーストアおよびトラストストアを使用します。
次のシステム・コンポーネントでは、引き続きOracleウォレットを使用します。
Oracle HTTP Server
Oracle Web Cache
Oracle Internet Directory
Fusion Middleware ControlまたはコマンドラインWLSTおよびorapki
インタフェースを使用して、これらのシステム・コンポーネントのウォレットとその証明書を管理できます。Fusion Middleware ControlまたはWLSTのいずれかを使用して、これらのコンポーネントのリスナーでSSLを有効化できます。
Oracle Virtual DirectoryはJKSベースのキーストアを使用します。Fusion Middleware ControlまたはWLSTを使用して、Oracle Virtual DirectoryのJKSキーストアとその証明書を管理できます。Fusion Middleware ControlまたはWLSTのいずれかを使用して、Oracle Virtual DirectoryのリスナーでSSLを有効化できます。
JDKのkeytool
ユーティリティでは、Java EEアプリケーションのOracle WebLogic Serverリスナーが使用するキーストアを管理します。このユーティリティがこれらのキーストアを管理する唯一のキーストア・ツールになります。これを実行するためのグラフィカル・ユーザー・インタフェースはありません。
これらのストアのタイプ、およびどのストアのタイプをいつ使用するかについては、第6.1.3項「キーストアおよびウォレット」を参照してください。
認証なしモードでは、サーバーもクライアントも認証は不要です。
このモードは、匿名SSL/認証なし/Diffie-Hellmanなどと呼ばれています。このモードはセキュアではないと見なされます。
サーバー認証モードでは、クライアントに対してサーバー自身の認証が行われます。
このモードは、一方向SSL/サーバー認証とも呼ばれています。
相互認証モードでは、サーバーに対してクライアント自身の認証が行われ、クライアントに対してサーバー自身の認証が行われます。
このモードは、双方向SSL/クライアント認証とも呼ばれています。
オプションのクライアント認証モードでは、クライアントに対してサーバー自身の認証が行われますが、サーバーに対してはクライアント自身の認証を行うことも行わないこともできます。クライアント自身の認証を行わなくても、SSLセッションは機能します。
Oracle Fusion Middlewareでは、一般的なツールと拡張ツールの2種類の構成ツールを使用します。
一般的なツール
Fusion Middleware Control
WLSTコマンドライン・インタフェース
Oracle WebLogic Server管理コンソール
keytool
コマンドライン・ツール
これらのツールを使用して、Oracle Fusion Middlewareの任意のリスナーまたはコンポーネントでSSLを構成したり、Oracle WalletやJKSキーストアを管理できます。
このリストの最初の3つのツールは、コンポーネントがアプリケーション・サーバー・ドメインに関連付けられている場合(コンポーネントがスタンドアロン・インストールではない場合)に使用できます。
拡張ツール
Oracle Wallet Managerグラフィカル・ユーザー・インタフェース
orapki
コマンドライン・インタフェース
これらのツールは、スタンドアロンWeb層およびスタンドアロンOracle Internet Directoryインストールのウォレットの管理に必要です。
また、これらのツールを使用して、ファイルベースのCRL、PKCS11ベースのウォレットの管理などの高度な機能を構成できます。
Oracle Fusion Middleware構成ではいくつかのツールを使用できます。この項では、これらのツールでSSLを構成して、それをSSLが有効なOracle WebLogic Serverに接続できるようにする方法について説明します。
すべての構成ツールの一覧は、第6.2.4項「SSL構成用ツール」を参照してください。
この項の項目は次のとおりです。
次の手順に従います。
Fusion Middleware ControlがデプロイされているOracle WebLogic ServerインスタンスでSSLポートが有効なことを確認し、(Fusion Middleware Controlを起動する)ブラウザがサーバー証明書を信頼していることを確認します。
ここで、「https://host:port
」形式でSSLベースのURLを使用してFusion Middleware Controlを起動します。
Oracle WebLogic ServerインスタンスでSSLポートが有効なことを確認します。ここで、URLにSSLポートを指定して管理コンソールを起動します。証明書が信頼できないという警告が表示される場合がありますが、この証明書を受け入れて続行します。
WLSTでのSSLの構成の詳細は、次の手順を実行します。
WLSTシェルを起動します。
WLSTコマンドを実行します。
help('connect')
ヘルプ・テキストの説明にある手順に従って、SSLモードでWLSTシェルを設定します。
注意:
|
ロード・バランシング・デバイスに固有の手順を使用して、Oracle Fusion Middleware環境のロード・バランサを構成します。
この項では、Fusion Middleware ControlおよびWLSTを使用してOracle Web Cacheのリスニング・エンドポイントでSSLを有効にする方法について説明します。
次の手順を実行して、Oracle Web Cacheリスニング・エンドポイントへのインバウンド・トラフィックでSSLを有効にすることができます。
注意: この情報は、インバウンド通信にのみ適用されます。Oracle Web CacheからOracle HTTP Serverへのアウトバウンド・トラフィックでのSSLの有効化については、第6.4.2.3項「Fusion Middleware Controlを使用したOracle Web CacheでのアウトバウンドSSLの有効化」を参照してください。 |
左側のナビゲーション・ペインでOracle Web Cacheインスタンスを選択します。
必要に応じて、「Oracle Web Cache」→「セキュリティ」→「ウォレット」にナビゲートして、ウォレットを作成します。
ウォレットの作成とメンテナンスは、第8章「キーストア、ウォレットおよび証明書の管理」を参照してください。
「Oracle Web Cache」→「セキュリティ」→「SSL構成」にナビゲートします。
「SSL構成」ページには、2つの情報が表示されます。
上の表には、リスニング・エンドポイントのインバウンド設定のリストが表示されます。「SSL有効」列のチェックは、エンドポイントがSSLに構成されていることを示します。
ページの下部は、アウトバウンドSSL構成を示します。アウトバウンドSSLの詳細は、第6.4.2.3項「Fusion Middleware Controlを使用したOracle Web CacheでのアウトバウンドSSLの有効化」を参照してください。
エンドポイントを選択して、「編集」をクリックします。
「ポートの編集」ページが表示されます。このページには、2つのセクションが含まれます。ポートやIPアドレスなどの一般的な詳細情報が表示される上のセクションと、SSLパラメータを構成する下のセクションになっています。
SSLを無効にするには、「SSLの有効化」の選択を解除し、「Oracle Web Cache」→「コントロール」→「再起動」にナビゲートしてコンポーネント・インスタンスを再起動します。
このエンドポイントでSSLを有効にするには、「SSLの有効化」を選択します。次に、SSL構成パラメータを入力します。
ドロップダウン・リストからOracleウォレットを選択します。
注意: ウォレットにサーバー証明書とそれに対応するCA証明書が含まれていることを確認してください。 |
SSL認証のタイプを選択します。
プロトコルのバージョンを選択します(認証の選択により、選択可能なオプションが決まります)。
「OK」をクリックします。
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
「Oracle Web Cache」→「コントロール」→「再起動」にナビゲートして、Oracle Web Cacheインスタンスを再起動します。
WLSTコマンドライン・ツールを使用して、Oracle Web Cacheへのインバウンド・トラフィックでSSLを有効にすることができます。
WLSTを使用したサーバー認証モードでのOracle Web CacheインバウンドのSSLの有効化
次の手順に従います。
次のコマンドを実行して、このOracle Web Cacheインスタンスのリスニング・エンドポイントを確認します。
listListeners('inst1','wc1')
このコマンドにより、このインスタンスのすべてのリスニング・エンドポイントがリストされます。SSLを構成する必要があるエンドポイントを1つ選択します。たとえば、CACHE.index1.LISTEN.index1
という名前のエンドポイントを選択します。
SSLプロパティでリスニング・エンドポイントを構成します。
configureSSL('inst1', 'wc1', 'webcache', 'CACHE.index1.LISTEN.index1')
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
アウトバウンドOracle Web Cacheとは、Oracle Web CacheからOracle HTTP Serverへのトラフィックを表します。
Oracle Web Cacheからのアウトバウンド・トラフィックのSSLを設定するには、アウトバウンドSSLのウォレットの選択とSSLの構成という、2つの側面があります。
ウォレットの選択
次の手順に従います。
「Oracle Web Cache」→「セキュリティ」→「SSL構成」にナビゲートします。
ページの下部で、「ウォレットの変更」をクリックすると、このリスナーで使用可能なウォレットが表示されます。
注意: 証明書に署名したルートCA証明書(Webキャッシュが接続するOHSなどのコンポーネント用)は、このウォレットにロードされる必要があります。詳細は8.4.7.5項を参照してください。
アウトバウンドSSLの目的のウォレットを選択して、「OK」をクリックします。
SSLの構成
次の手順に従います。
Oracle Web Cacheインスタンスにナビゲートしてから、「管理」→「オリジナル・サーバー」にナビゲートします。
このページには、このOracle Web Cacheインスタンスと通信可能なOracle HTTP Serverが表示されます。たとえば、Oracle Web Cacheが2つの異なるOracle HTTP Serverと対話できる場合、表には2つの行が表示されます。
この例では、Oracle Web Cacheインスタンスはこのホストおよびポート上でオリジナル・サーバーとの通信に現在非SSLが構成されています。
このオリジナル・サーバーへのアウトバウンド・トラフィックでSSLを有効にするには、行を選択して「編集」をクリックします。
「オリジナル・サーバーの編集」ページが表示されます。
「プロトコル」ドロップダウン・ボックスを使用して、プロトコルを「https
」に変更します。
「OK」をクリックします。
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
「Oracle Web Cache」→「コントロール」→「再起動」にナビゲートして、Oracle Web Cacheインスタンスを再起動します。
これで、Oracle Web Cacheはオリジナル・サーバーとSSLで通信するように構成されました。
注意: このページでオリジナル・サーバー設定を編集する場合、Oracle HTTP ServerがこのポートにおいてSSLモードでリスニングしていることを確認します。 |
Oracle Web CacheからアウトバウンドSSL接続で使用されるウォレットを変更するには、このコマンドを次のように使用します。
configureSSL('inst1', 'wc1', 'webcache', 'CACHE.index0.CLIENTSSL', 'property-file.prop')
説明:
inst1
はアプリケーション・サーバー・インスタンスの名前です。
wc1
はOracle Web Cacheインスタンスの名前です。
webcache
はコンポーネント・タイプです。
CACHE.index0.CLIENTSSL
はクライアントSSLのリスナー名です。
property-file.prop
には、次が含まれます。
KeyStore=wallet-path
この項では、Oracle WebLogic Server環境で動作しているOracle HTTP Server仮想ホストのSSL構成の管理方法について説明します。
注意: スタンドアロン・モードのOracle HTTP Serverの詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。 |
インバウンド・トラフィック:
アウトバウンド・トラフィック:
第6.4.3.3項(Fusion Middleware ControlまたはWLSTを使用)
次の手順を実行して、Oracle HTTP Server仮想ホストへのインバウンド・トラフィックでSSLを有効にすることができます。
左側のナビゲーション・ペインでOracle HTTP Serverインスタンスを選択します。
必要に応じて、「Oracle HTTP Server」→「セキュリティ」→「ウォレット」にナビゲートします。
ウォレットの作成とメンテナンスは、第8章「キーストア、ウォレットおよび証明書の管理」を参照してください。
「HTTP Server」→「管理」→「仮想ホスト」にナビゲートします。
このページには、現在構成されているホスト、およびそれらがhttpまたはhttpsに構成されているかが表示されます。
更新する仮想ホストを選択して、「構成」→「SSL構成」をクリックします。(注意: 新規仮想ホストを作成する場合は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。)
「SSL構成」ページが表示されます。
「SSLの有効化」の選択を解除すると、httpsポートをhttpポートに変換できます。
現在httpを使用している仮想ホストでSSLを構成するには:
「SSLの有効化」ボックスを選択します。
ドロップダウン・リストからウォレットを選択します。
「サーバーSSLプロパティ」から、SSL認証タイプ、使用する暗号スイートおよびSSLプロトコル・バージョンを選択します。
注意: ほとんどの状況ではデフォルト値が最適です。 |
「OK」をクリックして変更内容を適用します。
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
「Oracle HTTP Server」→「コントロール」→「再起動」にナビゲートして、Oracle HTTP Serverインスタンスを再起動します。
ブラウザ・セッションを開き、SSLを有効にしたポート番号に接続します。
次の手順に従います。
次のコマンドを実行して、このOracle HTTP Serverインスタンスの仮想ホストを確認します。
listListeners('inst1','ohs1' )
このコマンドにより、このインスタンスのすべての仮想ホストがリストされます。SSLを構成する必要がある仮想ホストを1つ選択します。たとえば、「vhost1」を選択できます。このコマンドの詳細は、『Oracle Fusion Middleware WebLogic Scripting Toolコマンド・リファレンス』を参照してください。
SSLプロパティで仮想ホストを構成します。
configureSSL('inst1', 'ohs1', 'ohs', 'vhost1')
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
mod_wl_ohs
を構成してOracle HTTP Serverからのアウトバウンド・リクエストでのSSLを有効化します。
関連項目: www.oracle.com/technetworkで提供されている、ナレッジ・データベースの記事1268723.1。 |
一方向SSL
手順は次のとおりです。
証明書を含むOracle WebLogic Serverのカスタム・キーストアを生成します(第6.5.1項「Oracle WebLogic ServerでのSSLの構成」を参照してください)。
ステップ1のOracle WebLogic Serverで使用される証明書をOracle HTTP Serverウォレットに、信頼できる証明書としてインポートします。このタスクには、WLSTやFusion Middleware Controlなどの使用可能なユーティリティを使用できます。(注意: ここで説明するウォレットは、Oracle HTTP Serverリスニング・ポートがSSL用に使用するウォレットです。Oracle WebLogic Server証明書に署名した信頼性できる(ルート)CA証明書は、このウォレットに格納されている必要があります。信頼性できる証明書のインポートの詳細は、第8.3.5項を参照してください。)
Oracle HTTP Server構成ファイルのINSTANCE_HOME
/config/OHS/ohs1/ssl.conf
を編集して、mod_weblogic
の下のSSL構成に次の行を追加します。
WlSSLWallet "${ORACLE_INSTANCE}/config/{COMPONENT_TYPE}/{COMPONENT_NAME}/keystores/default"
このdefault
は、ステップ2のOracle HTTP Serverウォレットの名前です。
次にその構成の例を示します。
<IfModule mod_weblogic.c> WebLogicHost myweblogic.server.com WebLogicPort 7002 MatchExpression *.jsp SecureProxy On WlSSLWallet "${ORACLE_INSTANCE}/config/OHS/ohs1/keystores/default" </IfModule>
ファイルを保存して終了します。
Windowsプラットフォームの場合にのみ、Windowsエクスプローラを開いて、cwallet.ssoファイルの場所に移動します。「プロパティ」→「セキュリティ」で、「グループ名またはユーザー名」にSYSTEM
を追加します。
Oracle HTTP Serverを再起動して変更を有効にします。詳細は、『Oracle Fusion Middleware Oracle HTTP Server管理者ガイド』を参照してください。
ステップ1で生成されたカスタム・キーストアを使用するようにOracle WebLogic Serverインスタンスが構成され、別名が証明書の生成に使用される別名値を指していることを確認します。Oracle WebLogic Serverインスタンスを再起動します。
双方向SSL
mod_wl_ohs
では、双方向SSL通信もサポートします。双方向SSLを構成する手順は次のとおりです。
前の一方向SSLのステップ1から4を実行します。
Oracle WebLogic Serverのトラストストアtrust.jks
を生成します。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。
(前の手順のステップ1で)一方向SSL用に作成されたキーストアは、信頼できる証明書を保存するために使用できますが、この手順で個別のトラストストアを作成することをお薦めします。
Oracle HTTP Serverウォレットからユーザー証明書をエクスポートして、それをステップ2で作成したトラストストアにインポートします。
エクスポートには、WLSTやFusion Middleware Controlなどの使用可能なユーティリティを使用できます。インポートにはkeytool
ユーティリティを使用できます。詳細は8.4.7項を参照してください。
Oracle WebLogic Server管理コンソールから、構成するサーバーの「キーストア」タブを選択します。
ステップ2で作成したトラストストアのtrust.jks
ファイルの場所によりカスタム・トラストストアを設定します(完全な名前を使用します)。
キーストア・タイプをJKSに設定し、キーストアの作成に使用されるパスフレーズを設定します。
「SSL」タブで、「信頼性のある認証局」が「カスタム信頼キーストアから」に設定されていることを確認します。
Oracle WebLogic Serverが双方向SSL用に構成されていることを確認します。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』のSSLの構成に関する説明を参照してください。
アプリケーション・サーバーでのSSLの有効化
アプリケーション・サーバー上で稼働するコンポーネントおよびアプリケーションでのSSLの有効化
この項では、中間層でのSSLの構成について説明します。この項の項目は次のとおりです。
この項では、アプリケーション・サーバーの構成について説明します。
SSLを実装してOracle WebLogic Serverを保護する方法の詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。
この項では、Oracle WebLogic Serverからのアウトバウンド接続でSSLを有効にする方法について説明します。
この項では、LDAPディレクトリへのポリシー・ストア接続および資格証明ストア接続用にSSLを構成する方法について説明します(サーバー側とクライアント側が必要)。匿名および一方向SSLがサポートされます。
この項で参照するjps-config.xml
ファイルの詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。
匿名SSL(サーバー側)
匿名認証モードでLDAPサーバーを起動します。
Oracle Internet Directoryの詳細は、第6.6.1.1項「Fusion Middleware Controlを使用したOracle Internet DirectoryリスナーでのインバウンドSSLの有効化」を参照してください。
別のディレクトリを使用している場合、LDAPサーバーのドキュメントを参照してこのタスクに関する情報を調べてください。
匿名SSL(クライアント側)
jps-config.xml
ファイルでは、プロトコルをldaps
に設定し、プロパティldap.url
に適切なポートを指定する必要があります。この情報は、ポリシー・ストア、資格証明ストア、キーストア、およびldap.url
を使用するその他のサービスに対して更新する必要があります。
一方向SSL(サーバー側)
前提条件: LDAPサーバーがSSLサーバー認証モードであること。
この手順の詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。
一方向SSL(クライアント側)
クライアント側の構成が次のようになっている必要があります。
LDAPの証明書を信頼するには、使用するトラスト・ストアを検索する場所をJVMが認識している必要があります。これを行うには、次のように設定します。
-Djavax.net.ssl.trustStore=path_to_jks_file
このプロパティは、JavaSEプログラム、またはJavaEE環境のサーバー起動プロパティに追加されます。これを行う方法の例は、Java Technical Documentationサイトのhttp://docs.oracle.com/javase/
(JavaSE)およびhttp://docs.oracle.com/javaee/
(JavaEE)を参照してください。
jps-config.xml
ファイルでは、プロトコルをldaps
に設定し、プロパティldap.url
に適切なポートを指定する必要があります。この情報は、ポリシー・ストア、資格証明ストア、キーストア、およびldap.url
を使用するその他のサービスに対して更新する必要があります。
keytoolを使用して、LDAPサーバーの証明書をステップ1で指定したトラスト・ストアにインポートします。keytoolの使用例は、第I.3.2項を参照してください。
一方向または双方向のSSL接続をデータベース・ベースのOPSSセキュリティ・ストアに設定できます。
データベース・サーバーとクライアントの構成の詳細は、『Oracle Fusion Middlewareアプリケーション・セキュリティ・ガイド』を参照してください。
Oracle WebLogic ServerでLDAP認証プロバイダを構成する場合、LDAPストアへの接続でSSLを使用するように指定できます。
次の手順を実行して、この認証プロバイダを構成します。
Oracle WebLogic Server管理コンソールにログインします。
左ペインで、「セキュリティ・レルム」を選択して、構成するレルムの名前をクリックします。
「プロバイダ」→「認証」を選択して、「新規」をクリックします。
「名前」フィールドで、認証プロバイダの名前を入力します。
「タイプ」ドロップダウン・リストから、認証プロバイダのタイプを選択して「OK」をクリックします。
たとえば、Oracle Internet Directoryを使用する場合、「OracleInternetDirectoryAuthenticator
」を選択します。
「プロバイダ」→「認証」を選択して、その構成を行う新しい認証プロバイダの名前をクリックします。
認証プロバイダの「構成」ページの「共通」および「プロバイダ固有」タブで、目的の値を設定します。
「共通」タブ
DefaultAuthenticator
を含むすべての認証プロバイダで、「制御フラグ」を「SUFFICIENT
」に設定します。
「プロバイダ固有」タブ
ホスト: ホスト名
ポート: ポート番号
プリンシパル: cn=orcladmin
「資格証明」/「確認」: パスワード
ユーザー・ベースDN: cn=Users,dc=us,dc=oracle,dc=com
グループ・ベースDN: cn=Groups,dc=us,dc=oracle,dc=com
変更を保存してサーバーを再起動します。
Oracle WebLogic Serverとデータベースとの間でSSLを構成するには、次の2つの手順のセットが必要です。
データベースでのSSLリスナーの構成
Oracle WebLogic ServerのデータソースでのSSLの構成
Oracle DatabaseでのSSLリスナーの構成
データベースをSSLリスナーで構成するには、クライアント・ネットワーク構成ファイルで、サーバーのDNマッチングおよびTCP/IPをSSL接続できるように、プロトコルとしてサーバーの識別名(DN)とTCPSを指定する必要があります。サーバーDNマッチングでは、サーバー証明書からDNに対してサーバーのグローバル・データベース名をマッチングすることで、データベース・サーバーが接続時にクライアントに対するIDの偽装が防止されます。
クライアント・ネットワーク構成ファイルのtnsnames.ora
およびlistener.ora
を手動で編集して、サーバーのDNとTCP/IPをSSLプロトコルに指定する必要があります。
詳細は、第6.6.3.1項「Oracle DatabaseでのSSLの有効化」を参照してください。
関連項目: データベース・リスナー用のSSLの構成の詳細は、 |
Oracle WebLogic ServerのデータソースでのSSLの有効化
第6.6.3.2項「データソースでのSSLの有効化」を参照してください。
Oracle SOA SuiteでのSSLの構成は、保護する接続のタイプによって異なります。
Oracle WebLogic ServerでのSSL
Oracle WebLogic Serverには次のようなSSL機能が含まれます。
コア・サーバーでのSSLの設定方法。
詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。
WebLogic WebサービスでのSSLの有効化方法。
詳細は、『Oracle Fusion Middleware Oracle WebLogic Server WebLogic Webサービスの保護』を参照してください。
SOAコンポジットでのSSL
次のタスクでは、Oracle SOA Suiteアプリケーションも保護する必要があります。
SSLによるSOAコンポジットの保護
SOAコンポジット内におけるSSLで保護されたWebサービスへのアクセス
これらおよび関連項目については、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。
Oracle WebCenter PortalでのSSL接続の実装方法の詳細は、『Oracle Fusion Middleware Oracle WebCenter Portal管理者ガイド』の次の項目を参照してください。
SSLによるContent Serverへのスペース接続の保護
SSLによるスペースへのブラウザ接続の保護
中間層に配置されているOracle IdentityおよびAccess ManagementコンポーネントでSSLを構成できます。
Oracle Directory Integration Platformを構成して、接続されたディレクトリとの通信にSSLを使用できます。Oracle Directory Integration Platformの次のSSLタスクの詳細は、Oracle Fusion Middleware Oracle Directory Integration Platform管理者ガイドに記載されています。
SSLモードの2サーバー専用認証用のOracle Directory Integration Platformの構成
Oracle Internet Directoryおよび接続されたディレクトリのSSL証明書の管理
SSLモードでのブートストラップ
SSLモードで同期するためのサードパーティのディレクトリ・コネクタの構成
SSLサーバー側認証によるOracle Internet Directoryの構成およびテスト
Oracle Internet DirectoryとMicrosoft Active Directoryとの間のSSL通信のテスト
詳細は、Oracle Fusion Middleware Oracle Identity Federation管理者ガイドのOracle Identity Federationに対するSSLの構成に関する項を参照してください。
Oracle Directory Services Managerを構成して、接続されたディレクトリとの通信にSSLを使用できます。Oracle Directory Services Managerの次のSSLタスクの詳細は、Oracle Fusion Middleware Oracle Virtual Directory管理者ガイドに記載されています。
SSLを使用したOracle Directory Services Managerからのディレクトリ・サーバーへのログイン
Oracle Directory Services Managerのキーストアの管理
Oracle Virtual DirectoryにおけるOracle Directory Services Managerの証明書の保存
この項の項目は次のとおりです。
Oracle ReportsでSSLを有効にするには、Oracle WebLogic ServerのフロントエンドとなるコンポーネントでSSLを有効にする必要があります。
たとえば、Oracle ReportsをホストするOracle WebLogic ServerのフロントエンドとなるOracle HTTP ServerとOracle Web Cacheがある場合、次を構成する必要があります。
Oracle Web CacheのインバウンドSSL
第6.4.2.1項「Fusion Middleware Controlを使用したOracle Web CacheでのインバウンドSSLの有効」を参照してください。
Oracle HTTP ServerのインバウンドSSL
第6.4.3.1項「Fusion Middleware Controlを使用したOracle HTTP Server仮想ホストへのインバウンド・リクエストでのSSLの有効化」を参照してください。
Oracle WebLogic ServerのインバウンドSSL
Oracle Web CacheとOracle HTTP Serverとの間におけるSSL
第6.4.2.3項「Fusion Middleware Controlを使用したOracle Web CacheでのアウトバウンドSSLの有効化」を参照してください。
Oracle HTTP ServerとOracle WebLogic Serverとの間におけるSSL
第6.4.3.3項「Oracle HTTP Serverからのアウトバウンド・リクエストでのSSLの有効化」を参照してください。
注意: エンドツーエンドSSLを設定する場合のみ、これらの手順が必要です。ほとんどの場合、リクエストを取得する最初のコンポーネントにのみSSLを有効にするだけで十分です。他のコンポーネントは通常、イントラネット内にあるからです。 たとえば、リクエストをOracle Web Cacheに送信する場合、最初の手順のみ実行が必要です。リクエストをOracle HTTP Serverに送信する場合、2番目の手順のみ実行が必要です。使用するトポロジに応じて手順を選択します。 |
また、Fusion Middleware ControlのOracle Reportsは、Reports Servletにアクセスしてデータを検索します。この通信をSSLを介して行う必要がある場合、『Oracle Fusion Middleware Oracle Reports ServicesレポートWeb公開ガイド』で説明されている手動手順を完了する必要があります。
Oracle FormsでSSLを有効にするには、Oracle WebLogic ServerのフロントエンドとなるコンポーネントでSSLを有効にする必要があります。
たとえば、Oracle FormsをホストするOracle WebLogic ServerのフロントエンドとなるOracle HTTP ServerとOracle Web Cacheがある場合、次を構成する必要があります。
Oracle Web CacheのインバウンドSSL
第6.4.2.1項「Fusion Middleware Controlを使用したOracle Web CacheでのインバウンドSSLの有効」を参照してください。
Oracle HTTP ServerのインバウンドSSL
第6.4.3.1項「Fusion Middleware Controlを使用したOracle HTTP Server仮想ホストへのインバウンド・リクエストでのSSLの有効化」を参照してください。
Oracle WebLogic ServerのインバウンドSSL
Oracle Web CacheとOracle HTTP Serverとの間におけるSSL
第6.4.2.3項「Fusion Middleware Controlを使用したOracle Web CacheでのアウトバウンドSSLの有効化」を参照してください。
Oracle HTTP ServerとOracle WebLogic Serverとの間におけるSSL
第6.4.3.3項「Oracle HTTP Serverからのアウトバウンド・リクエストでのSSLの有効化」を参照してください。
注意: エンドツーエンドSSLを設定する場合のみ、これらの手順が必要です。ほとんどの場合、リクエストを取得する最初のコンポーネントにのみSSLを有効にするだけで十分です。他のコンポーネントは通常、イントラネット内にあるからです。 たとえば、リクエストをOracle Web Cacheに送信する場合、最初の手順のみ実行が必要です。リクエストをOracle HTTP Serverに送信する場合、2番目の手順のみ実行が必要です。使用するトポロジに応じて手順を選択します。 |
https
を介してOracle Discovererを実行するには特定のタスクが必要です。これには、Oracle BI DiscovererをホストするOracle WebLogic ServerのフロントエンドとなるOracle HTTP Server仮想ホストやOracle Web CacheでSSLを有効化することなどが含まれます。
詳細は、Oracle Fusion Middleware Oracle Business Intelligence Discoverer構成ガイドのDiscovererでのエンドツーエンドSecure Sockets Layerの構成に関する項を参照してください。
SSL対応のアプリケーションの記述方法については、『Oracle Fusion Middleware Oracle WebLogic Serverセキュリティのプログラミング』のJavaクライアントでのSSL認証の使用に関する項を参照してください。
ベスト・プラクティスは、第6.8.2項「アプリケーション開発者のベスト・プラクティス」を参照してください。
インストール時には、Oracle Internet Directoryノードは認証なしモードでSSLが有効に設定されています。
この項では、Fusion Middleware ControlおよびWLSTコマンドライン・ツールを使用して、Oracle Internet DirectoryリスナーでSSLを有効にする方法について説明します。
関連項目: Oracle Internet Directory SSL相互認証クライアントおよびサーバー認証の設定の詳細は、 |
この例では次の手順により、Fusion Middleware Controlを使用してOracle Internet Directoryのインスタンスに対して認証なしモードでSSLを有効化します。
左側のナビゲーション・ペインでOracle Internet Directoryインスタンスを選択します。
「Oracle Internet Directory」→「管理」→「サーバー・プロパティ」にナビゲートします。
「SSL設定の変更」をクリックします。
「SSL設定」ダイアログで、次の操作を実行します。
「SSLの有効化」を選択します。
「SSL認証」を「認証なし」に設定します。
「暗号スイート」を「すべて」に設定します。
「SSLプロトコル・バージョン」を「v3」に設定します。
「OK」をクリックします。
「Oracle Internet Directory」→「コントロール」→「再起動」にナビゲートして、Oracle Internet Directoryインスタンスを再起動します。
インスタンスが正しくSSL有効に設定されていることを確認するには、次の形式でldapbind
コマンドを実行します。
ldapbind -D cn=orcladmin -U 1 -h host -p SSL_port
注意:
|
スタンドアロン環境のOracle Internet Directoryリスナーの詳細は、『Oracle Fusion Middleware Oracle Internet Directory管理者ガイド』を参照してください。
その他の認証モードでのSSLの有効化
その他の認証モードでSSLを有効にする手順も同様です。異なる点は、「SSL設定」ダイアログで適切な認証タイプを設定することです。
注意: その他の認証タイプでは、Oracleウォレットが必要です。 |
次のようにリスナーをSSLプロパティでno-auth
モードに構成します。
注意: Oracle Internet Directoryのポート名は、常に |
configureSSL('inst1', 'oid1', 'oid', 'sslport1')
その他の認証モードでのSSLの有効化
これは、パラメータにプロパティ・ファイルを使用して、適切な認証タイプ・パラメータ値を指定し、configureSSL
コマンドを実行して行います。詳細は、Oracle Fusion Middleware Oracle Internet Directory管理者ガイドを参照してください。
Oracle Internet DirectoryからOracle DatabaseへのSSL接続を構成するには、2つの手順のセットが必要です。
データベースでのSSLの構成
Oracle DatabaseをSSLで構成する手順は、第6.6.3.1項「Oracle DatabaseでのSSLの有効化」で説明されています。
アウトバウンドOracle Internet Directoryの構成
次の手順を実行して、Oracle Internet DirectoryからOracle Databaseへのアウトバウンド・トラフィックでSSLを構成します。
opmnctl
構文を使用して、データベースへのアウトバウンド・トラフィックをSSLで構成するOracle Internet Directoryサーバー・インスタンスを停止します。
$ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=componentName
次に例を示します。
$ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=oid1
Oracle Internet Directoryサーバー・インスタンスに接続するデータベースのSecurity Socket Layer認証を構成します。
詳細は、『Oracle Database Advanced Security管理者ガイド』を参照してください。
必要に応じて、データベースやリスナーを再起動します。
このopmnctl
構文を使用して、Oracle Internet Directoryサーバー・インスタンスを起動します。
$ORACLE_INSTANCE/bin/opmnctl startproc ias-component=componentName
次に例を示します。
$ORACLE_INSTANCE/bin/opmnctl startproc ias-component=oid1
注意: 認証なしモードのみがサポートされます。 |
この項では、Oracle Virtual DirectoryのインスタンスでSSLを有効にする方法について説明します。
これらの項目に関する追加情報は、Oracle Fusion Middleware Oracle Virtual Directory管理者ガイドに記載されています。
Fusion Middleware Controlを使用したリスナーでのSSLの構成
WLSTを使用したリスナーでのSSLの構成
Oracle Virtual DirectoryとOracle Internet Directoryとの間の相互認証SSL接続の構成
SSLを有効にする手順は次のとおりです(例は、server-auth
モードの説明です)。
左側のナビゲーション・ペインでOracle Virtual Directoryインスタンスを選択します。
「Oracle Virtual Directory」→「セキュリティ」→「キーストア」にナビゲートしてこの操作で使用するキーストアを選択します。
表示されたキーストアのリストから選択します。新しいキーストアを生成する必要がある場合、Fusion Middleware Controlを使用したキーストアの作成に関する項を参照してください。
リスナーでSSLを有効にするには、「Oracle Virtual Directory」→「管理」→「リスナー」にナビゲートします。
LDAP SSLエンドポイントのリスナーを選択して、「編集」をクリックします。
「リスナーの編集」ページが表示されます。
「SSL設定の変更」をクリックします。
「SSL設定」ダイアログで、次の操作を実行します。
「SSLの有効化」を選択します。
「サーバー・キーストア名」で、ステップ2で作成したキーストアを選択します(OVDtestJks
など)。
「サーバー・キーストアのパスワード」で、ステップ2で指定したキーストア・パスワードを入力します。
「サーバーTruststore名」で、ステップ2で作成したキーストアを選択します(OVDtestJks
など)。
「サーバー・トラストストアのパスワード」で、ステップ2で指定したキーストア・パスワードを入力します。
「拡張SSL設定」を開きます。
「SSL認証」で、「サーバー認証」を選択します。これはデフォルト設定です。
「暗号スイート」で、適切な暗号スイートを選択します(この例では、「すべて
」)。
プロトコル・バージョンを選択します。
「OK」をクリックします。
「Oracle Virtual Directory」→「コントロール」→「停止」にナビゲートしてから「起動」を選択して、Oracle Virtual Directoryインスタンスを停止して起動します。
インスタンスが正しくSSL有効に設定されていることを確認するには、次の形式でldapbind
コマンドを実行します。
ldapbind -D cn=orcladmin -U 2 -h host -p SSL_port -W "file:// DIRECTORY_SSL_WALLET"
注意:
|
その他の認証モードでのSSLの有効化
その他の認証モードでSSLを有効にする手順も同様です。異なる点は、「SSL設定」ダイアログで適切な認証タイプを設定することです。
注意: LDAPリスナーでSSLを構成する場合、SSL通信は |
次の手順を実行して、サーバー認証モードでリスナーを構成します。
次のコマンドを実行して、このOracle Virtual Directoryインスタンスのリスナーを確認します。
listListeners('inst1','ovd1' )
このコマンドにより、インスタンスinst1
およびコンポーネント名ovd1
のすべてのリスナーがリストされたら、SSLを構成する必要があるリスナーを1つ選択します。たとえば、「LDAP SSL Endpoint」を選択します。
Oracle Virtual DirectoryリスナーのSSL MBeanの名前を取得します。
getSSLMBeanName('inst1', 'ovd1', 'ovd', 'LDAP SSL Endpoint')
このコマンドにより、指定されたインスタンス、コンポーネント名、コンポーネント・タイプおよびリスナーのSSL MBean名が返されます。
次のコマンドでMBeanのキーストアおよびトラストストアのパスワードを設定します。
cd ('SSL_MBean_Name') set('KeyStorePassword',java.lang.String('password').toCharArray()) set('TrustStorePassword',java.lang.String('password').toCharArray())
SSLプロパティでリスナーを構成します。
configureSSL('inst1', 'ovd1', 'ovd', 'LDAP SSL Endpoint')
注意: ステップ2とステップ3は、サーバー認証モードおよび相互認証モードでのみ必要です。 |
その他の認証モードでのSSLの有効化
これは、パラメータにプロパティ・ファイルを使用して、適切な認証タイプ・パラメータ値を指定し、configureSSL
コマンドを使用して行います。詳細は、Oracle Fusion Middleware Oracle Virtual Directory管理者ガイドのOracle Virtual Directoryリスナーの作成と管理に関する項を参照してください。
この項の項目は次のとおりです。
次の手順を実行して、OracleデータベースでSSLを有効にします。
ルートCAとDBの証明書を作成します。次に例を示します。
mkdir root mkdir server # Create root wallet, add self-signed certificate and export orapki wallet create -wallet ./root -pwd password orapki wallet add -wallet ./root -dn CN=root_test,C=US -keysize 2048 -self_signed -validity 3650 -pwd password orapki wallet display -wallet ./root -pwd password orapki wallet export -wallet ./root -dn CN=root_test,C=US -cert ./root/b64certificate.txt -pwd password #Create server wallet, add self-signed certificate and export orapki wallet create -wallet ./server -pwd password orapki wallet add -wallet ./server -dn CN=server_test,C=US -keysize 2048 -pwd password orapki wallet display -wallet ./server -pwd password orapki wallet export -wallet ./server -dn CN=server_test,C=US -request ./server/creq.txt -pwd password # Import trusted certificates orapki cert create -wallet ./root -request ./server/creq.txt -cert ./server/cert.txt -validity 3650 -pwd password orapki cert display -cert ./server/cert.txt -complete orapki wallet add -wallet ./server -trusted_cert -cert ./root/b64certificate.txt -pwd password orapki wallet add -wallet ./server -user_cert -cert ./server/cert.txt -pwd password orapki wallet create -wallet ./server -auto_login -pwd password}}
データベースのlistener.ora
、sqlnet.ora
およびtnsnames.ora
を更新します。tnsnames.ora
ファイルは$ORACLE_BASE/network/admin
にあります。その他のファイルは$ORACLE_HOME/network/admin
にあります。
次の例は、デフォルトのlistener.ora
を示します。
SID_LIST_LISTENER = (SID_LIST =(SID_DESC =(SID_NAME = PLSExtProc)(ORACLE_HOME = /path_to_O_H)(PROGRAM = extproc))) LISTENER =(DESCRIPTION_LIST =(DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) (ADDRESS = (PROTOCOL = TCP)(HOST = mynode.mycorp.com)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCPS)(HOST = mynode.mycorp.com)(PORT = 2490)) )) WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/wallet_location))) SSL_CLIENT_AUTHENTICATION=FALSE}}
次に、更新されたlistener.ora
ファイルを示します。このシナリオではクライアント認証なしに指定しています。
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = dbname) (ORACLE_HOME = /path_to_O_H) (SID_NAME = sid) ) ) SSL_CLIENT_AUTHENTICATION = FALSE WALLET_LOCATION = (SOURCE = (METHOD = FILE) (METHOD_DATA = (DIRECTORY = /wallet_path) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mynode.mycorp.com)(PORT = 1521)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCPS)(HOST = mycorp.com)(PORT = 2490)) ) )
SSLポートが追加されています。
同様に、変更されたsqlnet.ora
ファイルは次のようになります。
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) SQLNET.AUTHENTICATION_SERVICES=(BEQ,TCPS,NTS) WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/directory))) SSL_CLIENT_AUTHENTICATION=FALSE
変更されたtnsnames.ora
ファイルは次のようになります。
OID = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = mynode.mycorp.com)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = mynode.mycorp.com) ) ) SSL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCPS)(HOST = mynode.mycorp.com)(PORT = 2490)) ) (CONNECT_DATA = (SERVICE_NAME = mynode.mycorp.com) or (SID = mynode.mycorp.com) ) (SECURITY=(SSL_SERVER_CERT_DN=\"CN=server_test,C=US\")) )
新しい接続文字列を使用してデータベースへの接続をテストします。次に例を示します。
$ tnsping ssl
$ sqlplus username/password@ssl
関連項目: Oracle Advanced Security管理者ガイドのSecure Sockets Layer認証の構成に関する項を参照してください。 |
次の手順を実行して、SSLを使用するようにOracle WebLogic Server上のデータソースを構成します。
トラストストアを作成して、(データベースでSSLを有効にしたときに作成した)ルート証明書を、信頼できる証明書としてトラストストアに追加します。詳細は、『Oracle Fusion Middleware Oracle WebLogic Serverの保護』を参照してください。
Oracle WebLogic Server管理コンソールで、使用しているデータソースの「接続プール」タブにナビゲートします。
注意: Oracle WebCenter Portalデータソースなどの既存ソースや新しいデータソースをデータソースにできます。詳細は、『Oracle Fusion Middleware Oracle WebLogic Server JDBCデータ・ソースの構成と管理』のJDBCデータ・ソースの作成に関する説明を参照してください。 |
「JDBCプロパティ」テキスト・ボックスで指定する必要があるプロパティは、構成する認証のタイプにより異なります。
クライアント認証(双方向認証)が必要な場合:
javax.net.ssl.keyStore=..(password of the keystore) javax.net.ssl.keyStoreType=JKS javax.net.ssl.keyStorePassword=...(password of the keystore) javax.net.ssl.trustStore=...(the truststore location on the disk) javax.net.ssl.trustStoreType=JKS javax.net.ssl.trustStorePassword=...(password of the truststore)
クライアント認証が不要な場合:
javax.net.ssl.trustStore=...(the truststore location on the disk) javax.net.ssl.trustStoreType=JKS javax.net.ssl.trustStorePassword=...(password of the truststore)
「URL」テキスト・ボックスにJDBC接続文字列を入力します。プロトコルがTCPSで、SSL_SERVER_CERT_DNにデータベース証明書の完全なDNが含まれていることを確認します。
tnsnames.oraが「SERVICE_NAME」を使用する場合は、次の構文を使用します。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=host-name)(PORT=port-number)))(CONNECT_DATA=(SERVICE_NAME=service))(SECURITY=(SSL_SERVER_CERT_DN="CN=server_test,C=US")))
tnsnames.oraが「SID」を使用する場合は、次の構文を使用します。
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCPS)(HOST=host-name)(PORT=port-number)))(CONNECT_DATA=(SID=service))(SECURITY=(SSL_SERVER_CERT_DN="CN=server_test,C=US")))
接続をテストおよび検証します。この時点で、データソースはSSLを使用するように構成されています。
この項では、前述の基本的なトポロジを超えた高度なSSL構成のシナリオを処理する方法について説明します。
この項で使用されているコマンドの詳細および例は、第6.9項を参照してください。
ハードウェア・セキュリティ・モジュール(HSM)は、コンピュータに組み込むことができる物理的なプラグイン・カードまたは外部セキュリティ・デバイスで、セキュアなストレージ環境を提供し機密コンテンツを扱うことができます。
注意: この説明は、Oracle HTTP Server、Oracle Web CacheおよびOracle Internet Directoryにのみ適用されます。これらは、HSMをサポートするシステム・コンポーネントです。 |
Oracle Fusion Middlewareでは、PKCS#11規格に準拠したHSMデバイスをサポートし、秘密鍵を使用したセキュアなストレージ環境を提供します。
次の手順を実行し、PKCS#11ウォレットを使用してコンポーネントでSSLを実装します。
コンポーネントが稼働しているマシンにHSMライブラリをインストールします。これは、1回かぎりのタスクでデバイスに依存します。
次に、Oracle Wallet Manager(OWM)またはorapki
コマンドライン・ツールを使用してウォレットを作成します。次の点に注意してください。
ウォレット・タイプとして「PKCS11
」を選択します。
デバイスとの通信に使用されるデバイス固有のPKCS#11ライブラリを指定します。このライブラリは、HSMソフトウェアの一部です。
Linuxでは、ライブラリは次の場所にあります。
For LunaSA (Safenet): /usr/lunasa/lib/libCryptoki2.so For nCipher: /opt/nfast/toolkits/pkcs11/libcknfast.so
Windowsでは、ライブラリは次の場所にあります。
For LunaSA (Safenet): C:\Program Files\LunaSA\cryptoki.dll
ここで、第三者の証明書を取得するための標準的な手順を実行します。つまり、証明書リクエストを作成し、認証局(CA)で承認されたリクエストを取得して、そのCAで署名された証明書をインストールします。
設定したウォレットは、他のウォレットと同様に使用されます。
orapki
ユーティリティでウォレットを確認します。次のコマンド構文を使用します。
orapki wallet p11_verify [-wallet [wallet]] [-pwd password]
configureSSL
WLSTコマンドを使用して、コンポーネントのリスナーでSSLを構成します。このコマンドは入力にプロパティ・ファイルを指定します。プロパティ・ファイルでは、コンポーネントが稼働しているマシンのPKCS#11ウォレット・ディレクトリのフルパスを指定する必要があります。(注意: PKCS#11ウォレットをインスタンス・ホーム・ディレクトリに保存しないでください。Fusion Middleware ControlまたはWLSTを介して作成および管理されるウォレットのみがインスタンス・ホームに存在する必要があります。)
サンプルのプロパティ・ファイルは、次のようになります。
SSLEnabled=true AuthenticationType=Server PKCS11Wallet=/tmp/lunasa/wallet
注意: WLSTコマンドの |
Oracle HTTP Server(OHS)、Oracle Internet Directory(OID)またはWebCacheに対するSSL構成の管理時には、ファイルまたはファイル・システム・フォルダ名を指定することにより、使用するCRLを指定できます。SSL構成自体はこのファイルまたはフォルダ名を解釈しません。この構成をコンポーネントに渡すだけです。
注意:
|
SSLを使用するコンポーネントは、オプションで証明書失効リスト(CRL)を使用した証明書の検証を有効にできます。これによりそのコンポーネントでは、SSLハンドシェイクでピア証明書を検証して、認証局(CA)で発行された失効済証明書のリストにそれがないか確認できます。
この項では、CRLベースの検証を使用するようにコンポーネントを構成する方法、およびファイル・システム上にCRLを作成および設定する方法を説明します。
configureSSL
WLSTコマンドを使用して、コンポーネントのリスナーでSSLを構成します。このコマンドは入力にプロパティ・ファイルを指定します。
プロパティ・ファイルは、次のように設定する必要があります。
「CertValidation」属性は「url
」に設定する必要があります。
「CertValidationPath」属性は、「file://file_path
」または「dir://directory_path
」という形式にする必要があります。
証明書の検証に単一のCRLファイルを使用している場合、最初の形式を使用します。このCRLファイルは、すべてのCRLファイルを結合する必要があります。
複数のCRLファイルがハッシュ形式で格納されているディレクトリ・パスを指定する場合、2番目の形式を使用します。
ハッシュ形式でCRLを作成する方法の詳細は、第6.7.2.2項「ファイル・システムでのCRLの管理」を参照してください。
次の例では、プロパティ・ファイルは単一のCRLファイルを指定します。
SSLEnabled=true AuthenticationType=Server CertValidation=crl KeyStore=ohs1 CertValidationPath=file:///tmp/file.crl
次の例では、プロパティ・ファイルは複数のCRLファイルへのディレクトリ・パスを指定しています。
SSLEnabled=true AuthenticationType=Server KeyStore=ohs1 CertValidation=crl CertValidationPath=dir:///tmp
orapki
コマンドライン・ツールを使用して、ファイル・システム上でCRLを管理します。このトピックの詳細は、第H.2.5項「orapkiユーティリティを使用した証明書失効リスト(CRL)の管理」を参照してください。
CRL格納場所を指定する場合は、CRLの名前を変更する必要があります。これにより、実行時に効率的にCRLをロードできます。この操作では、実際のCRLファイルへのシンボリック・リンクを作成します。Windowsでは、CRLは新しい名前のファイルにコピーされます。
CRLの名前を変更するには:
orapki crl hash [-crl [url|filename]] [-walletwallet
] [-symlink directory] [-copy directory] [-summary] [-pwdpassword
]
次に例を示します。
orapki crl hash -crl nzcrl.txt -symlink wltdir -pwd password
CRLファイル名を実行時に指定すると、複数のCRLをそのファイルに結合できます。この例で作成されるCRLはBase64形式なので、テキスト・エディタを使用してCRLを結合できます。
注意: CRLの作成および証明書の失効はテスト目的で行い、必ず自己署名証明書とともに使用します。本番で使用する場合、本番の証明書を有名なCAから取得して、CRLをそれらの認証局から取得します。 |
CRLを作成するには:
orapki crl create
[-crl [url|filename]] [-wallet [cawallet]] [-nextupdate [days]] [-pwd password
]
次に例を示します。
orapki crl create
-crl nzcrl.crl -wallet rootwlt -nextupdate 3650 -pwd password
証明書が失効すると、証明書のシリアル番号がCRLに追加されます。
証明書を失効させるには:
orapki crl revoke
[-crl [url|filename]] [-wallet [cawallet]] [-cert [revokecert]] [-pwd password
]
次に例を示します。
orapki crl revoke
-crl nzcrl.txt -wallet rootwlt -cert cert.txt -pwd password
コンポーネントでCRL検証が正しく構成されていることをテストするには、次の手順を実行します。
コンポーネントで使用される証明書をウォレットに設定します。
この証明書を含むCRLを失効済証明書リストの中に生成します。第6.7.2.2項「ファイル・システムでのCRLの管理」で説明されている手順を実行します。
このCRLを使用するようにコンポーネントを構成します。第6.7.2.1項「コンポーネントのCRL検証の構成」で説明されている手順を実行します。
この失効済証明書を使用すると、SSLハンドシェイクは失敗します。
この項では、FIPS 140-2の高度なセキュリティ規格に適合するようにOracle Fusion Middlewareコンポーネントを構成する方法について説明します。この項の項目は次のとおりです。
Oracle SSL SDKを使用する製品は、FIPSモードで実行するように構成できます。特に、次のOracle Fusion Middlewareコンポーネントを構成できます。
Oracle HTTP Server
Oracle Web Cache
Oracle Internet Directory
これらのコンポーネントをFIPS
モードで実行するように構成するには、fips.ora
ファイルでSSLFIPS_140
パラメータをTRUE
に設定します。
SSLFIPS_140=TRUE
このファイルは標準装備ではないので、作成する必要があります。fips.ora
は、$ORACLE_HOME/ldap/admin
ディレクトリ、またはFIPS_HOME
環境変数で指定されたディレクトリに配置します。
SSLFIPS_140パラメータは、デフォルトではFALSE
に設定されます。FIPS
モードで操作するには、これをTRUE
に設定する必要があります。
暗号スイートは、ネットワーク・ノード間のメッセージ交換に使用される認証、暗号化およびデータ整合性アルゴリズムのセットです。たとえば、SSLハンドシェイク時に、2つのノードでネゴシエーションを行い、メッセージを交換するときにどの暗号スイートを使用するかを確認します。
FIPSモードで使用する場合、次の暗号スイートのみが承認されます。
SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA
FIPSモードで稼働中に別の暗号を使用しないでください。
カンマ区切りの値を使用してこれらの1つ以上の暗号を構成できます。これらは、WLST configureSSL
コマンドのキー「Ciphers」のSSLプロパティ・ファイルまたはFusion Middleware Controlで指定する必要があります。
configureSSL
コマンドでのSSLプロパティ・ファイルの指定の詳細は、第6.9.28項「SSL用プロパティ・ファイル」を参照してください。
FIPS
モードを有効にするための最小キー・サイズは、1024ビットです。FIPS
モードで使用されるキーのサイズが1024ビット以上であることを確認する必要があります。これは、Oracle HTTP Server、Oracle Web Cache、Oracle Internet Directoryなどのコンポーネントで使用されるウォレットの証明書の公開鍵が最小サイズの1024ビットである必要があるためです。
SSLConfig
、Oracle Wallet Manager、orapki
などのOracleツールを使用して作成されたウォレットのみを使用できます。サードパーティのPKCS#12ウォレット・ファイルは、FIPS
モードでは使用できません。
この項では、Oracle Fusion Middlewareコンポーネント管理者およびアプリケーション開発者のいくつかのベスト・プラクティスの概要を説明します。これらの項目が含まれます。
システム管理者のベスト・プラクティスには、次のようなものがあります。
自己署名付きウォレットはテスト環境でのみ使用します。本番環境に移行する前にウォレットにCAで署名された証明書を取得する必要があります。詳細は、第8章「キーストア、ウォレットおよび証明書の管理」を参照してください。
(少なくともWeb層の)コンポーネントでは、DNとしてシステム・ホスト名あるいは仮想ホストまたはサイト名を持つ証明書を使用することをお薦めします。そうすることにより、混乱させる警告メッセージが表示されることなく、ブラウザはSSLモードで接続できます。
SSLで使用される証明書では、最小キー・サイズの1024ビットを使用することをお薦めします。キー・サイズを大きくすると、セキュリティは高くなりますが、パフォーマンスが低下します。セキュリティおよびパフォーマンス要件に応じて、適切なキー・サイズ値を選択します。
SSLハンドシェイクが失敗する主な原因の1つに信頼性が欠落していることがあります。SSLハンドシェイクを開始する前に、(サーバーCA証明書をクライアント・キーストアにインポートして)クライアントがサーバーを信頼していることを確認してください。クライアント認証も必要な場合は、その逆も確認する必要があります。
次のプラクティスをお薦めします。
Javaキーストア(JKS)を使用してJava EEアプリケーションの証明書を保存します。
キーストア・パス、トラストストア・パス、構成ファイルの認証タイプなどのSSL構成パラメータは、アプリケーション・コードのそれぞれの値に埋め込まず、外部に配置します。そうすることで、アプリケーション自体を変更せずに柔軟にSSL構成を変更できます。
11g リリース1(11.1.1)以降、OracleウォレットおよびJKSキーストアを管理するためのWLSTコマンド、およびOracle Fusion MiddlewareコンポーネントでSSLを構成するためのWLSTコマンドが追加されました。
このタスクでは、表6-1、表6-2および表6-3にリストされているコマンドを使用します。
関連項目: WLSTシェルを起動してSSL関連コマンドを実行する方法の詳細は、キーストアおよびウォレット用コマンドライン・インタフェースに関する項を参照してください。その他の場所からはWLSTインタフェースを起動しないでください。 |
注意: SSL構成用のすべてのWLSTコマンドは、オンライン・モードで実行する必要があります。 |
各コマンドは、次のように指定してヘルプを表示できます。
help('command_name')
特定のコマンドには、インスタンス名、iasコンポーネント、プロセス・タイプなどのパラメータが必要です。この情報は、次のコマンドで取得できます。
$ORACLE_INSTANCE/bin/opmnctl status
表6-1 SSL構成用WLSTコマンド
使用するコマンド | 使用目的 | WLSTによる使用 |
---|---|---|
|
コンポーネント・リスナーのSSL属性を設定します。 |
オンライン |
|
コンポーネント・リスナーのSSL属性を表示します。 |
オンライン |
表6-2 Oracleウォレット管理用WLSTコマンド
使用するコマンド | 使用目的 | WLSTによる使用 |
---|---|---|
|
Oracleウォレットに証明書署名リクエストを生成します。 |
オンライン |
|
自己署名証明書をOracleウォレットに追加します。 |
オンライン |
|
Oracleウォレットのパスワードを変更します。 |
オンライン |
|
Oracleウォレットを作成します。 |
オンライン |
|
Oracleウォレットを削除します。 |
オンライン |
|
Oracleウォレットをファイルにエクスポートします。 |
オンライン |
|
オブジェクト(証明書など)をOracleウォレットからファイルにエクスポートします。 |
オンライン |
|
Oracleウォレットに存在する証明書またはその他のオブジェクトを表示します。 |
オンライン |
|
Oracleウォレットをファイルからインポートします。 |
オンライン |
|
証明書またはその他のオブジェクトをファイルからOracleウォレットにインポートします。 |
オンライン |
|
Oracleウォレットに存在するすべてのオブジェクト(証明書など)を表示します。 |
オンライン |
|
コンポーネント・インスタンスで構成されるすべてのOracleウォレットを表示します。 |
オンライン |
|
証明書またはその他のオブジェクトをコンポーネント・インスタンスのOracleウォレットから削除します。 |
オンライン |
表6-3 Javaキーストア(JKS)管理用WLSTコマンド
使用するコマンド | 使用目的 | WLSTによる使用 |
---|---|---|
|
JKSキーストアのパスワードを変更します。 |
オンライン |
|
JKSキーストアを作成します。 |
オンライン |
|
JKSキーストアを削除します。 |
オンライン |
|
JKSキーストアをファイルにエクスポートします。 |
オンライン |
|
オブジェクト(証明書など)をJKSキーストアからファイルにエクスポートします。 |
オンライン |
|
JKSキーストアの鍵のペアを生成します。 |
オンライン |
|
JKSキーストアに存在する証明書またはその他のオブジェクトを表示します。 |
オンライン |
|
JKSキーストアをファイルからインポートします。 |
オンライン |
|
証明書またはその他のオブジェクトをファイルからJKSキーストアにインポートします。 |
オンライン |
|
JKSキーストアに存在するすべてのオブジェクト(証明書など)をリストします。 |
オンライン |
|
コンポーネント・インスタンスで構成されるすべてのJKSキーストアをリストします。 |
オンライン |
|
証明書またはその他のオブジェクトをコンポーネント・インスタンスのJKSキーストアから削除します。 |
オンライン |
注意:
|
Oracleウォレットに証明書署名リクエストを生成するオンライン・コマンドです。
このコマンドにより、コンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットにBase64でエンコードされたPKCS#10形式の証明書署名リクエストを生成します。認証局(CA)で署名された証明書を取得するには、証明書署名リクエストをCAに送信します。
addCertificateRequest('instName', 'compName', 'compType', 'walletName', 'password', 'DN', 'keySize')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
DN |
鍵ペアのエントリの識別名を指定します。 |
keySize |
鍵サイズをビット単位で指定します。 |
自己署名証明書を追加するオンライン・コマンドです。
このコマンドにより、鍵ペアを作成して、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットの自己署名証明書でラップします。RSAアルゴリズムに基づいた鍵のみが生成されます。
addSelfSignedCertificate('instName', 'compName', 'compType', 'walletName', 'password', 'DN', 'keySize')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
DN |
鍵ペアのエントリの識別名を指定します。 |
keySize |
鍵サイズをビット単位で指定します。 |
キーストアのパスワードを変更するオンライン・コマンドです。
changeKeyStorePassword('instName', 'compName', 'compType', 'keystoreName', 'currPassword', 'newPassword')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストアのファイル名を指定します。 |
currPassword |
現在のキーストア・パスワードを指定します。 |
newPassword |
新しいキーストア・パスワードを指定します。 |
Oracleウォレットのパスワードを変更するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットのパスワードを変更します。このコマンドは、パスワードで保護されたウォレットにのみ適用されます。
changeWalletPassword('instName', 'compName', 'compType', 'walletName','currPassword', 'newPassword')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレットのファイル名を指定します。 |
currPassword |
現在のウォレット・パスワードを指定します。 |
newPassword |
新しいウォレット・パスワードを指定します。 |
SSL属性を設定するオンライン・コマンドです。
このコマンドにより、コンポーネント・リスナーのSSL属性を設定します。属性はプロパティ・ファイル形式(name=value)で指定します。このファイルが指定されない場合、またはそのファイルにSSL属性が含まれていない場合、デフォルトの属性値が使用されます。
プロパティ・ファイルの形式の詳細は、第6.9.28項「SSL用プロパティ・ファイル」を参照してください。
configureSSL('instName', 'compName', 'compType', 'listener', 'filePath')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ovd」、「ohs」および「webcache」です。 |
listener |
SSLで構成するコンポーネント・リスナーの名前を指定します。 |
filePath |
設定するSSL属性を含むプロパティ・ファイルの絶対パスを指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
のリスナーlistener1
に対して、プロパティ・ファイル/tmp/ssl.properties
で指定されたSSL属性が構成されます。
wls:/mydomain/serverConfig> configureSSL('inst1', 'ovd1', 'ovd', 'listener1','/tmp/ssl.properties')
次のコマンドでは、プロパティ・ファイルを指定せずにSSL属性を構成します。ファイルが指定されないので、デフォルトのSSL属性値が使用されます。
wls:/mydomain/serverConfig> configureSSL('inst1', 'ovd1', 'ovd', 'listener2')
JKSキーストアを作成するオンライン・コマンドです。
このコマンドにより、指定されたOracle Virtual DirectoryインスタンスのJavaキーストア(JKS)を作成します。キーストア・ファイルの場所およびその他の情報の詳細は、キーストアの場所に関する項を参照してください。
createKeyStore('instName', 'compName', 'compType', 'keystoreName', 'password')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
作成するキーストア・ファイルのファイル名を指定します。 |
password |
キーストア・パスワードを指定します。 |
Oracleウォレットを作成するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットを作成します。ウォレットは、パスワードで保護することも自動ログイン・タイプにすることもできます。ウォレットの詳細は、第8章「キーストア、ウォレットおよび証明書の管理」を参照してください。
createWallet('instName', 'compName', 'compType', 'walletName', 'password')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
作成するウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle HTTP Serverインスタンスohs1
のwallet1
というウォレットが、パスワードpassword
で作成されます。
wls:/mydomain/serverConfig> createWallet('inst1', 'ohs1', 'ohs','wallet1', 'password')
次のコマンドにより、アプリケーション・サーバー・インスタンスinst1
のOracle WebCacheインスタンスwc1
に対して、wallet2
という自動ログイン・ウォレットが作成されます。
wls:/mydomain/serverConfig> createWallet('inst1', 'wc1', 'webcache','wallet2', '')
キーストアを削除するオンライン・コマンドです。
deleteKeyStore('instName', 'compName', 'compType', 'keystoreName')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
削除するキーストア・ファイルの名前を指定します。 |
Oracleウォレットを削除するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットを削除します。
deleteWallet('instName', 'compName', 'compType', 'walletName')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
削除するウォレット・ファイルの名前を指定します。 |
キーストアをファイルにエクスポートするオンライン・コマンドです。
このコマンドでは、指定されたOracle Virtual Directoryインスタンスで構成されたキーストアを、指定されたディレクトリの下のファイルにエクスポートします。エクスポートされたファイルの名前は、キーストア名と同じになります。
exportKeyStore('instName', 'compName', 'compType', 'keystoreName', 'password', 'path')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストア・ファイルの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
path |
キーストアのエクスポート先ディレクトリの絶対パスを指定します。 |
オブジェクトをキーストアからファイルにエクスポートするオンライン・コマンドです。
このコマンドでは、Javaキーストア(JKS)に存在する証明書署名リクエスト、証明書や証明書チェーン、または信頼できる証明書を、指定されたOracle Virtual Directoryインスタンスのファイルにエクスポートします。証明書署名リクエストは、オブジェクトをエクスポートする前に生成されます。エクスポートするオブジェクトを別名で指定します。
exportKeyStoreObject('instName', 'compName', 'compType', 'keystoreName', 'password', 'type', 'path', 'alias')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストア・ファイルの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
type |
エクスポートするキーストア・オブジェクトのタイプを指定します。有効な値は、「CertificateRequest」、「Certificate」、「TrustedCertificate」および「TrustedChain」です。 |
path |
base64.txtという名前のファイルとしてオブジェクトをエクスポートする先のディレクトリの絶対パスを指定します。 |
alias |
エクスポートするキーストア・オブジェクトの別名を指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に別名mykey
で示される鍵のペアから証明書署名リクエストが生成されてエクスポートされます。証明書署名リクエストは、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'CertificateRequest', '/tmp','mykey')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に別名mykey
で示される証明書または証明書チェーンがエクスポートされます。証明書または証明書チェーンは、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'Certificate', '/tmp','mykey')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に別名mykey
で示される信頼できる証明書がエクスポートされます。信頼できる証明書は、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedCertificate', '/tmp','mykey')
Oracleウォレットをエクスポートするオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)で構成されたOracleウォレットを、指定されたディレクトリの下のファイルにエクスポートします。エクスポートされたファイルが自動ログインのみのウォレットの場合、そのファイル名はcwallet.ssoになります。それがパスワードで保護されたウォレットの場合、ewallet.p12とcwallet.ssoという2つのファイルが作成されます。
exportWallet('instName', 'compName', 'compType', 'walletName','password', 'path')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
path |
オブジェクトのエクスポート先ディレクトリの絶対パスを指定します。 |
次のコマンドでは、Oracle Internet Directoryインスタンスoid1
の自動ログイン・ウォレットwallet1
が/tmp
の下のファイルcwallet.sso
にエクスポートされます。
wls:/mydomain/serverConfig> exportWallet('inst1', 'oid1', 'oid', 'wallet1','','/tmp')
次のコマンドでは、Oracle Internet Directoryインスタンスoid1
のパスワードで保護されたウォレットwallet2
が、/tmp
の下のewallet.p12
とcwallet.sso
の2つのファイルにエクスポートされます。
wls:/mydomain/serverConfig> exportWallet('inst1', 'oid1', 'oid', 'wallet2', 'password', '/tmp')
証明書またはその他のウォレット・オブジェクトをファイルにエクスポートするオンライン・コマンドです。
このコマンドにより、Oracleウォレットに存在する証明書署名リクエスト、証明書、証明書チェーンまたは信頼できる証明書を、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のファイルにエクスポートします。DNは、エクスポートするオブジェクトを示します。
exportWalletObject('instName', 'compName', 'compType', 'walletName', 'password', 'type', 'path', 'DN')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
type |
エクスポートするウォレット・オブジェクトのタイプを指定します。有効な値は、「CertificateRequest」、「Certificate」、「TrustedCertificate」または「TrustedChain」です。 |
path |
ファイルbase64.txtとしてオブジェクトをエクスポートする先のディレクトリの絶対パスを指定します。 |
DN |
エクスポートするウォレット・オブジェクトの識別名を指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のDN cn=www.acme.com
の証明書署名リクエストがエクスポートされます。証明書署名リクエストは、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'CertificateRequest', '/tmp','cn=www.acme.com')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のDN cn=www.acme.com
の証明書がエクスポートされます。証明書または証明書チェーンは、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'Certificate', '/tmp','cn=www.acme.com')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のDN cn=www.acme.com
の信頼できる証明書がエクスポートされます。信頼できる証明書は、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedCertificate', '/tmp','cn=www.acme.com')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のDN cn=www.acme.com
の証明書チェーンがエクスポートされます。証明書または証明書チェーンは、ディレクトリ/tmp
の下にエクスポートされます。
wls:/mydomain/serverConfig> exportWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedChain', '/tmp','cn=www.acme.com')
Javaキーストアの鍵のペアを生成するオンライン・コマンドです。
このコマンドでは、Oracle Virtual DirectoryのJavaキーストア(JKS)の鍵のペアを生成します。これにより、自己署名証明書の鍵のペアもラップします。RSAアルゴリズムに基づいた鍵のみが生成されます。
generateKey('instName', 'compName', 'compType', 'keystoreName', 'password', 'DN', 'keySize', 'alias', 'algorithm')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストアの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
DN |
鍵ペアのエントリの識別名を指定します。 |
keySize |
鍵サイズをビット単位で指定します。 |
alias |
キーストアの鍵ペアのエントリの別名を指定します。 |
algorithm |
鍵のアルゴリズムを指定します。有効な値は、「RSA」です。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、DNがcn=www.acme.com
、キー・サイズが1024
、アルゴリズムがRSA
、およびkeys.jks
の別名mykey
で、鍵のペアが生成されます。
wls:/mydomain/serverConfig> generateKey('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'cn=www.acme.com', '1024', 'mykey', 'RSA')
次のコマンドは、鍵のアルゴリズムを明示的に指定していないこと以外は前述と同じです。
wls:/mydomain/serverConfig> generateKey('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'cn=www.acme.com', '1024', 'mykey')
キーストア・オブジェクトの詳細を表示するオンライン・コマンドです。
このコマンドでは、Oracle Virtual DirectoryのJavaキーストア(JKS)に存在する特定の証明書または信頼できる証明書を表示します。キーストア・オブジェクトは、listKeyStoreObjects
コマンドで指定される索引番号で示されます。DN、キー・サイズ、アルゴリズムなどの証明書詳細情報が表示されます。
getKeyStoreObject('instName', 'compName', 'compType', 'keystoreName', 'password', 'type', 'index')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストア・ファイルの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
type |
一覧表示するキーストア・オブジェクトのタイプを指定します。有効な値は、「Certificate」および「TrustedCertificate」です。 |
index |
|
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に存在する索引1
の信頼できる証明書が表示されます。
wls:/mydomain/serverConfig> getKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedCertificate', '1')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に存在する索引1
の証明書が表示されます。
wls:/mydomain/serverConfig> getKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'Certificate', '1')
構成されたSSL属性を一覧表示するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・リスナーに構成されたSSL属性を一覧表示します。Oracle Internet Directoryでは、リスナー名は常に「sslport1
」です。
getSSL('instName', 'compName', 'compType', 'listener')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」、「oid」、「ohs」および「webcache」です。 |
listener |
コンポーネント・リスナーの名前を指定します。 |
Oracleウォレットの証明書やその他のオブジェクトに関する情報を表示するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットに存在する特定の証明書署名リクエスト、証明書または信頼できる証明書を表示します。ウォレット・オブジェクトは、listWalletObjects
コマンドで指定される索引番号で示されます。証明書または信頼できる証明書のDN、キー・サイズ、アルゴリズムなどの詳細データが表示されます。証明書署名リクエストの場合、サブジェクトDN、キー・サイズおよびアルゴリズムが表示されます。
getWalletObject('instName', 'compName', 'compType', 'walletName', 'password', 'type', 'index')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
type |
エクスポートするウォレット・オブジェクトのタイプを指定します。有効な値は、「CertificateRequest」、「Certificate」および「TrustedCertificate」です。 |
index |
|
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、wallet1
に存在する索引0
のオブジェクトの証明書署名リクエスト詳細が表示されます。
wls:/mydomain/serverConfig> getKeyStoreObject('inst1', 'oid1', 'oid','wallet1','password', 'CertificateRequest', '0')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、wallet1
に存在する索引0
のオブジェクトの証明書詳細が表示されます。
wls:/mydomain/serverConfig> getKeyStoreObject('inst1', 'oid1', 'oid','wallet1','password', 'Certificate', '0')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、wallet1
に存在する索引0
のオブジェクトの信頼できる証明書の詳細が表示されます。
wls:/mydomain/serverConfig> getKeyStoreObject('inst1', 'oid1', 'oid','wallet1','password', 'TrustedCertificate', '0')
キーストアをファイルからインポートするオンライン・コマンドです。
このコマンドにより、管理用に指定されたOracle Virtual DirectoryインスタンスにJavaキーストア(JKS)をファイルからインポートします。コンポーネント・インスタンス名は一意にする必要があります。
importKeyStore('instName', 'compName', 'compType', 'keystoreName','password', 'filePath')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
インポートするキーストアの名前を指定します。この名前はこのコンポーネント・インスタンスで一意にする必要があります。 |
password |
キーストアのパスワードを指定します。 |
filePath |
インポートするキーストア・ファイルの絶対パスを指定します。 |
オブジェクトをファイルからキーストアにインポートするオンライン・コマンドです。
このコマンドにより、証明書、証明書チェーンまたは信頼できる証明書をOracle Virtual DirectoryのJavaキーストア(JKS)にインポートして、指定された別名にそれを割り当てます。その別名はキーストアで一意にする必要があります。証明書または証明書チェーンをインポートする場合、別名は対応する鍵ペアの別名と一致する必要があります。
importKeyStoreObject('instName', 'compName', 'compType', 'keystoreName', 'password', 'type', 'filePath', 'alias')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストアの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
type |
インポートするキーストア・オブジェクトのタイプを指定します。有効な値は、「Certificate」および「TrustedCertificate」です。 |
filePath |
キーストア・オブジェクトを含むファイルの絶対パスを指定します。 |
alias |
インポートするキーストア・オブジェクトに割り当てる別名を指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインタンスovd1
で、別名mykey
を使用して、ファイルcert.txt
からkeys.jks
に証明書または証明書チェーンがインポートされます。ファイルkeys.jks
は、インポートされる証明書の公開鍵に適合する鍵のペアの別名mykey
を持っている必要があります。
wls:/mydomain/serverConfig> > importKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'Certificate','/tmp/cert.txt', 'mykey')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインタンスovd1
で、別名mykey1
を使用して、ファイルtrust.txt
からkeys.jks
に信頼できる証明書がインポートされます。
wls:/mydomain/serverConfig> importKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedCertificate','/tmp/trust.txt', 'mykey1')
Oracleウォレットをファイルからインポートするオンライン・コマンドです。
このコマンドにより、管理用に指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)にOracleウォレットをファイルからインポートします。インポートされるウォレットが自動ログイン・ウォレットの場合、ファイル・パスはcwallet.sso
を指す必要があります。ウォレットがパスワードで保護される場合は、ewallet.p12
を指す必要があります。このウォレット名はこのコンポーネント・インスタンスで一意にする必要があります。
importWallet('instName', 'compName', 'compType', 'walletName', 'password', 'filePath')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
インポートするウォレットの名前を指定します。名前はコンポーネント・インスタンスで一意にする必要があります。 |
password |
ウォレットのパスワードを指定します。 |
filePath |
インポートするウォレット・ファイルの絶対パスを指定します。 |
次のコマンドでは、自動ログイン・ウォレット・ファイル/tmp/cwallet.sso
がwallet1
としてOracle Internet Directoryインスタンスoid1
にインポートされます。それ以降、そのウォレットはwallet1
という名前で管理されます。これは自動ログイン・ウォレットのため、パスワードは渡しません。
wls:/mydomain/serverConfig> importWallet('inst1', 'oid1', 'oid', 'wallet1', '', '/tmp/cwallet.sso')
次のコマンドでは、パスワードで保護されたウォレット/tmp/ewallet.p12
がwallet2
としてOracle Internet Directoryインスタンスoid1
にインポートされます。それ以降、そのウォレットはwallet2
という名前で管理されます。ウォレット・パスワードは、パラメータとして渡されます。
wls:/mydomain/serverConfig> importWallet('inst1', 'oid1', 'oid', 'wallet2', 'password', '/tmp/ewallet.p12')
証明書やその他のオブジェクトをOracleウォレットにインポートするオンライン・コマンドです。
このコマンドにより、証明書、信頼できる証明書または証明書チェーンを、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheコンポーネントまたはOracle Internet Directory)のOracleウォレットにインポートします。証明書をインポートする場合、証明書署名リクエストが生成されたウォレット・ファイルと同じファイルを使用します。
importWalletObject('instName', 'compName', 'compType', 'walletName', 'password', 'type', 'filePath')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
type |
インポートするウォレット・オブジェクトのタイプを指定します。有効な値は、「Certificate」、「TrustedCertificate」および「TrustedChain」です。 |
filePath |
ウォレット・オブジェクトを含むファイルの絶対パスを指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、証明書チェーンがPKCS#7形式でファイルchain.txt
からwallet1
にインポートされます。
wls:/mydomain/serverConfig> importWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedChain','/tmp/chain.txt')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、証明書がファイルcert.txt
からwallet1
にインポートされます。
wls:/mydomain/serverConfig> > importWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'Certificate','/tmp/cert.txt')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
で、信頼できる証明書がファイルtrust.txt
からwallet1
にインポートされます。
wls:/mydomain/serverConfig> importWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedCertificate','/tmp/trust.txt')
キーストアの内容を一覧表示するオンライン・コマンドです。
listKeyStoreObjects('instName', 'compName', 'compType', 'keystoreName','password', 'type')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストア・ファイルの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
type |
一覧表示するキーストア・オブジェクトのタイプを指定します。有効な値は、「Certificate」および「TrustedCertificate」です。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
のkeys.jks
に存在するすべての信頼できる証明書が一覧表示されます。
wls:/mydomain/serverConfig> listKeyStoreObjects('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedCertificate')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
のkeys.jks
に存在するすべての証明書が一覧表示されます。
wls:/mydomain/serverConfig> listKeyStoreObjects('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'Certificate')
コンポーネントのすべてのキーストアを一覧表示するオンライン・コマンドです。
listKeyStores('instName', 'compName', 'compType')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
Oracleウォレットのすべてのオブジェクトを一覧表示するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットに存在するすべての証明書署名リクエスト、証明書または信頼できる証明書を一覧表示します。
listWalletObjects('instName', 'compName', 'compType', 'walletName', password', 'type')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
type |
一覧表示するウォレット・オブジェクトのタイプを指定します。有効な値は、「CertificateRequest」、「Certificate」および「TrustedCertificate」です。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のすべての証明書署名リクエストが一覧表示されます。
wls:/mydomain/serverConfig> > listWalletObjects('inst1', 'oid1', 'oid','wallet1','password', 'CertificateRequest')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のすべての証明書が一覧表示されます。
wls:/mydomain/serverConfig> listWalletObjects('inst1', 'oid1', 'oid','wallet1','password', 'Certificate')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
内のすべての信頼できる証明書が一覧表示されます。
wls:/mydomain/serverConfig> listWalletObjects('inst1', 'oid1', 'oid','wallet1','password', 'TrustedCertificate')
コンポーネント・インスタンスで構成されたすべてのウォレットを一覧表示するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)で構成されたすべてのウォレットを表示して、自動ログイン・ウォレットを特定します。
listWallets('instName', 'compName', 'compType')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
キーストアからオブジェクトを削除するオンライン・コマンドです。
このコマンドでは、Oracle Virtual DirectoryのJavaキーストア(JKS)から1つの証明書リクエスト、証明書、信頼できる証明書またはすべての信頼できる証明書を削除します。別名を使用して特定のオブジェクトを削除します。すべての信頼できる証明書を削除する場合は別名は不要です。
removeKeyStoreObject('instName', 'compName', 'compType', 'keystoreName','password', 'type', 'alias')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「ovd」です。 |
keystoreName |
キーストア・ファイルの名前を指定します。 |
password |
キーストアのパスワードを指定します。 |
type |
削除するキーストア・オブジェクトのタイプを指定します。有効な値は、「Certificate」、「TrustedCertificate」および「TrustedAll」です。 |
alias |
削除するキーストア・オブジェクトの別名を指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に別名mykey
で示される証明書または証明書チェーンが削除されます。
wls:/mydomain/serverConfig> removeKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'Certificate','mykey')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
で、keys.jks
に別名mykey
で示される、信頼できる証明書が削除されます。
wls:/mydomain/serverConfig> removeKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedCertificate','mykey')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Virtual Directoryインスタンスovd1
のkeys.jks
に存在するすべての信頼できる証明書が削除されます。別名は不要なので、そのパラメータには値None
を渡します。
wls:/mydomain/serverConfig> removeKeyStoreObject('inst1', 'ovd1', 'ovd','keys.jks', 'password', 'TrustedAll',None)
証明書やその他のオブジェクトをOracleウォレットから削除するオンライン・コマンドです。
このコマンドにより、指定されたコンポーネント・インスタンス(Oracle HTTP Server、Oracle WebCacheまたはOracle Internet Directory)のOracleウォレットから1つの証明書署名リクエスト、証明書、信頼できる証明書またはすべての信頼できる証明書を削除します。DNは、削除するオブジェクトを示すために使用されます。
removeWalletObject('instName', 'compName', 'compType', 'walletName', 'password', 'type', 'DN')
引数 | 定義 |
---|---|
instName |
アプリケーション・サーバー・インスタンスの名前を指定します。 |
compName |
コンポーネント・インスタンスの名前を指定します。 |
compType |
コンポーネントのタイプを指定します。有効な値は、「oid」、「ohs」および「webcache」です。 |
walletName |
ウォレット・ファイルの名前を指定します。 |
password |
ウォレットのパスワードを指定します。 |
type |
削除するキーストア・オブジェクトのタイプを指定します。有効な値は、「CertificateRequest」、「Certificate」、「TrustedCertificate」または「TrustedAll」です。 |
DN |
削除するウォレット・オブジェクトの識別名を指定します。 |
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
からすべての信頼できる証明書が削除されます。DNを指定する必要はありません。DNパラメータにはnullを渡します(None
と指定します)。
wls:/mydomain/serverConfig> removeWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedAll',None)
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
からDN cn=www.acme.com
で示される証明書署名リクエストが削除されます。
wls:/mydomain/serverConfig> removeWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'CertificateRequest','cn=www.acme.com')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
からDN cn=www.acme.com
で示される証明書が削除されます。
wls:/mydomain/serverConfig> removeWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'Certificate','cn=www.acme.com')
次のコマンドでは、アプリケーション・サーバー・インスタンスinst1
のOracle Internet Directoryインスタンスoid1
の、wallet1
からDN cn=www.acme.com
で示される、信頼できる証明書が削除されます。
wls:/mydomain/serverConfig> removeWalletObject('inst1', 'oid1', 'oid','wallet1', 'password', 'TrustedCertificate','cn=www.acme.com')
SSL構成では、WLSTのconfigureSSL
コマンドで使用する特定のプロパティ・ファイルを使用します。このファイルには、認証タイプ、暗号値、SSLバージョンなどの目的のSSL構成を指定するためのパラメータが含まれます。
異なるコンポーネントで複数のプロパティ・ファイルを管理する必要がある場合、わかりやすい名前を使用できます。たとえば、プロパティ・ファイルにohs-ssl-properties.prop
やovd-ssl-properties.prop
などの名前を付けることができます。
すべてのSSLプロパティ・ファイルは、一貫した構造を持ちます。
表6-4では、鍵の値の構造およびこれらのファイルの使用に関する詳細について説明しています。
表6-4 プロパティ・ファイルのパラメータ
鍵 | 必須? | Oracle HTTP Server、Oracle Internet DirectoryおよびOracle Web Cacheで許可される値 | Oracle Virtual Directoryで許可される値 | 用途 |
---|---|---|---|---|
SSLEnabled |
いいえ |
true false |
true false |
いずれかの値 |
Ciphers |
いいえ |
SSL_RSA_WITH_RC4_128_MD5 SSL_RSA_WITH_RC4_128_SHA SSL_RSA_WITH_3DES_EDE_CBC_SHA SSL_RSA_WITH_DES_CBC_SHA SSL_DH_anon_WITH_RC4_128_MD5 SSL_DH_anon_WITH_DES_CBC_SHA SSL_DH_anon_WITH_3DES_EDE_CBC_SHA TLS_RSA_WITH_AES_128_CBC_SHA TLS_RSA_WITH_AES_256_CBC_SHA |
JSSEプロバイダで許可される1つまたは複数の暗号JDK 1.5で許可される暗号の完全なリストは、次のガイドの付録Aを参照してください。 |
1つまたは複数のカンマ区切りの値 |
SSLVersions |
いいえ |
nzos_Version_3_0 nzos_Version_3_0_With_2_0_Hello nzos_Version_1_0 |
SSLv3 SSLv2Hello(単独では指定できません。少なくとも別のバージョンを1つ指定する必要があります) TLSv1 |
1つまたは複数のカンマ区切りの値 |
CertValidation |
いいえ |
なし crl |
該当なし |
いずれかの値 |
CertValidation |
いいえ |
file:// dir:// |
該当なし |
CRLファイルのパス、またはCRLファイルを含むディレクトリ |
KeyStore |
いいえ |
有効なウォレット名 |
有効なキーストア名 |
|
TrustStore |
いいえ |
該当なし |
有効なトラストストア名 |
|
AuthenticationType |
いいえ |
なし サーバー オプション Mutual |
なし サーバー オプション Mutual |
任意の1つの値 |
表6-5に、デフォルト値を示します。
表6-5 パラメータのデフォルト値
鍵 | Oracle HTTP Serverのデフォルト値 | Oracle Web Cacheのデフォルト値 | Oracle Internet Directoryのデフォルト値 | Oracle Virtual Directoryのデフォルト値 |
---|---|---|---|---|
SSLEnabled |
true |
true |
true |
true |
Ciphers |
null |
null |
null |
null |
SSLVersions |
null |
null |
null |
null |
CertValidation |
なし |
なし |
- |
- |
CertValidation |
null |
null |
- |
- |
KeyStore |
デフォルト |
デフォルト |
null |
keys.jks |
TrustStore |
- |
- |
- |
keys.jks |
Authentication |
サーバー |
サーバー |
なし |
サーバー |
注意:
|
いくつかの例を使用して、プロパティの使用方法について説明します。
例1: 基本的なプロパティ・ファイル
SSLEnabled=true AuthenticationType=None CertValidation=none
このプロパティ・ファイルでは、認証なしモードが指定され、暗号およびSSLバージョンにはSSL構成時のデフォルト値が使用されます。認証タイプがNone
であるため、キーストア・プロパティおよびトラストストア・プロパティは指定しません。他の認証タイプでは、キーストアを指定する必要があります。
例2: 基本的なプロパティ・ファイル
SSLEnabled= AuthenticationType=None CertValidation=none
このプロパティ・ファイルは前述の例と同様ですが、SSLEnabled
を値なしで明示的に指定している点が異なります。これは、キーを指定しないのと同じことです。どちらのケースも、デフォルト値が使用されます。
そのため、次の3つ設定は同じ意味になります。
設定:
SSLEnabled=true
ここでは、値true
を明示的に指定しています。
設定:
SSLEnabled=
ここでは値を指定していないので、SSLEnabled
のデフォルト値(true
)が使用されます。
SSLEnabled
がプロパティ・ファイルに存在しない
キーが存在しないので、デフォルト値(true
)が使用されます。
例3: OHSのバージョンを含むプロパティ・ファイル
SSLEnabled=true AuthenticationType=Mutual SSLVersion=nzos_Version_3_0 CertValidation=crl CertValidationPath=file:///tmp/file.crl KeyStore=ohs1
このプロパティ・ファイルの内容は、次のとおりです。
暗号のデフォルト値
キーストア
SSLバージョンv3
CRL検証が有効
相互認証モード
例4: Oracle Virtual Directoryの暗号を含むプロパティ・ファイル
AuthenticationType=Server Ciphers=SSL_RSA_WITH_RC4_128_MD5 SSLVersion=SSLv3,SSLv2Hello KeyStore=ovdidentity.jks TrustStore=ovdtrust.jks SSLEnabled=true
このプロパティ・ファイルの内容は、次のとおりです。
特定の暗号値
SSLバージョン
サーバー認証モード