ヘッダーをスキップ

Oracle Application Server 管理者ガイド
10gリリース3(10.1.3.2.0)

E05047-01
目次
目次
索引
索引

戻る 次へ

11 Walletと証明書の管理

この章では、Oracle Application Serverのリソースに対するセキュリティ資格証明を取得および管理する方法を説明します。セキュリティ管理者は、Oracle Wallet Managerおよびそのコマンドライン・ユーティリティorapkiを使用して、Oracleクライアントおよびサーバー上の公開鍵インフラストラクチャ(PKI)の管理を行います。これらのツールで作成した資格証明は、Oracle Database、Oracle Application ServerおよびOracle Identity Managementインフラストラクチャによる読込みが可能です。


注意

この章では、次のOracle Application Server製品を参照する情報は、リリース10.1.4、リリース2(10.1.2)またはそれ以前のソフトウェアにのみ該当します。

  • Oracle Identity Management

  • Oracle Internet Directory

 

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

11.1 Oracle Wallet Managerの使用

この項では、PKI証明書の管理に使用するグラフィカル・ユーザー・インタフェース・ツールであるOracle Wallet Managerについて説明します。この項の項目は次のとおりです。

11.1.1 Oracle Wallet Managerの概要

Oracle Wallet Managerは、Oracle Wallet内のセキュリティ資格証明を管理および編集するためのアプリケーションです。Walletはパスワードで保護されたコンテナで、強固な認証のためにSSLで必要な秘密鍵、証明書、信頼できる証明書など、認証および署名用の資格証明を格納します。Oracle Wallet Managerを使用して実行できるタスクは次のとおりです。

Oracle Wallet Managerの機能について、次の各項目で説明します。

11.1.1.1 Walletのパスワードの管理

Oracle Walletは、パスワードで保護されています。Oracle Wallet Managerには、強化されたWalletパスワード管理モジュールが含まれており、次のパスワード管理ポリシー・ガイドラインが強制されます。

11.1.1.2 強度の高いWallet暗号化

Oracle Wallet Managerには、X.509証明書に関連付けられる秘密鍵が格納され、Triple-DES暗号化が使用されます。

11.1.1.3 Microsoft WindowsレジストリへのWalletの格納

Oracle Wallet Managerでは、Microsoft Windowsシステム・レジストリのユーザー・プロファイル領域またはWindowsファイル管理システムに複数のOracle Walletを格納できます。Walletをレジストリ内に保存することの利点は次のとおりです。

11.1.1.3.1 サポートされるオプション

11.1.1.4 下位互換性

Oracle Wallet Managerには、リリース8.1.7のデータベースとの間の下位互換性があります。

11.1.1.5 サード・パーティのWalletのサポート

Oracle Wallet Managerでは、次のサード・パーティ製アプリケーションからのPKI資格証明を使用できます。

Microsoft Internet ExplorerおよびNetscapeからのブラウザのPKI資格証明ストアには、ユーザー証明書が格納されています。この証明書には、サブジェクトの公開鍵とID、および関連する信頼できる証明書が含まれています。このような資格証明を使用するには、サード・パーティ環境から資格証明をエクスポートしてPKCS #12形式で保存する必要があります。その後、この資格証明をOracle Wallet Managerで開くと、SSLで使用できるようになります。

関連項目

第11.1.5.1.3項「サード・パーティ製ツールによって作成された証明書のインポート」 

11.1.1.6 LDAPディレクトリのサポート

Oracle Wallet Managerでは、LDAP準拠ディレクトリとの間でWalletのアップロードや取得ができます。集中化されたLDAP準拠ディレクトリにWalletを格納すると、ユーザーは複数の場所やデバイスからWalletにアクセスできるので、一貫性があり信頼性の高いユーザー認証が行われるようになります。またWalletのライフ・サイクルを通して、集中的なWallet管理が可能になります。機能するWalletを誤って上書きするのを防ぐため、インストールされた証明書を含むWalletのみをアップロードできます。

Oracle Wallet Managerを使用してユーザーのWalletをアップロードまたはダウンロードするには、LDAPディレクトリ内のディレクトリ・ユーザー・エントリを事前に定義および構成しておく必要があります。ディレクトリにOracle8i以前のユーザーが含まれている場合、Walletのアップロードやダウンロードの機能を使用できるよう、初めて使用する際にユーザーが自動的にアップグレードされます。

Oracle Wallet Managerでは、単純なパスワードを使用してLDAPディレクトリに接続し、ユーザーWalletをダウンロードします。ただし、開いたWalletにSSL Oracle PKI証明書使用による証明書が含まれている場合、アップロードにはSSL接続が使用されます。SSL証明書がWallet内に存在しない場合は、パスワードによる認証が行われます。


注意

ディレクトリ・パスワードとWalletパスワードは独立しているので、異なっていてもかまいません。これらのパスワードは、一貫して別々に管理することをお薦めします。一方のパスワードからもう一方を類推できないようにしてください。 


関連項目

 

11.1.2 Oracle Wallet Managerの起動

Oracle Wallet Managerを起動する手順は次のとおりです。

11.1.3 完全なWalletの作成方法: プロセスの概要

Walletは、ピアの証明書の検証に必要なユーザー証明書および様々なトラスト・ポイントをセキュアに格納する必須のリポジトリです。

完全なWalletを作成するプロセスの概要を次に示します。

  1. Oracle Wallet Managerを使用して新しいWalletを作成します。

  2. 証明書リクエストを生成します。Oracle Wallet Managerを使用して新しいWalletを作成するときに、証明書リクエストの作成を求めるメッセージが表示されます。証明書リクエストの作成方法は、第11.1.5.1.1項「証明書リクエストの追加」を参照してください。

  3. 使用するCAに、証明書リクエストを送信します。証明書リクエストのテキストをコピーして電子メール・メッセージに貼り付けるか、証明書リクエストをファイルにエクスポートします。詳細は、第11.1.5.1.7項「ユーザー証明書リクエストのエクスポート」を参照してください。証明書リクエストはWalletの一部となります。証明書リクエストは、関連する証明書が削除されるまで存在している必要があることに注意してください。

  4. 署名付きユーザー証明書および関連する信頼できる証明書がCAから送信されたら、これらの証明書を次の順序でインポートします(PKCS #7形式のユーザー証明書および信頼できる証明書は同時にインポートできます)。

  5. (オプション)Walletの自動ログイン機能を設定します。詳細は、第11.1.4.14項「自動ログインの使用」を参照してください。

    これはパスワードを使用せずにPKIベースでサービスにアクセスするための機能ですが、通常は、ほとんどのWalletに必要です。データベース・サーバーおよびクライアントのWalletには必須です。起動の時点でWalletパスワードを受け取る製品の場合にのみ、これを省略できます。

ここに示したプロセスが完了すると、ユーザー証明書とそのトラスト・ポイントが含まれたWalletが完成します。

11.1.4 Walletの管理

この項では、新しいWalletの作成方法と、関連するWallet管理タスクの実行方法を説明します。この項の項目は次のとおりです。

11.1.4.1 Walletのパスワード作成に必要なガイドライン

Oracle Walletには、ユーザーを複数のデータベースについて認証する際に使用できるユーザー資格証明が含まれているので、強度の高いWalletパスワードを選択することが重要です。悪意のあるユーザーが、Walletパスワードを推測し、Wallet所有者がアクセス権を持つすべてのデータベースにアクセスすることもあり得ます。

パスワードは、数字または特殊文字を含む8文字以上のアルファベットで構成する必要があります。


注意

「admin0」、「oracle1」、「2135551212A」のような、ユーザーの名前、電話番号、政府発行のID番号に由来した、容易に推測可能なパスワードは選択しないことを強くお薦めします。これは、不正アクセス者が個人情報からユーザー・パスワードを推測するのを防ぐためです。また、毎月または3か月に1回程度、定期的にパスワードを変更することもセキュリティ上重要な習慣です。

パスワードを変更した場合、自動ログインWalletを再生成する必要があります。 


関連項目

 

11.1.4.2 新しいWalletの作成

Oracle Wallet Managerを使用すると、PKCS #12 Wallet(デフォルトの標準タイプのWallet)を作成できます。このWalletでは、資格証明はファイル・システム上のディレクトリに格納されます。また、PKCS #11 Walletも作成できます。これは、資格証明をサーバーのハードウェア・セキュリティ・モジュールに格納する、または秘密鍵をクライアントのトークンに格納するWalletです。次の各項では、Oracle Wallet Managerを使用してこれらのタイプのWalletを作成する方法を説明します。

11.1.4.2.1 標準Walletの作成

ハードウェア・セキュリティ・モジュール(PKCS #11のデバイス)がない場合は、ファイル・システム上のディレクトリに資格情報を格納する標準Walletを使用してください。

標準Walletを作成するには、次の作業を実行します。

  1. メニュー・バーから「ウォレット」→「新規」を選択します。「新規ウォレット」ダイアログ・ボックスが表示されます。

  2. 第11.1.4.1項「Walletのパスワード作成に必要なガイドライン」に従って、「ウォレット・パスワード」フィールドにパスワードを入力します。このパスワードは、ユーザーの資格証明が無許可で使用されるのを防ぎます。

  3. パスワードの確認」フィールドにパスワードを再入力します。

  4. ウォレット・タイプ」リストで、「標準」を選択します。

  5. 次に進むには「OK」をクリックします。入力したパスワードが必要なガイドラインに準拠していない場合は、次のメッセージが表示されます。

    Password must have a minimum length of eight characters,
    and contain alphabetic characters combined with numbers
    or special characters.
    Do you want to try again?
    
    
  6. 空のWalletが新しく作成されたことを示す警告が表示されます。証明書リクエストを追加するかどうかを尋ねられます。詳細は、第11.1.5.1.1項「証明書リクエストの追加」を参照してください。

    いいえ」を選択すると、Oracle Wallet Managerのメイン・ウィンドウに戻ります。作成したばかりの新しいWalletが左のウィンドウに表示されます。証明書のステータスは「」で、Walletはデフォルトの信頼できる証明書を表示します。

  7. ウォレット」→「システム・デフォルトに保存」を選択して、新しいWalletを保存します。

    システムのデフォルトにWalletを保存する権限がない場合は、別の場所にWalletを保存します。クライアントおよびサーバーのSSL構成で、この場所を使用します。

    Walletが正常に保存されたことを確認するメッセージが、ウィンドウの一番下に表示されます。

11.1.4.2.2 ハードウェア・セキュリティ・モジュールに資格証明を格納するWalletの作成

PKCS #11準拠のハードウェア・セキュリティ・モジュールに資格証明を格納するWalletを作成するには、次のタスクを実行します。

  1. メニュー・バーから「ウォレット」→「新規」を選択します。「新規ウォレット」ダイアログ・ボックスが表示されます。

  2. 第11.1.4.1項「Walletのパスワード作成に必要なガイドライン」に従って、「ウォレット・パスワード」フィールドにパスワードを入力します。

  3. パスワードの確認」フィールドにパスワードを再入力します。

  4. ウォレット・タイプ」リストで「PKCS11」を選択し、「OK」をクリックして次に進みます。新規PKCS11 Walletウィンドウが表示されます。

  5. ハードウェア・ベンダーの選択」リストで、ベンダー名を選択します。


    注意

    Oracle Wallet Managerの現行リリースでは、Oracle Walletとの相互運用が保証されているのはnCipherハードウェアのみです。 


  6. PKCS11ライブラリのファイル名」フィールドに、PKCS11ライブラリが格納されているディレクトリへのパスを入力します。または、「参照」をクリックして、ファイル・システム上でそのディレクトリを検索します。

  7. スマートカードのパスワード」を入力して、「OK」を選択します。

    スマートカードのパスワード(Walletのパスワードとは別)は、Walletの中に格納されます。

  8. 空のWalletが新しく作成されたことを示す警告が表示されます。証明書リクエストを追加するかどうかを尋ねられます。詳細は、第11.1.5.1.1項「証明書リクエストの追加」を参照してください。

    いいえ」を選択すると、Oracle Wallet Managerのメイン・ウィンドウに戻ります。作成したばかりの新しいWalletが左のウィンドウに表示されます。証明書のステータスは「」で、Walletはデフォルトの信頼できる証明書を表示します。

  9. ウォレット」→「システム・デフォルトに保存」を選択して、新しいWalletを保存します。

    システムのデフォルトにWalletを保存する権限がない場合は、別の場所にWalletを保存します。

    Walletが正常に保存されたことを確認するメッセージが、ウィンドウの一番下に表示されます。


    注意

    スマートカードのパスワードを変更した場合や、PKCS #11ライブラリを移動した場合は、Walletを開こうとするときにエラー・メッセージが表示されます。このとき、スマートカードの新しいパスワードまたはライブラリの新しいパスを入力するように要求されます。 


11.1.4.3 既存のWalletを開く

ファイル・システム・ディレクトリにすでに存在するWalletを開くには、次の手順に従います。

  1. メニュー・バーから「ウォレット」→「開く」を選択します。「ディレクトリの選択」ダイアログ・ボックスが表示されます。

  2. Walletが格納されたディレクトリの場所へナビゲートし、ディレクトリを選択します。

  3. OK」を選択します。「ウォレットを開く」ダイアログ・ボックスが表示されます。

  4. ウォレット・パスワード」フィールドに、Walletのパスワードを入力します。

  5. OK」を選択します。

    メイン・ウィンドウに戻り、Walletが開かれたことを示すメッセージがウィンドウの一番下に表示されます。Walletの証明書と信頼できる証明書が左のウィンドウに表示されます。

11.1.4.4 Walletを閉じる

現在選択されているディレクトリで開いているWalletを閉じるには、次の手順に従います。

ウォレット」→「閉じる」を選択します。

ウィンドウの一番下にメッセージが表示され、Walletが閉じたことを確認できます。

11.1.4.5 サード・パーティ環境へのOracle Walletのエクスポート

Oracle Wallet Managerでは、Walletをサード・パーティ環境にエクスポートできます。

Walletをサード・パーティ環境にエクスポートするには:
  1. Oracle Wallet Managerを使用して、Walletファイルを保存します。

  2. サード・パーティ製品ごとのインポート手順に従って、Oracle Wallet Managerで作成したオペレーティング・システムのPKCS #12 Walletファイルをインポートします(UNIXおよびWindowsプラットフォームではewallet.p12と呼ばれます)。


    注意

    • Oracle Wallet Managerは、1つのWalletに対する複数の証明書をサポートしていますが、現時点では、ブラウザでサポートされているのは一般に単一証明書のWalletのインポートのみです。これらのブラウザでは、単一鍵ペアを持つOracle Walletをエクスポートする必要があります。

    • Oracle Wallet Managerでは、Netscape Communicator 4.7.2以降、OpenSSL、およびMicrosoft Internet Explorer 5.0以降へのWalletのエクスポートのみをサポートします。

     

11.1.4.6 PKCS #12をサポートしていないツールへのOracle Walletのエクスポート

PKCS #12をサポートしていないツールにWalletを追加する場合は、テキストベースのPKIフォーマットにWalletをエクスポートします。個別のコンポーネントは表11-1に示す標準に従ってフォーマットされます。Wallet内では、SSL鍵を使用する証明書だけがWalletでエクスポートされます。

WalletをテキストベースのPKIフォーマットにエクスポートするには:
  1. 操作」→「ウォレットのエクスポート」を選択します。「Walletのエクスポート」ダイアログ・ボックスが表示されます。

  2. Walletのエクスポート先になるファイル・システム・ディレクトリを入力するか、「フォルダ」の下のディレクトリ構造にナビゲートします。

  3. Walletのエクスポート先ファイルの名前を入力します。

  4. OK」を選択して、メイン・ウィンドウに戻ります。

    表11-1    PKI Walletのエンコーディング規格 
    コンポーネント  エンコーディング規格 

    証明連鎖 

    X509v3 

    信頼できる証明書 

    X509v3 

    秘密鍵 

    PKCS #8 

11.1.4.7 LDAPディレクトリへのWalletのアップロード

指定されたWalletにSSL証明書がある場合、Oracle Wallet ManagerはSSLを使用してWalletをLDAPディレクトリにアップロードします。証明書がない場合、ユーザーはディレクトリ・パスワードの入力を求められます。

誤ってWalletが破壊されるのを防ぐために、対象となるWalletが現在開かれていて、少なくとも1つのユーザー証明書が含まれていないかぎり、Oracle Wallet Managerはアップロード・オプションの実行をユーザーに許可しません。

Walletをアップロードするには:
  1. ウォレット」→「ディレクトリ・サービス内へのアップロード」を選択します。現在開かれているWalletが保存されていない場合は、次のメッセージを示すダイアログ・ボックスが表示されます。

    アップロードを実行する前にWalletを保存してください。

    はい」を選択して、操作を続行します。

  2. Wallet証明書でSSL鍵使用の有無が確認されます。WalletでSSL鍵を使用した証明書が見つかったかどうかによって、次のような結果になります。

    • 少なくとも1つの証明書でSSL鍵が使用されている場合: LDAPディレクトリ・サーバーのホスト名とポート情報の入力を求められたら、これらの情報を入力して「OK」をクリックします。Oracle Wallet Managerによって、SSLを使用するLDAPディレクトリ・サーバーへの接続が試行されます。Walletが正常にアップロードされたかどうかを通知するメッセージが表示されます。

    • SSL鍵を使用した証明書が存在しない場合: ユーザーの識別名(DN)、LDAPサーバーのホスト名とポート情報の入力を求められたら、これらの情報を入力して「OK」をクリックします。Oracle Wallet Managerによって、単純なパスワード認証モードを使用してLDAPディレクトリ・サーバーへの接続が試行されます。この際、Walletのパスワードはディレクトリ・パスワードと同じであるものと想定されます。

      接続に失敗した場合は、指定されているDNのディレクトリ・パスワードの入力を求めるダイアログ・ボックスが表示されます。Oracle Wallet Managerによって、このパスワードを使用したLDAPディレクトリ・サーバーへの接続が試行され、接続に失敗した場合には警告メッセージが表示されます。接続に成功すると、正常にアップロードされたことを示すメッセージがウィンドウの一番下に表示されます。

11.1.4.8 LDAPディレクトリからのWalletのダウンロード

WalletはLDAPディレクトリからダウンロードされると、作業メモリーに入れられます。次の項で説明するいずれかの保存オプションを使用して明示的に保存しないと、ファイル・システムには保存されません。

関連項目

 

LDAPディレクトリからWalletをダウンロードするには:
  1. ウォレット」→「ディレクトリ・サービスからのダウンロード」を選択します。

  2. ユーザーの識別名(DN)、LDAPディレクトリ・パスワード、ホスト名およびポート情報の入力を求めるダイアログ・ボックスが表示されます。Oracle Wallet Managerでは、単純なパスワード認証を使用したLDAPディレクトリへの接続が試行されます。

    ダウンロード操作が成功したかどうかによって、次のような結果になります。

    • ダウンロード操作に失敗した場合: ユーザーのDNとLDAPサーバーのホスト名およびポート情報を正しく入力したことを確認してください。

    • ダウンロードに成功した場合:OK」を選択し、ダウンロードしたWalletを開きます。Oracle Wallet Managerにより、ディレクトリ・パスワードを使用してWalletを開く試みがなされます。ディレクトリ・パスワードを使用して開くことができない場合は、Walletのパスワードを入力するためのダイアログ・ボックスが表示されます。

      Walletのパスワードを使用してもWalletを開くことができない場合は、入力したパスワードが正しいことを確認してください。成功すると、Walletが正常にダウンロードされたことを示すメッセージがウィンドウの一番下に表示されます。

11.1.4.9 変更の保存

現在開いているWalletに変更を保存するには、次の手順に従います。

ウォレット」→「保存」を選択します。

選択されたディレクトリ内のWalletに変更が正常に保存されたことを確認するメッセージが、ウィンドウの一番下に表示されます。

11.1.4.10 開いているWalletの新しい場所への保存

Walletを新しい場所に保存するには、「別名保存」メニュー・オプションを使用します。

  1. ウォレット」→「別名保存」を選択します。「ディレクトリの選択」ダイアログ・ボックスが表示されます。

  2. Walletを保存するディレクトリの場所を選択します。

  3. OK」を選択します。

    選択した場所にWalletがすでに存在する場合は、次のメッセージが表示されます。

    A wallet already exists in the selected path. Do you want to overwrite it?
    
    

    既存のWalletを上書きするには、「はい」を選択します。Walletを別の場所に保存するには、「いいえ」を選択します。

    選択されたディレクトリの場所にWalletが正常に保存されたことを確認するメッセージが、ウィンドウの一番下に表示されます。

11.1.4.11 システムのデフォルトへの保存

Walletをデフォルトのディレクトリの場所に保存するには、「システム・デフォルトに保存」メニュー・オプションを使用します。

ウォレット」→「システム・デフォルトに保存」を選択します。

システムのデフォルトのWalletの場所に正常に保存されたことを確認するメッセージが、ウィンドウの一番下に表示されます。UNIXおよびWindowsプラットフォームのデフォルト・ディレクトリは次のとおりです。

11.1.4.12 Walletの削除

現在開いているWalletを削除するには、次の手順に従います。

  1. ウォレット」→「削除」を選択します。「ウォレットの削除」ダイアログ・ボックスが表示されます。

  2. 表示されたWalletの場所を確かめて、削除するWalletであることを確認します。

  3. Walletパスワードを入力します。

  4. OK」を選択します。Walletが正常に削除されたことを示すダイアログ・パネルが表示されます。


    注意

    アプリケーション・メモリー内の開いているWalletは、アプリケーションが終了するまでメモリー内に残ります。このため、現在使用中のWalletを削除しても、システム・オペレーションにただちに影響するわけではありません。 


11.1.4.13 パスワードの変更

パスワードの変更はただちに有効になります。Walletは、新たに暗号化されたパスワードとともに、現在選択されているディレクトリに保存されます。


注意

自動ログインを有効にしてWalletを使用している場合は、パスワードの変更後、自動ログインを再生成する必要があります。詳細は、第11.1.4.14項「自動ログインの使用」を参照してください。 


現在開いているWalletのパスワードを変更するには、次の手順に従います。

  1. ウォレット」→「パスワードの変更」を選択します。「ウォレット・パスワードの変更」ダイアログ・ボックスが表示されます。

  2. 既存のWalletパスワードを入力します。

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

  4. 新しいパスワードを再入力します。

  5. OK」を選択します。

パスワードが正常に変更されたことを確認するメッセージが、ウィンドウの一番下に表示されます。

関連項目

 

11.1.4.14 自動ログインの使用

Oracle Wallet Managerの自動ログイン機能では、Walletのあいまいなコピーを作成し、そのWalletの自動ログイン機能が無効になるまで、パスワードなしでサービスにPKIアクセスすることを可能にします。ファイル・システム権限では、Walletの自動ログインに必要なセキュリティが提供されます。

複数のOracleデータベースにシングル・サインオンでアクセスする場合は、自動ログインを有効化する必要があります(デフォルトでは無効)。これらはシングル・サインオン機能を持つため、SSO Walletと呼ばれることもあります。

11.1.4.14.1 自動ログインの有効化

自動ログインを有効化するには、次の手順に従います。

  1. メニュー・バーから「ウォレット」を選択します。

  2. 自動ログイン」を選択します。自動ログインが有効化されたことを示すメッセージが、ウィンドウの一番下に表示されます。

11.1.4.14.2 自動ログインの無効化

自動ログインを無効化するには、次の手順に従います。

  1. メニュー・バーから「ウォレット」を選択します。

  2. 自動ログイン」の選択を解除します。自動ログインが無効化されたことを示すメッセージが、ウィンドウの一番下に表示されます。

11.1.5 証明書の管理

Oracle Wallet Managerでは、ユーザー証明書と信頼できる証明書の2種類の証明書が使用されます。証明書はすべて、ネットワークIDを対応する公開鍵にバインドする署名付きデータ構造です。ユーザー証明書は、公開鍵/秘密鍵の交換において、サーバー・アプリケーションなどエンド・エンティティのIDを確認するために使用されます。これに対し、信頼できる証明書は、ユーザーが信頼する任意の証明書です。たとえば、CAが発行するユーザー証明書を確認するためにCAで提供される証明書などです。

この項では、この2種類の証明書の管理方法を説明します。この項の項目は次のとおりです。

11.1.5.1 ユーザー証明書の管理

ユーザー証明書はエンド・ユーザー、スマート・カード、またはWebサーバーなどのアプリケーションで使用されます。サーバー証明書は、ユーザー証明書の1つです。たとえば、CAでWebサーバーの証明書が発行され、件名のフィールドにその識別名(DN)が記述されていれば、そのWebサーバーが証明書の所有者、つまりこのユーザー証明書のユーザーとなります。

ユーザー証明書の管理には、次のようなタスクが含まれます。

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

Oracle Wallet Managerを使用して、複数の証明書リクエストを追加できます。複数のリクエストを追加すると、Oracle Wallet Managerでは自動的に最初のリクエストの内容を、それに続く各リクエストのダイアログ・ボックスに取り込みます。これは後から編集できます。

実際の証明書リクエストは、Walletの一部になります。証明書リクエストを再利用して、新しい証明書を取得できます。ただし、既存の証明書リクエストの編集はできません。Walletには、正しく入力された証明書だけを格納してください。

PKCS #10証明書リクエストを作成するには、次の手順に従います。

  1. 操作」→「証明書リクエストの追加」を選択します。「証明書リクエストの追加」ダイアログ・ボックスが表示されます。

  2. 表11-2に示す情報を入力します。

  3. OK」を選択します。証明書リクエストが正常に作成されたことを示すメッセージが表示されます。このダイアログ・パネルの本文から証明書リクエストのテキストをコピーし、電子メール・メッセージに貼り付けて認証局に送信するか、または証明書リクエストをファイルにエクスポートします。

  4. OK」を選択して、Oracle Wallet Managerのメイン・ウィンドウに戻ります。証明書のステータスが「リクエスト済」に変化します。

    関連項目

    第11.1.5.1.7項「ユーザー証明書リクエストのエクスポート」 

    表11-2    証明書リクエストのフィールドと説明 
    フィールド名  説明 

    共通名 

    必須。ユーザーまたはサービスの識別名を入力します。ユーザー名は、名前/姓の書式で入力します。

    例: Eileen.Sanger 

    組織単位 

    オプション。識別対象の組織単位名を入力します。例: Finance 

    組織 

    オプション。識別対象の組織名を入力します。例: XYZ Corp. 

    市町村 

    オプション。識別対象が所在する市区町村名を入力します。 

    都道府県 

    オプション。識別対象が所在する都道府県名を略さずに入力します。

    認証局によっては略称を受け入れない場合があるので、フル・ネームで入力してください。 

    国 

    必須。国の略称リストを表示します。組織の所在地の国を選択します。 

    鍵のサイズ 

    必須。公開鍵と秘密鍵のペアを作成する際に使用する鍵サイズのリストを表示します。鍵サイズの評価には、表11-3を参照してください。 

    詳細 

    オプション。「詳細」を選択すると、「証明書リクエストの詳細」ダイアログ・パネルが表示されます。このフィールドを使用して、識別名(DN)を編集またはカスタマイズします。たとえば、都道府県や市区町村のフル・ネームを編集できます。 

表11-3に、使用できる鍵サイズおよび各サイズで提供されるセキュリティを示します。通常、CAでは1024または2048の鍵サイズが使用されます。証明書の所有者が長期間鍵を保存する場合は、3072または4096ビット鍵を選択します。

表11-3    使用できる鍵サイズ 
鍵のサイズ  関連するセキュリティ・レベル 

512または768 

セキュアであるとは見なされません。 

1024または2048 

セキュアです。 

3072または4096 

非常にセキュアです。 

11.1.5.1.2 Walletへのユーザー証明書のインポート

認証局から証明書が交付されるとき、証明書は電子メールでテキスト(BASE64)形式で送信されることも、バイナリ・ファイルとして添付されることもあります。


注意

認証局から送信される証明書には、PKCS #7証明連鎖の場合と独立したX.509証明書の場合があります。Oracle Wallet Managerではこれら両方のタイプをインポートできます。

PKCS #7証明連鎖とは、複数の証明書の集合です。これには、ユーザー証明書と、サポートする信頼できるCAおよび下位CAの証明書がすべて含まれます。

対照的に、X.509証明書ファイルに格納されるのは1つの独立した証明書だけで、サポートする証明連鎖は含まれません。

ただし、このような独立した証明書をインポートするには、署名者の証明書が、信頼できる証明書としてWallet内に存在している必要があります。 


認証局の電子メールのテキストからユーザー証明書をインポートするには、テキスト(BASE64)で記述されている証明書を電子メール・メッセージからコピーします。Begin CertificateおよびEnd Certificateの行を取り込みます。

  1. 操作」→「ユーザー証明書のインポート」を選択します。「証明書のインポート」ダイアログ・ボックスが表示されます。

  2. 証明書の貼付け」を選択して「OK」をクリックします。次のメッセージを示すもう1つの「証明書のインポート」ダイアログ・ボックスが表示されます。

    Please provide a base64 format certificate and paste it below.
    
    
  3. 証明書をダイアログ・ボックスにコピーして、「OK」を選択します。

    1. 受け取った証明書がPKCS #7形式の場合、これがインストールされ、PKCS #7データに関連する他のすべての証明書が「信頼できる証明書」リストに表示されます。

    2. 受け取った証明書がPKCS #7形式でなく、そのCAの証明書が「信頼できる証明書」リストに含まれていない場合は、さらに操作が必要です。Oracle Wallet Managerによって、証明書を発行したCAの証明書をインポートするように求められます。このCA証明書は「信頼できる証明書」リストに表示されます(CA証明書がすでに「信頼できる証明書」リストにある場合は、ユーザーの証明書は追加手順なしでインポートされます)。

    aまたはbのいずれかを完了すると、証明書が正常にインストールされたことを確認するメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Managerのメイン・ウィンドウが再び表示され、左のパネルのサブツリーにある対応するエントリのステータスが「待機中」に変化します。


    注意

    標準のX.509証明書には、次に示す開始と終了のテキストが含まれています。

    -----BEGIN CERTIFICATE-----
    -----END CERTIFICATE-----
    

    前述したように、一般的なPKCS #7の証明書には、この他に次に示す開始と終了のテキストがあります。

    -----BEGIN PKCS7-----
    -----END PKCS7-----
    

    標準の[Ctrl] + [C]を使用してコピーし(すべてのダッシュを含む)、[Ctrl] + [V]を使用して貼り付けます。 


証明書をファイルからインポートするには:

ファイル内のユーザー証明書は、テキスト(BASE64)とバイナリ(der)のどちらの形式でもかまいません。

  1. 操作」→「ユーザー証明書のインポート」を選択します。「証明書のインポート」ダイアログ・ボックスが表示されます。

  2. 証明書を含むファイルを選択」を選択して、「OK」をクリックします。もう1つの「証明書のインポート」ダイアログ・ボックスが表示されます。

  3. 証明書を含むファイルの場所のパスまたはフォルダ名を入力します。

  4. 証明書ファイルの名前(たとえばcert.txtcert.der)を選択します。

  5. OK」を選択します。

    1. 受け取った証明書がPKCS #7形式の場合、これがインストールされ、PKCS #7データに関連する他のすべての証明書が「信頼できる証明書」リストに表示されます。

    2. 受け取った証明書がPKCS #7形式でなく、そのCAの証明書が「信頼できる証明書」リストに含まれていない場合は、さらに操作が必要です。Oracle Wallet Managerによって、証明書を発行したCAの証明書をインポートするように求められます。このCA証明書は「信頼できる証明書」リストに表示されます(CA証明書がすでに「信頼できる証明書」リストにある場合は、ユーザーの証明書は追加手順なしでインポートされます)。

    aまたはbのいずれかを完了すると、証明書が正常にインストールされたことを確認するメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Managerのメイン・パネルに戻ります。左のパネルのサブツリーにある対応するエントリが「待機中」に変化します。

11.1.5.1.3 サード・パーティ製ツールによって作成された証明書のインポート

第三者の証明書とは、Oracle Wallet Managerを使用して生成されたのではない証明書リクエストから作成された証明書を指します。このような第三者の証明書には、ユーザー証明書以外も含まれるので、Oracleの観点では実際にはWalletです。第三者の証明書には、その証明書の秘密鍵も含まれています。さらに、信頼できる証明書の連鎖が含まれており、証明書を作成したのが信頼できる機関であることが立証されます。

PKCS #12形式でインポートすると、Oracle Wallet ManagerでこのようなWalletを利用できるようになります。この形式には、前述の3つの要素(ユーザー証明書、秘密鍵、信頼できる証明書)がすべて含まれます。サポートされるPKCS #12形式の証明書は次のとおりです。

Oracle Wallet ManagerはPKCS #12規格に準拠しています。したがって、PKCS #12準拠のツールでエクスポートされた証明書は、すべてOracle Wallet Managerで使用できます。

このような第三者の証明書を既存のOracle Walletに格納することはできません。秘密鍵や信頼できる機関の連鎖が欠如している可能性があるためです。したがって、このような証明書に対しては、それぞれ独立したPKCS #12ファイルとして、つまり個別のWalletとしてエクスポートおよび取出しを実行します。

サード・パーティ製ツールで作成された証明書をインポートするには、初めに、使用しているアプリケーションから証明書をエクスポートします。次に、Oracle Wallet Managerで読取り可能なWalletファイルとして証明書を保存します。

サード・パーティ製ツールで作成された証明書をインポートするには:
  1. 使用する製品に応じた手順に従って、証明書をエクスポートします。秘密鍵もエクスポートする場合は、エクスポートする製品で示されているアクションを実行してください。また、エクスポートされた証明書を保護するための新しいパスワードも指定してください。関係するトラスト・ポイントもすべてエクスポートされるようにしてください(PKCS #12規格では、ブラウザが署名者自身の証明書以外の信頼できる証明書を必ずしもエクスポートするわけではありません。ピアを認証するには、その他にも証明書が必要な場合があります。Oracle Wallet Managerを使用して、信頼できる証明書をインポートできます)。

    作成されたファイル(証明書、秘密鍵およびトラスト・ポイントを含む)は新しいWalletであり、これによって第三者の証明書を利用できるようになります。

  2. エクスポートされた証明書に、オペレーティング・システムに応じた適切なファイル名を付けて、Oracle Wallet Managerが使用するディレクトリに保存します。

    UNIXおよびWindowsの場合、ファイル名はewallet.p12です。

    その他のオペレーティング・システムについては、該当するオペレーティング・システムのOracleドキュメントを参照してください。

  3. Oracle Wallet Managerを使用して、ewallet.p12ファイルが保存されているディレクトリにナビゲートしてファイルを開き、格納されているPKI資格証明を使用します。


    注意

    関係するアプリケーションの起動時など、証明書が必要とされるときに、パスワードが要求されます。このようなアクセスを自動化するには、第11.1.4.14項「自動ログインの使用」を参照してください。

    ただし、証明書の秘密鍵が、独立したハードウェア・セキュリティ・モジュール内に保持されている場合は、その証明書をインポートすることはできません。 


    信頼できる証明書を別にエクスポートした場合は、インポートした第三者のユーザー証明書が含まれているewallet.p12ファイルを開く前に、信頼できる証明書をインポートしてください。

    関連項目

    第11.1.5.2.1項「信頼できる証明書のインポート」 

11.1.5.1.4 Walletからのユーザー証明書の削除

Walletからユーザー証明書を削除するには、次の手順に従います。

  1. 左のパネルのサブツリーで、削除する証明書を選択します。

  2. 操作」→「ユーザー証明書の削除」を選択します。Walletからユーザー証明書を削除してよいかどうかを確認するダイアログ・パネルが表示されます。

  3. はい」を選択して、Oracle Wallet Managerのメイン・パネルに戻ります。証明書のステータスが、「リクエスト済」になります。

11.1.5.1.5 証明書リクエストの削除

関連するリクエストを削除する前に、証明書を削除する必要があります。

証明書リクエストを削除するには、次の手順に従います。

  1. 左のパネルのサブツリーで、削除する証明書リクエストを選択します。

  2. 操作」→「証明書リクエストの削除」を選択します。

  3. はい」をクリックします。証明書のステータスが、「」になります。

11.1.5.1.6 ユーザー証明書のエクスポート

証明書をファイル・システム・ディレクトリに保存するには、次の手順に従って証明書をエクスポートします。

  1. 左のパネルのサブツリーで、エクスポートする証明書を選択します。

  2. メニュー・バーから「操作」→「ユーザー証明書のエクスポート」を選択します。「証明書のエクスポート」ダイアログ・ボックスが表示されます。

  3. 証明書を保存するファイル・システム・ディレクトリの場所を入力するか、「フォルダ」の下のディレクトリ構造にナビゲートします。

  4. 証明書のファイル名を「ファイル名」フィールドに入力します。

  5. OK」を選択します。証明書がファイルへ正常にエクスポートされたことを確認するメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Managerのメイン・ウィンドウに戻ります。

    関連項目

    Walletのエクスポートの詳細は、第11.1.4.5項「サード・パーティ環境へのOracle Walletのエクスポート」を参照してください。Oracle Wallet Managerでは複数の証明書を1つのWalletに格納する機能をサポートしていますが、現時点では、ブラウザでサポートされているのは一般に証明書が1つだけのWalletのみです。これらのブラウザでは、単一鍵ペアを持つOracle Walletをエクスポートする必要があります。 

11.1.5.1.7 ユーザー証明書リクエストのエクスポート

証明書リクエストをファイル・システム・ディレクトリに保存するには、次の手順に従って証明書リクエストをエクスポートします。

  1. 左のパネルのサブツリーで、エクスポートする証明書リクエストを選択します。

  2. 操作」→「証明書リクエストのエクスポート」を選択します。「証明書リクエストのエクスポート」ダイアログ・ボックスが表示されます。

  3. 証明書リクエストを保存するファイル・システム・ディレクトリの場所を入力するか、「フォルダ」の下のディレクトリ構造にナビゲートします。

  4. 証明書リクエストのファイル名を「ファイル名」フィールドに入力します。

  5. OK」を選択します。証明書リクエストがファイルへ正常にエクスポートされたことを確認するメッセージが、ウィンドウの一番下に表示されます。Oracle Wallet Managerのメイン・ウィンドウに戻ります。

11.1.5.2 信頼できる証明書の管理

信頼できる証明書の管理には、次のようなタスクが含まれます。

11.1.5.2.1 信頼できる証明書のインポート

信頼できる証明書をWalletにインポートするには、認証局から受信した電子メールから信頼できる証明書を貼り付ける方法と、信頼できる証明書をファイルからインポートする方法の2つがあります。

Oracle Wallet Managerでは、Walletを新規作成すると、信頼できる証明書がVeriSign、RSA、EntrustおよびGTE CyberTrustから自動的にインストールされます。

テキストのみ(BASE64)の信頼できる証明書をコピーおよび貼り付けるには:

ユーザー証明書が含まれている、受信した電子メール・メッセージの本文から、信頼できる証明書をコピーします。Begin CertificateおよびEnd Certificateの行を取り込みます。

  1. メニュー・バーから「操作」→「信頼できる証明書のインポート」を選択します。「信頼できる証明書のインポート」ダイアログ・パネルが表示されます。

  2. 証明書の貼付け」を選択して「OK」をクリックします。次のメッセージを示すもう1つの「信頼できる証明書のインポート」ダイアログ・パネルが表示されます。

    Please provide a base64 format certificate and paste it below.
    
    
  3. 証明書をウィンドウに貼り付け、「OK」をクリックします。信頼できる証明書が正常にインストールされたことを示すメッセージが、ウィンドウの一番下に表示されます。

  4. OK」を選択します。Oracle Wallet Managerのメイン・パネルに戻り、「信頼できる証明書」ツリーの一番下に、インストールした信頼できる証明書が表示されます。


    証明書をコピーおよび貼り付けるためのキーボード・ショートカット

    コピーするには[Ctrl] + [C]、貼り付けるには[Ctrl] + [V]を使用します。 


信頼できる証明書を含むファイルをインポートするには:

信頼できる証明書が含まれているファイルは、テキスト(BASE64)とバイナリ(der)のいずれかの形式で保存されています。

  1. 操作」→「信頼できる証明書のインポート」を選択します。「信頼できる証明書のインポート」ダイアログ・パネルが表示されます。

  2. 信頼できる証明書がある場所のパスまたはフォルダ名を入力します。

  3. 信頼できる証明書のファイル名(たとえばcert.txt)を選択します。

  4. OK」を選択します。信頼できる証明書がWalletへ正常にインポートされたことを示すメッセージが、ウィンドウの一番下に表示されます。

  5. OK」を選択してダイアログ・パネルを終了します。Oracle Wallet Managerのメイン・パネルに戻り、「信頼できる証明書」ツリーの一番下に、インストールした信頼できる証明書が表示されます。

11.1.5.2.2 信頼できる証明書の削除

ユーザー証明書の署名に使用した信頼できる証明書は、そのユーザー証明書がまだWallet内に残っている間は削除できません。このような信頼できる証明書を削除するには、まず署名した証明書を削除する必要があります。また、Walletから信頼できる証明書が削除された後は、証明書を確認できません。

信頼できる証明書をWalletから削除するには、次の手順に従います。

  1. 「信頼できる証明書」ツリーに表示されている信頼できる証明書を選択します。

  2. メニュー・バーから「操作」→「信頼できる証明書の削除」を選択します。

    署名に使用された信頼できる証明書を削除すると、使用しているユーザー証明書を受信者が検査できなくなることを警告するダイアログ・パネルが表示されます。

  3. はい」を選択します。「信頼できる証明書」ツリーから、選択された信頼できる証明書が削除されます。

11.1.5.2.3 信頼できる証明書のエクスポート

信頼できる証明書をファイル・システムの別の場所にエクスポートするには、次の手順に従います。

  1. 左のパネルのサブツリーで、エクスポートする信頼できる証明書を選択します。

  2. 操作」→「信頼できる証明書のエクスポート」を選択します。「信頼できる証明書のエクスポート」ダイアログ・ボックスが表示されます。

  3. 信頼できる証明書の保存先になるファイル・システム・ディレクトリを入力するか、「フォルダ」の下のディレクトリ構造にナビゲートします。

  4. 信頼できる証明書を保存するファイル名を入力します。

  5. OK」を選択します。Oracle Wallet Managerのメイン・ウィンドウに戻ります。

11.1.5.2.4 すべての信頼できる証明書のエクスポート

信頼できる証明書すべてをファイル・システムの別の場所にエクスポートするには、次の手順に従います。

  1. 操作」→「すべての信頼できる証明書のエクスポート」を選択します。「信頼できる証明書のエクスポート」ダイアログ・ボックスが表示されます。

  2. 信頼できる証明書の保存先になるファイル・システム・ディレクトリを入力するか、「フォルダ」の下のディレクトリ構造にナビゲートします。

  3. 信頼できる証明書を保存するファイル名を入力します。

  4. OK」を選択します。Oracle Wallet Managerのメイン・ウィンドウに戻ります。

11.2 orapkiユーティリティによる証明書検証とCRL管理の実行

orapkiユーティリティは、証明書失効リスト(CRL)の管理、Oracle Walletの作成と管理、およびテスト用の署名付き証明書の作成を行うためのコマンドライン・ツールです。

次の各項目で、このツールの概要と使用方法を説明します。

11.2.1 orapkiの概要

orapkiは、公開鍵インフラストラクチャ(PKI)の要素(Walletや証明書失効リストなど)の管理をコマンドラインで行うためのユーティリティです。このユーティリティで実行するタスクを、スクリプトの中に組み込むことができます。このユーティリティを利用すると、PKIの保守に関する定常的なタスクの多くを自動化できます。

このコマンドライン・ユーティリティを使用して実行できるタスクは次のとおりです。

11.2.1.1 orapkiユーティリティの構文

orapkiコマンドライン・ユーティリティの基本的な構文は次のとおりです。

orapki module command -parameter value

このコマンドのmoduleは、wallet(Oracle Wallet)、crl(証明書失効リスト)、cert(PKIデジタル証明書)のいずれかです。使用できるコマンドは、使用するmoduleによって異なります。たとえば、walletの操作を行う場合は、addコマンドを使用して証明書や鍵をWalletに追加できます。次の例では、/private/lhale/cert.txtにあるユーザー証明書を、ORACLE_HOME/wallet/ewallet.p12にあるWalletに追加します。

orapki wallet add -wallet ORACLE_HOME/wallet/ewallet.p12
-user_cert -cert /private/lhale/cert.txt

11.2.2 orapkiのヘルプの表示

特定のモードで使用可能なorapkiのコマンドをすべて表示するには、コマンドラインで次のように入力します。

orapki mode help

たとえば、証明書失効リスト(CRL)の管理に使用できるコマンドをすべて表示するには、コマンドラインで次のように入力します。

orapki CRL help


注意

-summary-complete-walletの各コマンド・オプションは省略可能です。これらのコマンド・オプションを指定しなくても、コマンドは実行されます。 


11.2.3 テスト用の署名付き証明書の作成

このコマンドライン・ユーティリティを利用すると、テスト用の署名付き証明書を簡単に作成できます。署名付き証明書の作成および表示を行うための構文を次に示します。

テスト用の署名付き証明書を作成するには:
orapki cert create [-wallet wallet_location] -request
 certificate_request_location
-cert certificate_location -validity number_of_days [-summary]

このコマンドを実行すると、証明書リクエストから署名付き証明書が作成されます。-walletパラメータでは、証明書リクエストに署名するために使用されるユーザー証明書および秘密鍵を含むWalletを指定します。-validityパラメータでは、この証明書の有効期間を、実行日からの日数として指定します。このコマンドでは、証明書と証明書リクエストの指定は必須です。

証明書を表示するには:
orapki cert display -cert certificate_location [-summary | -complete]

このコマンドでは、orapkiで作成したテスト証明書を表示できます。-summary-completeのいずれかを選択して、表示する詳細のレベルを指定できます。-summaryを選択すると、証明書とその有効期限が表示されます。-completeを選択すると、シリアル番号や公開鍵などの、その他の証明書情報も表示されます。

11.2.4 orapkiユーティリティによるOracle Walletの管理

次の各項では、orapkiコマンドライン・ユーティリティを使用してOracle Walletを作成および管理するための構文を説明します。orapkiユーティリティのwalletモジュールのコマンドをスクリプトで使用すると、Wallet作成プロセスを自動化できます。

11.2.4.1 orapkiによるOracle Walletの作成と表示

Oracle Walletを作成するには:
orapki wallet create -wallet wallet_location

このコマンドを実行すると、Walletのパスワードの入力と再入力を要求されます。Walletは、-walletで指定した場所に作成されます。

Oracle Walletを作成して自動ログインを有効化するには:
orapki wallet create -wallet wallet_location -auto_login

このコマンドを実行すると、自動ログイン可能なWalletが作成されます。既存のWalletに対して自動ログインを有効化することもできます。wallet_locationにすでにWalletが含まれる場合は、そのWalletの自動ログインが有効化されます。自動ログイン機能を無効にするには、Oracle Wallet Managerを使用します。詳細は、第11.1.4.14項「自動ログインの使用」を参照してください。


注意

自動ログインが有効なWalletに対しては、addなどの、Walletを変更する操作を行う場合にのみパスワードの入力が要求されます。 


Oracle Walletを表示するには:
orapki wallet display -wallet wallet_location

このコマンドを実行すると、Walletに含まれている証明書リクエスト、ユーザー証明書および信頼できる証明書が表示されます。

11.2.4.2 orapkiによるOracle Walletへの証明書および証明書リクエストの追加

証明書リクエストをOracle Walletに追加するには:
orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048

このコマンドを実行すると、指定した識別名(user_dn)のユーザーのWalletに証明書リクエストが追加されます。リクエストする証明書の鍵サイズ(512ビット、1024ビットまたは2048ビット)も指定します。リクエストの署名およびエクスポート・オプションによるリクエストのエクスポートについては、第11.2.4.3項「orapkiによるOracle Walletからの証明書および証明書リクエストのエクスポート」を参照してください。

信頼できる証明書をOracle Walletに追加するには:
orapki wallet add -wallet wallet_location -trusted_cert -cert
certificate_location

このコマンドを実行すると、指定した場所(-cert certificate_location)にある信頼できる証明書がWalletに追加されます。ユーザー証明書を追加する前に、ユーザー証明書の証明連鎖内の信頼できる証明書をすべて追加する必要があります。そうしなければ、ユーザー証明書を追加するコマンドは失敗します。

ルート証明書をOracle Walletに追加するには:
orapki wallet add -wallet wallet_location -dn
certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days

このコマンドを実行すると、新しい自己署名(ルート)証明書が作成されてWalletに追加されます。-validityパラメータ(必須)では、この証明書の有効期間を、実行日からの日数として指定します。このルート証明書の鍵サイズ(-keySize)には、512ビット、1024ビット、2048ビットのいずれかを指定できます。

ユーザー証明書をOracle Walletに追加するには:
orapki wallet add -wallet wallet_location -user_cert -cert certificate_location

このコマンドを実行すると、-certパラメータで指定した場所にあるユーザー証明書が、wallet_locationにあるWalletに追加されます。Walletにユーザー証明書を追加する前に、証明連鎖を構成するすべての信頼できる証明書を追加する必要があります。ユーザー証明書を追加する前に、Walletにすべての信頼できる証明書がインストールされていない場合、ユーザー証明書の追加に失敗します。

11.2.4.3 orapkiによるOracle Walletからの証明書および証明書リクエストのエクスポート

Oracle Walletから証明書をエクスポートするには:
orapki wallet export -wallet wallet_location -dn
certificate_dn -cert certificate_filename

このコマンドを実行すると、サブジェクトの識別名(-dn)を持つ証明書が、Walletから、-certで指定されたファイルにエクスポートされます。

Oracle Walletから証明書リクエストをエクスポートするには:
orapki wallet export -wallet wallet_location -dn
certificate_request_dn -request certificate_request_filename

このコマンドを実行すると、サブジェクトの識別名(-dn)を持つ証明書リクエストが、Walletから、-requestで指定したファイルにエクスポートされます。

11.2.5 orapkiユーティリティによる証明書失効リスト(CRL)の管理

CRLの管理にはorapkiを使用する必要があります。このユーティリティによって、CRL発行者名のハッシュ値が作成されます。このハッシュ値は、システム内のCRLの場所を特定するためのものです。orapkiを使用しないと、PKIデジタル証明書を検証するためのCRLをOracleサーバーが見つけることができなくなります。次の各項では、CRLの概要と使用方法、およびorapkiを使用した管理方法を説明します。

11.2.5.1 証明書失効リストを使用した証明書の検証について

特定の証明書が特定の状況において使用可能かどうかを判断するプロセスを、証明書の検証と呼びます。証明書の検証では、次のことを判断します。

最初の3つの検証はSSLネットワーク層によって自動的に実行されますが、証明書が失効していないことを確認するために、管理者は証明書失効リスト(CRL)チェックを構成する必要があります。CRLとは署名付きデータ構造で、失効した証明書のリストが格納されています。CRLは一般に、元の証明書を発行したのと同じ機関によって発行および署名されます。

11.2.5.1.1 どのCRLを使用するか

信頼できるトラスト・ポイントすべてについて、CRLが必要です。トラスト・ポイントとは、特定の信頼レベルを満たした第三者のIDからの信頼できる証明書です。一般的に、信頼できる認証局をトラスト・ポイントと呼びます。

11.2.5.1.2 CRLチェックのしくみ

証明書の失効ステータスは、ファイル・システム・ディレクトリまたはOracle Internet Directory内にあるCRL、または証明書のCRL配布ポイント(CRL DP)拡張で指定されている場所からダウンロードされたCRLと比較してチェックされます。CRLをローカル・ファイル・システムまたはディレクトリに格納する場合は、管理者が定期的に更新する必要があります。CRL DPを使用する場合は、証明書の使用のたびにCRLがダウンロードされるので、CRLを定期的にリフレッシュする必要はありません。

サーバーは、次に示す順序でCRLを探します。証明書CAのDNと一致するCRLが見つかると、検索は終了します。

  1. ローカル・ファイル・システム

    sqlnet.oraファイルにSSL_CRL_FILEパラメータがあるかどうかを調べます。次に、SSL_CRL_PATHパラメータを探します。この2つのパラメータが指定されていない場合は、Walletの保存場所にCRLがあるかどうかを調べます。

    注意: CRLをローカル・ファイル・システムに格納する場合は、orapkiユーティリティを使用してCRLを定期的に更新する必要があります。第11.2.5.2.1項「証明書検証のためのハッシュ値によるCRL名の変更」を参照してください。

  2. Oracle Internet Directory

    ローカル・ファイル・システム上でCRLが見つからないけれども、ORACLE_HOME/ldap/admin/ldap.oraファイル内でディレクトリ接続情報が構成されている場合は、そのディレクトリ内を検索します。CAの識別名(DN)とCRLサブツリーのDNを使用してCRLサブツリーを検索します。

    このディレクトリ内でCRLを検索できるようにするには、サーバーのldap.oraファイルが正しく構成されている必要があります。Oracle Internet Directoryのドメイン・ネーム・システム(DNS)探索機能は使用できません。また、CRLをディレクトリ内に格納する場合は、orapkiユーティリティを使用してCRLを定期的に更新する必要があります。第11.2.5.2.2項「Oracle Internet DirectoryへのCRLのアップロード」を参照してください。

  3. CRL DP

    証明書の発行時にX.509バージョン3のCRL DP証明書拡張でCAによって場所が指定されている場合は、その証明書の失効情報を含むCRLがダウンロードされます。現時点では、Oracle Advanced SecurityはHTTPおよびLDAPを介したCRLのダウンロードをサポートしています。


    注意

    • パフォーマンス上の理由から、チェックの対象はユーザー証明書のみとなっています。

    • CRLは、ローカル・ファイル・システムではなく、ディレクトリ内に格納することをお薦めします。

     

11.2.5.2 証明書失効リストの管理

証明書失効ステータスのチェックを有効にする前に、使用しているCAから受け取るCRLが、システムで使用可能な形式(ハッシュ値で名前変更済)であること、または場所(ディレクトリにアップロード済)に存在することを確認する必要があります。Oracle Advanced Securityには、次の作業の実行が可能なコマンドライン・ユーティリティorapkiが用意されています。

LDAPのコマンドライン・ツールを使用して、Oracle Internet Directoryの中にあるCRLを管理することもできます。

関連項目

LDAPのコマンドライン・ツールおよびその構文の説明は、『Oracle Identity Managementアプリケーション開発者ガイド』のコマンドライン・ツールの構文に関する項を参照してください。 

11.2.5.2.1 証明書検証のためのハッシュ値によるCRL名の変更

証明書を作成したCAによって発行されたCRLを、証明書の検証時にシステムが検出できるようにしておく必要があります。システムは証明書内の発行者名とCRL内の発行者名を対応させ、該当するCRLを検出します。

Oracle Net Managerの「証明書失効リスト・パス」フィールドでCRLの格納場所を指定するときに(sqlnet.oraファイル内のSSL_CRL_PATHパラメータを設定する)、orapkiユーティリティを使用して、発行者名を表すハッシュ値によってCRLの名前を変更してください。ハッシュ値を作成すると、サーバーがCRLをロードできるようになります。

UNIXシステムでは、orapkiによってCRLへのシンボリック・リンクが作成されます。Windowsシステムでは、CRLファイルのコピーが作成されます。どちらの場合も、orapkiによって作成されたシンボリック・リンクまたはコピーの名前には、発行者名のハッシュ値が使用されます。その後で、システムが証明書を検証するときに、同じハッシュ関数を使用してリンクまたはコピーの名前が計算されるので、正しいCRLをロードできるようになります。

オペレーティング・システムに応じて次のいずれかのコマンドを使用し、ファイル・システム内に格納されているCRLの名前を変更します。

UNIXのファイル・システム内に格納されているCRLの名前を変更するには:
orapki crl hash -crl crl_filename [-wallet wallet_location]
-symlink crl_directory [-summary]
Windowsのファイル・システム内に格納されているCRLの名前を変更するには:
orapki crl hash -crl crl_filename
[-wallet wallet_location] -copy crl_directory [-summary]

このコマンドのcrl_filenameはCRLファイルの名前、wallet_locationはCRLを発行したCAの証明書が含まれているWalletの場所、crl_directoryはCRLが存在するディレクトリです。

-walletおよび-summaryは、省略可能です。-walletを指定すると、CRL名を変更する前に、CAの証明書と比較してCRLの有効性が検証されます。-summaryオプションを指定すると、CRLの発行者名が表示されます。

11.2.5.2.2 Oracle Internet DirectoryへのCRLのアップロード

CRLをディレクトリ内で公開すると、CRL検証を企業全体で行うことができ、個々のアプリケーションで独自のCRLを構成する必要はなくなります。集中管理可能なディレクトリに格納されたCRLをすべてのアプリケーションで利用できるので、CRLの管理および利用における管理オーバーヘッドが大幅に削減されます。

orapkiを使用してCRLをディレクトリにアップロードするユーザーは、ディレクトリ・グループCRLAdminscn=CRLAdmins,cn=groups,%s_OracleContextDN%)のメンバーである必要があります。この操作の実行に権限が必要とされるのは、CRLが企業全体からアクセス可能であるためです。実行するユーザーをこの管理用ディレクトリ・グループに追加するには、ディレクトリ管理者に連絡してください。

CRLをディレクトリにアップロードするには、コマンドラインで次のように入力します。
orapki crl upload -crl crl_location
-ldap hostname:ssl_port -user username [-wallet wallet_location] [-summary]

このコマンドで、crl_locationはCRLが存在するファイルの名前またはURL、hostnameおよびssl_port(認証なしのSSLポート)はディレクトリがインストールされているシステムのホスト名とポート、usernameはCRLサブツリーにCRLを追加する権限を持つディレクトリ・ユーザー、wallet_locationはCRLを発行したCAの証明書が含まれているWalletの場所です。

-walletおよび-summaryは、省略可能です。-walletを指定すると、ディレクトリへのアップロードの前に、CAの証明書と比較してCRLの有効性が検証されます。-summaryオプションを指定すると、CRLの発行者名およびディレクトリ内にCRLが格納されているLDAPエントリが出力されます。


注意

  • orapkiユーティリティを使用してこの操作を実行するときに、ディレクトリのパスワードの入力が要求されます。

  • Diffie-HellmanベースのSSLサーバーが実行されているディレクトリSSLポートを必ず指定してください。これは、認証を実行しないSSLポートです。サーバー認証や相互認証を行うSSLポートは、orapkiユーティリティではサポートされていません。

 

11.2.5.2.3 Oracle Internet Directoryに格納されているCRLの一覧表示

ディレクトリに格納されているすべてのCRLを、orapkiを使用して一覧表示できます。これはCRLを探して表示したり、ローカル・システムにダウンロードしたりするときに便利です。このコマンドを実行すると、CRLを発行したCA(発行者)およびディレクトリのCRLサブツリー内の場所(DN)が出力されます。

Oracle Internet Directory内のCRLを一覧表示するには、コマンドラインで次のように入力します。
orapki crl list -ldap hostname:ssl_port

このコマンドのhostnameおよびssl_portは、ディレクトリがインストールされているシステムのホスト名とSSLポートです。前述のとおり、これは認証なしのディレクトリSSLポートです。

11.2.5.2.4 Oracle Internet Directory内のCRLの表示

Oracle Internet Directoryに格納されている特定のCRLを要約形式で表示できます。また、特定のCRLに対応する失効済証明書の完全なリストを表示することもできます。要約形式のリストには、CRLの発行者名とその有効期間が表示されます。完全なリストには、特定のCRLに含まれているすべての失効済証明書が一覧表示されます。

Oracle Internet Directory内のCRLの要約リストを表示するには、コマンドラインで次のように入力します。
orapki crl display -crl crl_location [-wallet wallet_location] -summary

このコマンドのcrl_locationは、ディレクトリ内のCRLの場所です。orapki crl listコマンドの使用時に表示されるリストからCRLの場所を貼り付けると便利です。第11.2.5.2.3項「Oracle Internet Directoryに格納されているCRLの一覧表示」を参照してください。

Oracle Internet Directoryに格納されている特定のCRLの、すべての失効済証明書を一覧表示するには、コマンドラインで次のように入力します。
orapki crl display -crl crl_location [-wallet wallet_location] -complete

たとえば、次のようなorapkiコマンドの場合、

orapki crl display -crl $T_WORK/pki/wlt_crl/nzcrl.txt -wallet $T_WORK/pki/wlt_crl 
-complete

出力は次のようになります。CRL発行者のDN、発行日、次回更新日およびCRL内の失効済証明書が表示されます。

issuer = CN=root,C=us, thisUpdate = Sun Nov 16 10:56:58 PST 2003,
nextUpdate = Mon Sep 30 11:56:58 PDT 2013, revokedCertificates = 
{(serialNo = 153328337133459399575438325845117876415, 
revocationDate - Sun Nov 16 10:56:58 PST 2003)}
CRL is valid

orapki crl displayコマンドの実行時に-walletオプションを使用すると、CRLがCAの証明書と比較して検証されます。

CRLのサイズによっては、-completeオプションを指定すると表示に時間がかかることがあります。

ディレクトリ内のCRLを表示するには、Oracle Internet Directory付属のグラフィカル・ユーザー・インタフェース・ツールであるOracle Directory Managerを使用することもできます。CRLは、次に示すディレクトリ内の場所に格納されています。

cn=CRLValidation,cn=Validation,cn=PKI,cn=Products,cn=OracleContext
11.2.5.2.5 Oracle Internet DirectoryからのCRLの削除

orapkiを使用してディレクトリからCRLを削除するユーザーは、ディレクトリ・グループCRLAdminsのメンバーである必要があります。このディレクトリ管理グループの詳細は、第11.2.5.2.2項「Oracle Internet DirectoryへのCRLのアップロード」を参照してください。

CRLをディレクトリから削除するには、コマンドラインで次のように入力します。
orapki crl delete -issuer issuer_name -ldap hostname:ssl_port 
-user username [-summary]

このコマンドのissuer_nameはCRLを発行したCAの名前、hostnameおよびssl_portはディレクトリがインストールされているシステムのホスト名とSSLポート、usernameはCRLサブツリーからCRLを削除する権限を持つディレクトリ・ユーザーです。これは認証なしのディレクトリSSLポートであることに注意してください。このポートの詳細は、第11.2.5.2.2項「Oracle Internet DirectoryへのCRLのアップロード」を参照してください。

-summaryオプションを使用すると、削除されたCRLのLDAPエントリが出力されます。

たとえば、次のようなorapkiコマンドの場合、

orapki crl delete -issuer "CN=root,C=us" 
-ldap machine1:3500 -user cn=orcladmin -summary

出力は次のようになります。ディレクトリ内の削除されたCRLの場所が一覧表示されます。

Deleted CRL at cn=root
cd45860c.rN,cn=CRLValidation,cn=Validation,cn=PKI,cn=Products,cn=OracleContext

11.2.6 orapkiユーティリティのコマンドの要約

この項では、次のorapkiコマンドについて説明します。

11.2.6.1 orapki cert create

次の各項では、このコマンドについて説明します。

11.2.6.1.1 目的

テスト用に署名付き証明書を作成するときに使用します。

11.2.6.1.2 構文
orapki cert create [-wallet wallet_location]
-request certificate_request_location
-cert certificate_location -validity number_of_days [-summary]

11.2.6.2 orapki cert display

次の各項では、このコマンドについて説明します。

11.2.6.2.1 目的

特定の証明書の詳細を表示するときに使用します。

11.2.6.2.2 構文
orapki cert display -cert certificate_location [-summary|-complete]

11.2.6.3 orapki crl delete

次の各項では、このコマンドについて説明します。

11.2.6.3.1 目的

Oracle Internet DirectoryからCRLを削除するときに使用します。orapkiを使用してディレクトリからCRLを削除するユーザーは、CRLAdminscn=CRLAdmins,cn=groups,%s_OracleContextDN%)ディレクトリ・グループのメンバーである必要があります。

11.2.6.3.2 構文
orapki crl delete -issuer issuer_name 
-ldap hostname:ssl_port -user username [-summary]

11.2.6.4 orapki crl display

次の各項では、このコマンドについて説明します。

11.2.6.4.1 目的

Oracle Internet Directory内に格納されている特定のCRLを表示するときに使用します。

11.2.6.4.2 構文
orapki crl display -crl crl_location 
[-wallet wallet_location] [-summary|-complete]

11.2.6.5 orapki crl hash

次の各項では、このコマンドについて説明します。

11.2.6.5.1 目的

証明書失効リスト(CRL)発行者のハッシュ値を生成するときに使用します。これにより、証明書の検証時にファイル・システム内のCRLの場所を特定します。

11.2.6.5.2 構文
orapki crl hash -crl crl_filename|URL 
[-wallet wallet_location] [-symlink|-copy] crl_directory [-summary]

11.2.6.6 orapki crl list

次の各項では、このコマンドについて説明します。

11.2.6.6.1 目的

Oracle Internet Directory内に格納されているCRLを一覧表示するときに使用します。リストから特定のCRLを探して表示したり、ローカル・ファイル・システムにダウンロードしたりするときに便利です。

11.2.6.6.2 構文
orapki crl list -ldap hostname:ssl_port

-ldapパラメータでは、一覧表示するCRLが存在するディレクトリ・サーバーのホスト名およびSSLポートを指定します。これは認証なしのディレクトリSSLポートであることに注意してください。このポートの詳細は、第11.2.5.2.2項「Oracle Internet DirectoryへのCRLのアップロード」を参照してください。

11.2.6.7 orapki crl upload

次の各項では、このコマンドについて説明します。

11.2.6.7.1 目的

証明書失効リスト(CRL)をOracle Internet Directory内のCRLサブツリーにアップロードするときに使用します。CRLをディレクトリにアップロードするには、ディレクトリ管理グループCRLAdminscn=CRLAdmins,cn=groups,%s_OracleContextDN%)のメンバーである必要があります。

11.2.6.7.2 構文
orapki crl upload -crl crl_location 
-ldap hostname:ssl_port -user username 
[-wallet wallet_location] [-summary]

11.2.6.8 orapki wallet add

次の各項では、このコマンドについて説明します。

11.2.6.8.1 目的

証明書リクエストおよび証明書をOracle Walletに追加するときに使用します。

11.2.6.8.2 構文

証明書リクエストを追加するには:

orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048

信頼できる証明書を追加するには:

orapki wallet add -wallet wallet_location -trusted_cert -cert certificate_location

ルート証明書を追加するには:

orapki wallet add -wallet wallet_location -dn 
certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days

ユーザー証明書を追加するには:

orapki wallet add -wallet wallet_location -user_cert -cert certificate_location

11.2.6.9 orapki wallet create

次の各項では、このコマンドについて説明します。

11.2.6.9.1 目的

Oracle Walletを作成するときや、Oracle Walletの自動ログインを有効化するときに使用します。

11.2.6.9.2 構文
orapki wallet create -wallet wallet_location [-auto_login]

11.2.6.10 orapki wallet display

次の各項では、このコマンドについて説明します。

11.2.6.10.1 目的

Oracle Wallet内の証明書リクエスト、ユーザー証明書および信頼できる証明書を表示するときに使用します。

11.2.6.10.2 構文
orapki wallet display -wallet wallet_location

11.2.6.11 orapki wallet export

次の各項では、このコマンドについて説明します。

11.2.6.11.1 目的

証明書リクエストおよび証明書をOracle Walletからエクスポートするときに使用します。

11.2.6.11.2 構文
orapki wallet export -wallet wallet_location -dn
certificate_dn -cert certificate_filename

Oracle Walletから証明書リクエストをエクスポートするには:

orapki wallet export -wallet wallet_location -dn
certificate_request_dn -request certificate_request_filename

11.3 X.509証明書との相互運用性

Oracle Wallet Managerの機能は、すでに証明書が割り当てられているユーザーをサポートしています。Oracle Wallet Managerを使用して証明書を作成しない場合でも、作成済の証明書の管理および格納にOracle Wallet Managerを使用できます。

11.3.1 公開鍵暗号規格(PKCS)のサポート

Oracle Wallet Managerは、X.509証明書および秘密鍵を公開鍵暗号規格(PKCS)#12形式で格納します。また、RSA Laboratoriesによって開発されたPKCS #10仕様に従って証明書リクエストを生成します。そのため、Oracle Walletの構造と、サポートされているサード・パーティのPKIアプリケーションとの相互運用性が確保され、異なるオペレーティング・システム間でもWalletが移植可能になります。

Oracle Wallet ManagerのWalletは、PKCS #11仕様に準拠するAPIを使用して資格証明をハードウェア・セキュリティ・モジュール上に格納するように設定できます。Walletの作成時にWalletのタイプとしてPKCS11が選択されている場合は、そのWalletに格納される鍵はすべてハードウェア・セキュリティ・モジュールまたはトークン(秘密鍵の格納または暗号化操作の実行、またはその両方を行う、スマートカード、PCMCIAカード、スマート・ディスケットなどのポータブル・ハードウェア・デバイス)に保存されます。

関連項目

 

11.3.2 複数の証明書のサポート

Oracle Wallet Managerでは、個々のWalletに複数の証明書を格納できます。これによって、次のようなOracle PKI証明書使用がサポートされます。

Oracle Wallet Managerでは、1つのデジタル・エンティティの証明書を複数サポートしています。各証明書は一連のOracle PKI証明書での使用に利用できますが、1つの証明書をすべての使用に利用できるわけではありません(使用の正当な組合せについては、表11-4および表11-5を参照)。証明書リクエストと証明書は、1対1でマッピングされている必要があります。同一の証明書リクエストを使用して複数の証明書を取得することはできますが、各証明書リクエストの複数の証明書を、同時に同じWalletにインストールすることはできません。

Oracle Wallet Managerでは、X.509バージョン3のKeyUsage拡張タイプを使用してOracle PKI証明書使用を定義します。鍵使用目的拡張のタイプはそれぞれ、証明書内で設定されるオプションのビットです。このビットを設定することで、証明書の鍵をどのような目的に使用できるか定義します。証明書を発行するとき、認証局では要求された証明書のタイプに応じてこれらのビットを設定します。表11-4ではこれらの鍵の用途について説明しています。

表11-4    X.509バージョン3のKeyUsage拡張タイプ、値および説明 
KeyUsage拡張タイプ    説明 

digitalSignature 

エンティティ認証、およびデータ発信者認証に使用します。 

nonRepudiation 

署名するエンティティが事実と異なってアクションを否定することを防止するために使用します。 

keyEncipherment 

サブジェクトの公開鍵が鍵の転送に使用される場合に使用します。 

dataEncipherment 

サブジェクトの公開鍵が暗号化鍵以外のデータの暗号化に使用される場合に使用します。 

keyAgreement 

サブジェクトの公開鍵がSSL接続ネゴシエーション時の鍵合意に使用される場合に使用します。 

keyCertSign 

サブジェクトの公開鍵が証明書の署名の検証に使用される場合に使用します。CA証明書内でのみ使用できます。 

cRLSign 

サブジェクトの公開鍵が証明書失効リストの署名の検証に使用される場合に使用します。 

encipherOnly 

encipherOnlyビットが設定されている場合は、keyAgreementビットも設定する必要があります。この2つのビットが設定されている場合は、サブジェクトの公開鍵は鍵合意実行中のデータの暗号化にのみ使用できます。 

decipherOnly 

encipherOnlyビットの場合と同様に、decipherOnlyビットが設定されている場合は、keyAgreementビットも設定する必要があります。decipherOnlyとkeyAgreementの2つのビットが設定されているときは、サブジェクトの公開鍵は鍵合意実行中のデータ暗号化解除にのみ使用できます。 

関連項目

KeyUsage拡張タイプの説明は、次のURLにあるInternet Engineering Task ForceのRFC #2459『Internet X.509 Public Key Infrastructure Certificate and CRL Profile』を参照してください。

http://www.ietf.org/rfc/rfc2459.txt
 

Oracle Wallet Managerで証明書(ユーザー証明書または信頼できる証明書)をインストールするとき、表11-4および表11-5に示すとおり、KeyUsage拡張の値がOracle PKI証明書使用にマッピングされます。

表11-5    Oracle Wallet Managerによる信頼できる証明書のOracle Walletへのインポート 
KeyUsageの値  クリティカルか否か1  用途 

なし 

該当せず 

インポート可能 

5を除く組合せ 

○ 

インポート不可能 

5を除く組合せ 

× 

インポート可能 

5のみ、または5を含む組合せ 

該当せず 

インポート可能 

1 KeyUsage拡張がクリティカルである場合は、その証明書を他の目的に使用することはできません。

必要なOracle PKI証明書使用に該当するKeyUsage値で、認証局から証明書を取得します。1つのWalletに、同じ用途の鍵ペアが複数含まれることもあります。表11-4および表11-5に示すように、各証明書ではOracle PKI証明書使用を複数サポートできます。Oracle PKIアプリケーションでは、必要なPKI証明書使用を含んでいる最初の証明書を使用します。

たとえば、SSLで使用する場合、SSL Oracle PKI証明書使用を含む最初の証明書が使用されます。

SSLで使用する証明書が1つもない場合は、ORA-28885エラー(「必須の鍵使用方法のある証明書が見つかりません」)が返されます。


戻る 次へ
Oracle
Copyright © 2002, 2007, Oracle.

All Rights Reserved.
目次
目次
索引
索引