B Oracle Databaseウォレットと証明書の管理

orapkiコマンドライン・ユーティリティとsqlnet.oraのパラメータを使用して、公開キー・インフラストラクチャ(PKI)要素を管理できます。

B.1 Oracle Databaseウォレットと証明書の概要

Oracle Databaseには、いくつかのタイプの公開キー・インフラストラクチャ(PKI)要素(ウォレットと証明書)に加えて、それらを管理するためのツールも用意されています。

B.1.1 Oracle Databaseウォレットについて

Oracle Databaseウォレットは、Oracle Databaseネットワーク間でデータベース・クライアントが通信できるようにする秘密キーや証明書など、認証と署名資格証明を格納するためのパスワードで保護されたコンテナです。

ウォレット内の認証と署名資格証明は暗号化されます。Oracle Databaseクライアントは、クライアントがデータベース・サーバーに接続するときにウォレットを読み取って使用できます。また、データベース・サーバーはディレクトリ・サービスなどの他のサービスに接続するときに、ウォレットを読み取って使用できます。ウォレットの使用前に、ウォレットを「オープン状態」にする必要があります。つまり、ウォレットを読み取って使用する必要があるデータベース・サーバーからアクセスできるようにする必要があります。ウォレットの作成方法に応じて、ウォレットはデータベース管理者が手動でオープンするか、自動的にオープンできるようにするかのどちらかになります。

Oracle Databaseには、ウォレットの使用に関して次のユースケースが用意されています。

  • アウトバウンド・ウォレット。これは、外部サービスと接続するためにデータベース・サーバーによって使用されます。たとえば、Microsoft Active DirectoryおよびUTL_HTTPとのOracle Database接続に使用されるOracleウォレットなどです。作成と管理には、orapkiユーティリティを使用します。
  • セキュアな外部パスワード・ストア(SEPS)ウォレット。クライアントにのみ使用され、現在のユーザーの読取り/書込み権限のみで作成されます。これにより、このウォレットを別のユーザーが読み取れないようにします。
  • Transport Layer Security (TLS)ウォレット。サーバーとクライアントの両方に対応します。これは、強力な認証に使用されます。
  • 透過的データ暗号化(TDE)ウォレット。サーバーとクライアントに使用されるものであり、キーストアと呼ばれます。『Oracle Database Advanced Securityガイド』を参照してください。

その他にも、ウォレットの主なタイプ(またはモード)には、標準のパスワードで保護されたウォレット(ファイル拡張子.p12が付いたPKCS#12)と、3つのタイプの自動ログイン・ウォレットがあります。

  • パスワードで保護されたウォレット: このタイプのウォレットの作成時には、パスワードを割り当てる必要があります。その後、このウォレットの変更などの様々なタスクを実行するときには、そのパスワードを指定する必要があります。このタイプのウォレットは、データベース管理者が使用前に明示的にオープンしておく必要があります。パスワードで保護されたウォレットは、PKCS#12標準に準拠していて、ewallet.p12というファイル名が付けられます。
  • シングル・サインオン(SSO)自動ログイン・ウォレット: 自動ログイン・ウォレットを作成する場合、パスワードを指定する必要があります。自動ログイン・ウォレットでは、パスワードなどのシークレットは暗号化して保存できるため、それらがクリア・テキスト・ファイルに保存されることはありません。Oracle Databaseは、ユーザーに毎回のパスワード入力を求めることなく、ウォレット内のシークレットを読み取ることができます。このタイプは、アクセスするデータベース・サーバーによって自動的にオープンされます。自動ログイン・ウォレットは、ewallet.p12というPKCS #12ファイルとcwallet.ssoというシングル・サインオン(SSO)ファイルの両方で構成される読取り/書込みウォレットです。どちらのファイルも内容は同じですが、ewallet.p12はユーザー・パスワードで保護されていて、cwallet.ssoは不明瞭化されたランダムなパスワードで保護されている点が異なります。Oracleウォレットのユーティリティ(orapkimkstore (非推奨))を使用して自動ログイン・ウォレットを変更する場合は、ewallet.p12ウォレット・ファイルの作成に使用したパスワードを指定する必要があります。(どのような変更もewallet.p12ファイルでのみ実施され、その変更内容は対応するcwallet.ssoファイルに内部的に適用されます。cwallet.ssoは単独では変更できません)。

    自動ログイン・ウォレットは、異なるシステム間で使用できます。使用の際に明示的にオープンする必要のあるウォレットで提供される特別なセキュリティが不要な環境の場合は、自動ログイン・ウォレットを使用できます。自動ログイン・ウォレットは、無人シナリオ(Oracle Data Guardスタンバイ・データベースなど)に最適です。

  • ローカル・シングル・サインオン(LSSO)自動ログイン・ウォレット: このタイプは、そのウォレットが作成されたコンピュータにのみローカルで使用される自動ログイン・ウォレットです。それが作成されたコンピュータ以外のコンピュータではオープンできません。これは、ユーザー・パスワードが不要な読取り/書込みウォレットです。作成時に有効であったホスト名とユーザー名にロックされます。これは、cwallet.SSOというSSOファイルのみで構成されます。

    ローカル自動ログイン・ウォレットは、無人操作をサポートしながら、追加のセキュリティが必要なシナリオ(つまり、そのコンピュータに対する自動ログインの使用を制限する)に使用されます。ローカル自動オープン・ウォレットは、Oracle Real Application Clusters (Oracle RAC)対応データベースでは使用できません。そうしたシステムでは、共有ウォレット(ACFS内またはASM内)のみがサポートされているためです。

  • 自動ログイン専用(ALOまたはESSO)ウォレット: このウォレット・タイプは、ユーザー・パスワードが不要な読取り/書込みウォレットです。cwallet.SSOというSSOファイルで構成されます。

このリリースのOracle Databaseで作成するウォレットは、すべてPKCS#12形式です。ウォレットには、次のセキュリティ・オブジェクトを含めることができます。

  • 証明書。ユーザー・アイデンティティを認証および検証し、通信チャネルのデータを暗号化します。信頼できる証明書、ルート証明書、ユーザー証明書、サーバー証明書、プライベート証明書、公開証明書、および自己署名証明書のタイプを含めることができます。
  • 証明書リクエスト。SSL証明書を取得するために、応募者がCAに送信するリクエストです。
  • 発行元認証局(CA)によって取り消されたデジタル証明書のリストである証明書失効リスト(CRL)。
  • シークレット(パスワードなど)。
  • PKCS#11ウォレットの場合は、特定のPKCS#11情報。たとえば、PKCS#11ライブラリへのパス、トークン、スマートカード、トークン・パスワード、トークンの証明書ラベルなど。現在の標準はPKCS#12です。デフォルトでは、orapkiユーティリティは、この標準を使用してウォレットを作成します。
  • TDEキーストアの場合は、マスター暗号化キー。これは、表の列、表領域、データベースなどに関連付けられているデータの暗号化を担当します。ウォレットのキーを設定するときには、AES256などの暗号化アルゴリズムを指定できます。TDEキーストアには、ユーザー名やパスワードなどのシークレットも格納できます。

ノート:

ウォレットの削除には注意が必要です。そのようにすると、ウォレットを使用中のOracle Database環境で問題が発生する可能性があります。ウォレットを削除する場合は、事前にバックアップしておいてください。

B.1.2 Oracle Database証明書について

Oracle Database証明書(公開キー・インフラストラクチャ(PKI)デジタル証明書)は、ウォレットを使用する公開キーまたは秘密キーの交換でエンド・エンティティのアイデンティティを検証するウォレット・コンポーネントです。

証明書は、IDを公開キーに安全にバインドする国際電気通信連合(ITU) x.509 v3標準データ構造です。これは、エンティティの公開キーが、信頼できるID、認証局(CA)によって署名されているときに作成されます。この証明書は、エンティティの情報が正しいことと、公開キーがそのエンティティに属していることを保証します。証明書には、エンティティの名前、識別情報および公開キーが含まれています。シリアル番号、有効期限、および証明書に付随する権利、使用および権限も含まれることがあります。最後に、その証明書を発行したCAに関する情報が含まれます。

Oracle Databaseでは、次のタイプの証明書を構成および操作できます。

  • 証明書チェーン: これはエンド・ユーザーまたはサブスクライバの証明書とその認証局証明書を含む順序付きの証明書リストです。
  • 信頼できるルート証明書: このタイプは必須であり、サーバーまたはユーザー証明書を発行した認証局(CA)を識別します。サーバーがその証明書をクライアントに提示する場合、サーバー証明書を発行したCAからの信頼できるルート証明書がないかぎり、その証明書をクライアントは受け入れません。その逆も同様です。サーバーがクライアント証明書を発行した信頼できるルート証明書を保持している場合のみ、サーバーはクライアント証明書を信頼します。信頼できるルート証明書は、証明書チェーン内で最上位の証明書であり、サーバー証明書またはユーザー証明書、信頼できる証明書、公開証明書または秘密証明書で構成される証明書コンポーネントの順序付きリストです。これが信頼されているため、顧客情報の秘密と安全を確保できます。
  • 秘密証明書: このタイプは、ウォレットが作成された秘密キーを識別します。秘密証明書は、ユーザーまたはサーバーによってのみ使用され、別のユーザーまたはサーバーに送信されることはありません。信頼証明書は、署名付きの秘密証明書または公開証明書を検証します。
  • 公開証明書: このタイプは、ウォレットが作成される公開キーを識別するもので、非公開証明書に似ています。送信者の名前と認可を検証するデジタル署名付きドキュメントです。
  • サーバー証明書: このタイプは必須であり、ウォレットが使用するデータベース・サーバーを識別します。特定のサーバーがアクセスできるリソースを指定します。複数のサーバーが共有するデバイスで使用されることもあります。通常、サーバー証明書はホストまたはドメインに発行されます。証明書が自己署名されたものであっても、サーバー証明書は常に存在します。
  • ユーザー証明書: このタイプはオプションであり、ウォレットが使用するクライアントを識別します。特定のユーザーがアクセスできるリソースを指定します。複数のユーザーが共有するデバイスで使用されることもあります。異なるユーザーがログインすると、プロファイルと証明書が自動的にロードされ、そのユーザーが必要とする情報へのアクセス権が付与されます。ユーザー証明書は、次の場合に使用されます。
    • 相互のTransport Layer Security (TLS)の場合。通信チャネルの両端が自分自身を識別する必要があります。
    • PKI証明書認証の場合。ユーザー証明書はクライアンを識別するだけでなく、サーバーを認証します
  • 自己署名証明書: このタイプは、CAが発行したものではない公開キー証明書です。自己署名証明書は、その証明書を他者が信頼する必要がない場合、つまり暗号化のみが目的の場合に構成します。自己署名証明書を使用していても、接続するためのクライアントが必要です。そのため、自己署名証明書は信頼できる証明書としてクライアントに追加されます。

証明書に関連するPKI要素の一部を次に示します。

  • 証明書リクエスト: リクエストには、認証リクエスト情報、署名アルゴリズム識別子、認証リクエスト情報のデジタル署名の3つの部分があります。認証リクエスト情報は、対象の識別名、公開キーおよびオプションの属性セットから構成される。属性では、対象の識別情報に関する郵便の宛先などの追加情報、または対象エンティティが後で証明書失効を要求するためのチャレンジ・パスワードを提供できる。ウォレットの証明書リクエストの作成は必須ではありません。信頼できる証明書をウォレットに直接追加することも、信頼できる証明書がすでに追加されている場合はユーザー証明書にも追加することもできます。
  • 証明書失効リスト(CRL): このタイプは、失効した証明書のリストが含まれている署名付きのデータ構造体です。CRLの信頼性と整合性は、CRLに付加されているデジタル署名によって提供される。通常、CRLの署名者は、発行された証明書に署名したエンティティと同じである。通常は、ユーザー証明書用のCRLを作成します。ユーザー証明書はユーザーが保持するため、紛失することや盗難されることは珍しくありません。その場合は、発行機関がそれらを取り消して、その失効を証明書失効リストで公開し、侵害された証明書を信用しないようにサービスに通知します。

関連トピック

B.1.3 認証局(CA)について

認証局(CA)は、他のエンティティ(ユーザー、データベース、管理者、クライアント、サーバー)が本物であることを証明する、信頼できるサード・パーティです。

ユーザーを証明する場合、CAは、ユーザーが証明書失効リスト(CRL)にないことを最初に確認し、次にユーザーのアイデンティティを検証し、認証局の秘密キーで署名して証明書を付与します。CAには独自の証明書と公開キーがあり、公開されています。サーバーおよびクライアントは、これらを使用して認証局の署名を検証します。CAは、証明書サービスを提供する外部の企業、または企業管理情報システム(MIS)部門のような内部組織です。証明書リクエストは、このCAに送信する必要があります。CAは、署名付きユーザー証明書と、それに関連付けられた信頼できる証明書を送信します。

B.1.4 Oracle Databaseウォレットと証明書の管理に使用するツール

Oracle Databaseには、ウォレットの使用方法に応じて、ウォレットと証明書を管理するための様々なツールが用意されています。

  • orapkiは、ウォレットの作成、そのウォレットでの証明書の追加と管理に使用できるコマンドラインのOracleユーティリティです。
  • mkstoreは、ウォレットにシークレットを追加して管理するために使用できるコマンドラインOracleユーティリティです。Oracle Databaseクライアントで使用できます。Oracle Databaseリリース23c以降、mkstoreは非推奨になりました。mkstoreのかわりにorapkiを使用するようにお薦めします。
  • ADMINISTER KEY MANAGEMENT文は、透過的データ暗号化(TDE)キーストアの管理用にSQL*Plusインタフェースを提供します。TDEキーストア管理には、キーストアに関する情報検索のためのデータ・ディクショナリと動的ビューも用意されています。
  • Oracle Key Vaultを使用すると、エンタープライズ内の既存のキーとセキュリティ・オブジェクトを一元的に管理できます。

ノート:

Oracle Database 23c以降、Oracle Wallet Manager (OWM)はサポート対象外です。

orapkiコマンドライン・ツールを使用してOWMを置き換えることをお薦めします。

B.1.5 Oracle Databaseウォレットと証明書の管理の一般的なプロセス

透過的データ暗号化(TDE)を除いて、orapkiユーティリティはOracle Databaseウォレットと証明書の作成と管理に使用できます。

一般プロセスは次のとおりです。

  1. orapki wallet createコマンドは、ウォレットを作成する場合に使用します。

    次に、$ORACLE_HOME/admin/db_unique_name/walletディレクトリ内にウォレットを作成する例を示します。

    orapki wallet create -wallet $ORACLE_HOME/admin/db_unique_name/wallet
  2. orapki wallet addコマンドは、ウォレットに関連付ける証明書リクエストを生成する場合に使用します。

    次に、CN=server_dn,C=USという名前のDNで、2048ビットのキー・サイズを使用する例を示します。

    orapki wallet add -wallet $ORACLE_HOME/admin/db_unique_name/wallet 
    -dn 'CN=server_dn,C=US' 
    -keySize 2048
  3. 証明書リクエストの生成後、使用する認証局(CA)にリクエストを送信します。

    電子メール・メッセージに証明書リクエストのテキストをコピーして貼り付けるか、orapki wallet exportコマンドを使用して、証明書リクエストをファイルにエクスポートできます。CAは、関連付けられた資格証明を削除するまでウォレットの一部になります。証明書リクエストをエクスポートすることで"署名"します。

    次に、creq.txtというリクエストをエクスポートする例を示します。

    orapki wallet export -wallet $ORACLE_HOME/admin/db_unique_name/wallet 
    -dn 'CN=server_dn,C=US' 
    -request $ORACLE_HOME/admin/db_unique_name/wallet/creq.txt
  4. CAは、署名済のユーザー証明書と、それに関連付けられた信頼できる証明書を生成します。この段階で、ウォレットに証明書をインポートする準備が整っています。
  5. まず、orapki wallet addコマンドを使用して、すべての信頼できる証明書をウォレットにインポートします。

    すべての信頼できる証明書を追加しないと、このコマンドは失敗します。

    次に、信頼できる証明書trusted_cert.txtをウォレットに追加する例を示します。

    orapki wallet add -wallet $ORACLE_HOME/admin/db_unique_name/wallet 
    -trusted_cert -cert $ORACLE_HOME/wallet/trusted_cert.txt
  6. 次に、orapki wallet addコマンドを使用して、ユーザー証明書をウォレットにインポートします。

    次に、cert.txtファイルのユーザー証明書をインポートする例を示します。

    orapki wallet add -wallet $ORACLE_HOME/admin/db_unique_name/wallet/ewallet.p12 
    -user_cert 
    -cert $ORACLE_HOME/wallet/cert.txt

B.1.6 Oracle Databaseウォレットの検索順序

Oracle Databaseがウォレットの検索に使用する検索順序は、透過的データ暗号化(TDE)などのウォレットが作成された目的の機能によって異なります。

Oracle Databaseリスナーは、次のウォレットの検索パスをこの順序で使用します。

  1. 接続文字列のWALLET_LOCATIONパラメータの設定
  2. sqlnet.oraファイルのWALLET_LOCATIONパラメータの設定
  3. $TNS_ADMIN環境変数設定のウォレット

デフォルトのウォレットの場所は次のとおりです。

  • Linux: /etc/ORACLE/WALLETS/user_name
  • Windows: C:\Users\user_name\\ORACLE\WALLETS

ウォレットの様々な検索順序の詳細は、次のトピックを参照してください。

B.2 orapkiユーティリティを使用したOracleウォレットと証明書の管理

orapkiコマンドライン・ユーティリティは、デフォルトでOracle Databaseサーバーとともにインストールされます。

B.2.1 orapkiユーティリティを使用したOracleウォレットと証明書の管理について

orapkiコマンドライン・ユーティリティを使用すると、コマンドラインからウォレットと証明書を作成および管理できます。

orapkiを使用して、次のタスクを実行できます。

  • テスト用の署名付き証明書の作成および表示

  • Oracleウォレットの管理(透過的データ暗号化キーストアを除く):

    • Oracleウォレットの作成と表示

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

    • 証明書の追加および削除

    • 信頼できる証明書の追加と削除

  • 証明書失効リスト(CRL)の管理

    • 証明書検証用ハッシュ値によるCRLの名前変更

    • Oracle Internet DirectoryでのCRLのアップロード、一覧表示、表示および削除

orapkiにより、スクリプトを使用してこれらのタスクを自動化できます。ウォレットと証明書の管理をスクリプトに組み込む方法を提供することにより、それらを保守するためのルーチン・タスクの多くを自動化できるようになります。

orapkiユーティリティのwalletモジュール・コマンドをスクリプトで使用して、ウォレット作成プロセスを自動化できます。たとえば、PKCS#12ウォレット、自動ログイン・ウォレット、auto_login_onlyおよびローカル自動ログイン・ウォレットを作成できます。ウォレットが作成されたコンピュータおよびウォレット作成ユーザーに対してローカルなPKCS#12ウォレットに関連付けられている自動ログイン・ウォレットを作成できます。ウォレットを表示したり、ウォレットのパスワードを変更したり、AES256アルゴリズムを使用するようにウォレットを変換できます。

新しいウォレットを作成すると、バージョン7として作成されます。既存のバージョン6のウォレットを変更すると、orapkiによってバージョン7に変換されます。Oracle Database 23c以降、バージョン6のローカル自動ログイン・ウォレットは非推奨です。

ノート:

-walletパラメータは、すべてのwalletモジュール・コマンドで必須です。

B.2.2 orapkiユーティリティの構文

orapkiユーティリティの構文には、ウォレットと証明書を作成および管理する方法が用意されています。

orapkiコマンドライン・ユーティリティの構文を次に示します。

orapki module command -parameter value

ここで、modulewallet (Oracleウォレット)、crl (証明書失効リスト)またはcert (PKIデジタル証明書)にできます。使用可能なコマンドは、使用するmoduleによって異なります。

たとえば、walletを使用している場合、addコマンドを使用して証明書またはキーをウォレットに追加できます。次の例では、/private/lhale/cert.txtにあるユーザー証明書が、$ORACLE_HOME/admin/db_unique_name/wallet/ewallet.p12にあるウォレットに追加されます。

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

B.3 Oracle Databaseウォレットの管理

orapkiコマンドライン・ユーティリティを使用すると、証明書の追加前にウォレットを作成および管理できます。

B.3.1 PKCS#12ウォレットの作成

orapkiユーティリティを使用して、PKCS#12のOracleウォレットを作成できます。

  • Oracle PKCS#12ウォレット(ewallet.p12)を作成するには、orapki wallet createコマンドを使用します。
    orapki wallet create -wallet wallet_file_directory [-pwd password]

詳細は、次のとおりです。

  • walletewallet.p12ウォレット・ファイルを作成する場所を指定します。
  • pwdは、ウォレットに割り当てる新しいパスワードです。今後、自動ログイン・ウォレットを作成する場合は、このパスワードが必要になります。pwdパラメータを使用してパスワードを指定していないと、新しいパスワードの入力と再入力を求めるメッセージが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。パスワードの作成時は、次の要件に従います。
    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。

B.3.2 自動ログイン・ウォレットの作成

orapkiユーティリティを使用して、自動ログイン・ウォレットを作成できます。

  • ウォレットを開く際にパスワードを必要としない自動ログイン・ウォレット(cwallet.sso)を作成するには、orapki wallet createコマンドを使用します。
    orapki wallet create -wallet wallet_file_directory -auto_login_only

次のことに注意してください。

  • パスワードを使用しないで自動ログイン・ウォレットを変更または削除できます。ファイル・システム権限によって、このような自動ログイン・ウォレットに必要なセキュリティが提供されます。

  • このコマンドはcwallet.ssoファイルを作成します。

B.3.3 ローカル自動ログイン・ウォレットの作成

orapkiユーティリティでは、ローカル自動ログイン・ウォレットを作成できます。

Oracle Database 23c以降では、ローカル自動ログイン・ウォレットのバージョン6は非推奨になり、バージョン7に置き換えられます。
  • 自動ログイン・ウォレットが作成されるコンピュータとそのウォレットを作成したユーザーの両方に対してローカルな自動ログイン・ウォレットを作成するには、orapki wallet createコマンドを使用します。
    orapki wallet create -wallet wallet_file_directory -auto_login_local [-pwd wallet_password]

    この指定では、pwdはPKCS#12ウォレットの作成時に作成したパスワードです。パスワードを指定していないと、新しいパスワードの入力と再入力を求めるメッセージが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

このコマンドでは次の処理が行われます。
  • 自動ログイン・ウォレット(cwallet.sso)ファイルをwallet_file_directoryに作成します。

  • 自動ログイン・ウォレットをPKCS#12ウォレット(ewallet.p12)に関連付けます。ewallet.p12ファイルが存在しない場合は、このコマンドによって作成されます。

  • ローカルの自動ログイン・ウォレットを別のコンピュータに移動することはできません。それらは作成されたホストで使用する必要があります。

  • ローカルの自動ログイン・ウォレットを開く際にパスワードが不要な場合でも、ウォレットを変更または削除するには、関連付けられたPKCS#12ウォレットのパスワードを入力する必要があります。PKCS#12ウォレットを更新した場合、関連付けられた自動ログイン・ウォレットも更新されます。

B.3.4 PKCS#12ウォレットに関連付けられた自動ログイン・ウォレットの作成

PKCS#12ウォレットに関連付けられた自動ログイン・ウォレットを作成できます。

  • PKCS#12ウォレット(ewallet.p12)に関連付けられた自動ログイン・ウォレット(cwallet.sso)を作成するには、orapki wallet createコマンドを使用します。
    orapki wallet create -wallet wallet_file_directory -auto_login [-pwd wallet_password]

    この指定の詳細は次のとおりです。

    • すでにwallet_file_directoryがPKCS#12ウォレットに含まれている場合は、自動ログインが有効になります。既存のPKCS#12ウォレットの自動ログインを有効にするには、そのパスワードを入力する必要があります。wallet_file_directoryがPKCS#12ウォレットに含まれていない場合は、新しいPKCS#12ウォレットが作成されます。新しいPKCS#12ウォレットのパスワードを作成する必要があります。次のパスワード作成の要件に従います。
      • 8文字以上の文字を使用します。最大長は無制限です。
      • 英数字が混在したものを使用します。
    • pwdはPKCS#12のウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

自動ログイン・ウォレットをオープンするためのパスワードは必要ありません。関連付けられたPKCS#12ウォレットのパスワードが自動的に使用されます。そのため、自動ログイン・ウォレットを変更または削除するには、関連付けられたPKCS#12ウォレットのパスワードを指定する必要があります。PKCS#12ウォレットを更新した場合、関連付けられた自動ログイン・ウォレットも更新されます。

B.3.5 ウォレットの表示

orapkiユーティリティを使用して、ウォレットを表示できます。

このコマンドを使用すると、ウォレットに含まれている証明書リクエスト、ユーザー証明書および信頼できる証明書が表示されます。ウォレットは、拡張子が.p12のバイナリPKCS#12ファイル(ewallet.p12)であることが必要です。
  • Oracleウォレットを表示するには、orapki wallet displayコマンドを使用します。
    orapki wallet display -wallet wallet_file_directory

    次のような出力が表示されます。

    Requested Certificates:
    User Certificates:
    Trusted Certificates:

B.3.6 ウォレットのパスワードの変更

orapkiユーティリティを使用して、ウォレットのパスワードを変更できます。

自動ログイン・ウォレットのパスワードを変更する際、そのウォレットがバージョン6の場合は、Oracle Databaseによって自動的にウォレットがバージョン7に更新されます。
  1. orapki wallet change_pwdコマンドは、パスワードを変更する場合に使用します。
    orapki wallet change_pwd -wallet wallet_file_directory [-oldpwd wallet_password ] [-newpwd wallet_password]
    このコマンドでは、現在のウォレットのパスワードが新しいパスワードに変更されます。コマンドラインでパスワードを指定していない場合、このコマンドでは新旧のパスワードを求められます。パスワードは次の要件を使用して変更します。
    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。
  2. このウォレットで自動ログイン専用ウォレットを使用する場合は、自動ログイン専用ウォレットを再生成します。
    orapki wallet create -wallet wallet_file_directory -auto_login_only

B.3.7 AES256アルゴリズムの使用を目的としたOracleウォレットの変換

デフォルトでは、ADMINISTER KEY MANAGEMENT文またはALTER SYSTEM文で作成されたOracleウォレットはAES256で暗号化されます。

AES256のかわりに3DESで暗号化されている古いウォレットを使用している場合は、orapki convertコマンドを使用して、3DESなどのアルゴリズムよりも強力なAES256アルゴリズムを使用するようにウォレットを変換できます。orapkiで作成されるOracleウォレットは、デフォルトでAES256アルゴリズムを使用して作成されます。
  • ウォレット・アルゴリズムを3DESからAES256に変更するには、orapki wallet convertコマンドを使用します。
    orapki wallet convert -wallet wallet_file_directory [-pwd wallet_password] -compat_v12

    詳細は、次のとおりです。

    • pwdはウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。
    • compat_v12は、3DESからAES256への変換を行います。

    openssl pkcs12コマンドを実行して、ウォレットが3DESからAES356に変換されたかどうかを確認できます。たとえば:

    openssl pkcs12 -in sample/ewallet.p12 -info
    Enter Import Password: password

    次のような出力結果が表示されます。最後の行のAES-256-CBC値は、ウォレットがAES256で暗号化されていることを確認します。

    MAC: sha1, Iteration 10000
    MAC length: 20, salt length: 8
    PKCS7 Encrypted data: PBES2, PBKDF2, AES-256-CBC, Iteration 10000, PRF hmacWithSHA256

B.3.8 ウォレットの削除

ウォレットは削除できますが、削除の際には注意が必要です。使用中のウォレットを削除すると、Oracle Database環境で問題が発生することがあります。

ウォレットは、オペレーティング・システム・レベルでのみ削除できます。
  1. ウォレットの内容を調べて、削除しても安全であることを確認します。
    ウォレットにはデータベースで使用されていることに気づいていなかった追加情報が含まれていることもあるため、ウォレットの内容を調べることは重要です。次のorapkiコマンドを使用して、ウォレットの内容を調べます。
    orapki wallet display -wallet wallet_file_directory
  2. 再度必要になることもあるため、ウォレットをバックアップします。
    ウォレットが再度必要になった場合に、簡単に再作成できるようにしておきます。
  3. コマンドラインでウォレット・ファイルを削除します。
    たとえば:
    del ewallet.p12
    del cwallet.sso
透過的データ暗号化キーストアを削除する場合は、キーストア削除の危険性について『Oracle Database Advanced Securityガイド』を参照してください。

B.4 Oracle Database証明書の管理

ウォレットの作成後、ウォレットに関連付けられているエンティティのアイデンティティを検証するために、証明書を関連付けることができます。

B.4.1 システム・ウォレットの証明書ストアの場所

システム・ウォレットは、証明書ストアの場所にあります。

デフォルトの証明書ストアの場所はプラットフォームによって異なります。Microsoft Windowsの場合は、Microsoft Certificate Store for Microsoft Windowsにあります。Linuxの場合、その場所は次のとおりです。

  • /etc/pki/tls/cert.pem

  • /etc/ssl/certs/ca-certificates.crt

  • /etc/pki/tls/certs/ca-bundle.crt

  • /etc/ssl/ca-bundle.pem

  • /etc/pki/tls/cacert.pem

  • /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem

  • /etc/ssl/cert.pem

認証局(CA)がこれらのいずれの場所にもない場合は、CA証明書ファイルを指すシンボリックリンク/etc/pki/tls/cert.pemを作成できます。すべてのシステム証明書ストアの場所でサポートされているのは、PEM形式の証明書のみです。

B.4.2 Oracleウォレットへの証明書リクエストの追加

orapkiユーティリティを使用して、証明書および証明書リクエストをOracleウォレットに追加できます。

  • Oracleウォレットに証明書リクエストを追加するには、orapki wallet addコマンドを使用します。
    orapki wallet add -wallet wallet_file_directory -dn user_dn -keySize 512|768|1024|2048|4096|8192|16384

    詳細は、次のとおりです。

    • dnは、証明書の識別名(DN)を指定します。
    • keySizeはリクエストされた証明書のキー・サイズをビット単位で指定します。入力するサイズは、証明書のセキュリティ強度を示します。値は次のとおりです。
      • 512: 下位互換性のために含まれていて、FIPS以外のモードでサポートされます
      • 768: FIPS以外のモードでサポートされます
      • 1024: FIPS以外の証明書キーの現在のデフォルトであり、FIPS以外のモードでサポートされます
      • 2048: FIPS証明書キーの現在のデフォルトです
      • 4096: サイトの要件に従って必要に応じて指定します
      • 8192: サイトの要件に従って必要に応じて指定します
      • 16384: サイトの要件に従って必要に応じて指定します

    リクエストに署名するには、orapki wallet exportコマンドを使用してエクスポートします。

B.4.3 署名付き証明書の作成

orapkiユーティリティは、中間キーまたはルート・キーでユーザー証明書リクエストに署名する方法を提供します。

ほとんどの場合、このコマンドはテスト目的で署名付き証明書を作成するために使用されますが、その他の理由で使用することもあります。これにより、証明書リクエストから署名付き証明書が作成されます。(署名付き(または自己署名)証明書は、認証局(CA)が発行または署名するものではありません)。

  • 署名付き証明書を作成するには、orapki cert createコマンドを使用します。
    orapki cert create [-wallet wallet_file_directory] -request certificate_request_location -cert certificate_file_directory -validity number_of_days [-pwd wallet_password]

    詳細は、次のとおりです。

    • walletは、証明書リクエストへの署名に使用されるユーザー証明書と秘密キーを含むウォレットを指定します。
    • validityは、現在の日付から数えてこの証明書が有効である日数を指定します。証明書と証明書リクエストの指定は、このコマンドでは必須です。
    • pwdはウォレット・パスワードです。このパラメータを省略すると、パスワードの入力を求められます。セキュリティを向上させるには、このプロンプトでパスワードを入力します。

B.4.4 自己署名ルートを使用した署名済証明書の作成

この証明書作成方法には、自己署名証明書を含むOracleウォレットの使用が含まれます。

公開認証局(CA)によって署名された証明書を使用すると、データベース・サーバーのルート信頼証明書がクライアントのデフォルトのトラスト・ストアですでに使用可能である可能性が高いため、TLS接続が簡略化されます。

  1. ウォレットを作成し、自己署名ルート証明書をこのウォレットに追加します。
    1. 次のようにウォレットを作成します。
      ウォレット・ディレクトリ構造の下の独自のディレクトリ(たとえばwallet1)にウォレットを作成します
      orapki wallet create -wallet wallet_file_directory/wallet1 -pwd wallet_password -autologin
    2. 自己署名証明書をこのウォレットに追加します。
      たとえば:
      orapki wallet add -wallet wallet_file_directory/wallet1 
      -dn 'CN=sales.us.example.com, OU=Support, O=Oracle, L=Reading, ST=Texas, 
      C=US' -self_signed -validity 3650 -keysize 2048 -sign_alg sha256 
      -pwd wallet_password 
  2. 証明書の独自のディレクトリに2番目のウォレット(たとえばwallet2)を作成します。
    orapki wallet create -wallet wallet_file_directory/wallet2 -pwd wallet_password 
    -auto_login
  3. この2番目のウォレットに証明書リクエストを追加し、ファイルにエクスポートします。
    orapki wallet add -wallet wallet_file_directory/wallet2 
    -dn 'CN=server_test,C=US' -keysize 2048 -pwd wallet_password
    
    orapki wallet export -wallet wallet_file_directory/wallet2 
    -dn 'CN=server_test,C=US' -request creq.txt -pwd wallet_password
  4. 自己署名ルート・キーを持つ最初のウォレットを使用して、証明書リクエストcreq.txtに署名します。
    SHA-2アルゴリズムを指定するオプション-sign_alg sha256設定。ファイルusercert.txtファイルにはSHA-2証明書が含まれます。
    orapki cert create -wallet wallet_file_directory/wallet1 
    -request wallet_file_directory/wallet2 creq.txt -cert wallet_file_directory/wallet2/usercert.txt 
    -sign_alg sha256 -validity 3650
  5. ユーザー証明書がSHA-2アルゴリズムで作成されていることを確認します。
    openssl x509 -in  wallet_file_directory/wallet2/usercert.txt -text

    次のような出力が表示されます。

    Certificate:
    Data:
    Version: 1 (0x0)
    Serial Number: 0 (0x0)
    Signature Algorithm: sha256WithRSAEncryption
    Issuer: C=US, ST=Texas, L=Reading, O=Oracle, OU=Support, 
    sales.us.example.com
    Validity
    Not Before: Aug 5 06:50:44 2023 GMT
    Not After : Aug 2 06:50:44 2027 GMT
    Subject: C=US, CN=server_test
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (2048 bit)
    Modulus (2048 bit):
    00:b0:36:ba:33:86:9f:f2:03:c0:13:b5:a2:99:09:
    
    ...
    
    oU6jgrYfZkxcMMZMhnWKCpNBdA==
    -----END CERTIFICATE-----
  6. 自己署名済証明書を最初のウォレットからエクスポートし、それを信頼できる証明書として2番目のウォレットにインポートします。
    署名付き証明書を元の(2番目のウォレット)に追加するには、新しく署名されたユーザー証明書を追加する前に、ルート信頼証明書および中間信頼証明書を階層順にインポートする必要があります。この例では、ルート秘密キーを使用してユーザー証明書に署名するため、最初のウォレットから自己署名ルート証明書をエクスポートし、それを信頼できる証明書として2番目のウォレットにインポートするのみです。
    orapki wallet export -wallet wallet_file_directory/wallet1 
    -dn 'CN=sales.us.example.com, OU=Support, O=Oracle, L=Reading, ST=Texas, C=US' 
    -cert self_cert.crt
     
    orapki wallet add -wallet wallet_file_directory/wallet2 -trusted_cert -cert 
    /wallet_file_directory/wallet1/self_cert.crt -pwd wallet_password
  7. 証明書ファイルusercert.txtを2番目のウォレットにインポートします。
    orapki wallet add -wallet wallet_file_directory/wallet2 -user_cert 
    -cert wallet_file_directory/wallet2/usercert.txt 
    -sign_alg sha256 -pwd wallet_password
  8. ウォレットおよび証明書のドメインで、ウォレットを表示して確認します。
    [sales]wallet_file_directory/wallet2> orapki 
    wallet display -wallet .

    次のような出力が表示されます。

    Requested Certificates:
    User Certificates:
    Subject: CN=server_test,C=US
    Trusted Certificates:
    Subject: OU=Class 3 Public Primary Certification Authority,O=Oracle\, 
    Inc.,C=US
    Subject: CN=GTE CyberTrust Global Root,OU=GTE CyberTrust Solutions\, 
    Inc.,O=GTE Corporation,C=US

B.4.5 Oracleウォレットへの信頼できる証明書の追加

orapkiユーティリティを使用して、信頼できる証明書をOracleウォレットに追加できます。

このコマンドは、信頼できる証明書を指定した場所(-cert certificate_file_directory)のウォレットに追加します。ユーザー証明書を追加する前に、ユーザー証明書の証明連鎖にあるすべての信頼できる証明書を追加する必要があります。そうしないと、ユーザー証明書を追加するコマンドは失敗します。
  • Oracleウォレットに信頼できる証明書を追加するには、orapki wallet addコマンドを使用します。
    orapki wallet add -wallet wallet_file_directory -trusted_cert -cert certificate_file_directory [-pwd wallet_password]

    -pwdパラメータを省略すると、ウォレット・パスワードの入力を求められます。セキュリティを向上させるには、このプロンプトでパスワードを入力します。

B.4.6 Oracleウォレットへのルート証明書の追加

orapkiユーティリティを使用して、ルート証明書をOracleウォレットに追加できます。

このコマンドを使用すると、新しい自己署名(ルート)証明書が作成され、ウォレットに追加されます。
  • Oracleウォレットにルート証明書を追加するには、orapki wallet addコマンドを使用します。
    orapki wallet add -wallet wallet_file_directory -dn certificate_dn -keySize 512|768|1024|2048|4096|8192|16384 -self_signed -validity number_of_days
     [-pwd wallet_password]

    詳細は、次のとおりです。

    • validityは、現在の日付から数えてこの証明書が有効である日数を指定します。このパラメータは必須です。
    • keySizeはリクエストされた証明書のキー・サイズをビット単位で指定します。入力するサイズは、証明書のセキュリティ強度を示します。値は次のとおりです。
      • 512: 下位互換性のために含まれていて、FIPS以外のモードでサポートされます
      • 768: FIPS以外のモードでサポートされます
      • 1024: FIPS以外の証明書キーの現在のデフォルトであり、FIPS以外のモードでサポートされます
      • 2048: FIPS証明書キーの現在のデフォルトです
      • 4096: サイトの要件に従って必要に応じて指定します
      • 8192: サイトの要件に従って必要に応じて指定します
      • 16384: サイトの要件に従って必要に応じて指定します
    • pwdはウォレット・パスワードです。このパラメータを省略すると、パスワードの入力を求められます。セキュリティを向上させるには、このプロンプトでパスワードを入力します。

B.4.7 Microsoft Internet Explorerを使用した中間証明書を必要とするルート認証局の追加

この手順では、Microsoft Explorerバージョン5、6、または7からダウンロードして、新規または置換ルート認証局(CA)をインストールする方法について説明します。

  1. Internet Explorerで、「ツール」「インターネット オプション」「コンテンツ」「証明書」の順に選択します。
  2. 「信頼されたルート証明機関」タブを選択します。
  3. 「発行先: ...」を選択します。
  4. 「エクスポート」をクリックします。
  5. 開いたウィザードで、「次へ」「Base-64エンコードX.509の選択(.CER)」を選択します。
  6. ファイル名を入力し、「終了」を選択します。

B.4.8 Oracleウォレットへのユーザー証明書の追加

orapkiユーティリティを使用して、ユーザー証明書をOracleウォレットに追加できます。

  1. ウォレットに証明書チェーンを構成するすべての信頼証明書が追加されていることを確認します。
    ユーザー証明書を追加する前に、すべての信頼できる証明書がウォレットに追加されていない場合、ユーザー証明書の追加は失敗します。
  2. orapki wallet addコマンドは、ウォレットにユーザー証明書を追加する場合に使用します。
    orapki wallet add -wallet wallet_file_directory -user_cert -cert certificate_file_directory [-pwd wallet_password]

    -pwdパラメータを省略すると、ウォレット・パスワードの入力を求められます。セキュリティを向上させるには、このプロンプトでパスワードを入力します。

B.4.9 PKCS#11ウォレットを使用するハードウェア・デバイスでの資格証明の検証

PKCS#11ウォレットを使用して、ハードウェア・デバイス上の資格証明を検証できます。

  • 資格証明の詳細を検証するには、orapki wallet p11_verifyコマンドを使用します。
    orapki wallet p11_verify -wallet wallet_file_directory [-pwd wallet_password]

    pwdはウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します

B.4.10 OracleウォレットへのPKCS#11情報の追加

他のOracleウォレットと同様に、PKCS#11情報を含むウォレットを使用できます。

このタイプのウォレットの秘密キーは、ハードウェア・デバイスに格納されます。ハードウェア・デバイスは秘密キーを維持し、秘密キーを使用して暗号操作を実行します。そのため、この秘密キーはハードウェア・デバイス境界の外側で必要になることはありません。
  • ウォレットにPKCS#11情報を追加するには、orapki wallet p11_addコマンドを使用します。
    orapki wallet p11_add -wallet wallet_file_directory -p11_lib pkcs11Lib 
    [-p11_tokenlabel tokenLabel] [-p11_tokenpw tokenPassphrase] 
    [-p11_certlabel certLabel] [-pwd wallet_password]

    詳細は、次のとおりです。

    • p11_libでは、PKCS#11ライブラリへのパスを指定します。これには、ライブラリ・ファイル名が含まれます。

    • p11_tokenlabelでは、デバイスで使用されるトークンまたはスマートカードを指定します。これはデバイスに複数のトークンがある場合に使用します。トークンのラベルは、ベンダー・ツールを使用して設定します。

    • p11_tokenpwでは、トークンへのアクセスに使用されるパスワードを指定します。トークンのパスワードは、ベンダー・ツールを使用して設定します。

    • p11_certlabelは、トークン上の証明書ラベルを指定するために使用します。これはトークンに複数の証明書がある場合に使用します。証明書ラベルはベンダー・ツールを使用して設定します。

    • pwdはウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

B.4.11 証明書の表示

証明書を作成した後は、orapkiユーティリティを使用してその証明書を表示できます。

  • 証明書を表示するには、orapki cert displayコマンドを使用します。
    orapki cert display -cert certificate_file_directory [-summary | -complete]

    詳細は、次のとおりです。

    • summaryを使用すると、証明書およびその有効期限が表示されます。
    • completeを使用すると、シリアル番号、公開キーなどの追加の証明書情報が表示されます。

B.4.12 MD5およびSHA-1証明書の使用の制御

sqlnet.oraファイルを使用して、MD5およびSHA-1署名付き証明書を受け入れるかどうかを制御できます。

MD5およびSHA-1署名付き証明書を受け入れるかどうかを制御するには、sqlnet.oraファイルを編集して、その使用を有効または無効にします。

ノート:

MD5は、このリリースでは非推奨です。

  1. Oracleデータベースが存在するサーバーにログインします。
  2. sqlnet.oraファイルを編集します。

    デフォルトでは、sqlnet.oraファイルは、$ORACLE_HOME/dbsディレクトリ、またはTNS_ADMIN環境変数によって設定されている場所にあります。

  3. 次のパラメータを設定します。
    • ACCEPT_MD5_CERTSはMD5証明書の使用を制御します。デフォルトはFALSEです。このパラメータは、ORACLE_SSL_ALLOW_MD5_CERT_SIGNATURES環境変数を置き換えます。
    • ACCEPT_SHA1_CERTSはSHA-1証明書の使用を制御します。デフォルトはTRUEです

B.4.13 証明書のインポートとエクスポートの操作

orapkiを使用すると、証明書をインポートおよびエクスポートできます。

B.4.13.1 ユーザー提供または信頼できる証明書のOracleウォレットへのインポート

ユーザー指定証明書または信頼できる証明書をOracleウォレットに追加できます。

  • orapki wallet add -walletコマンドは、次のように使用します。
    • Oracleウォレットに信頼できる証明書を追加するには、-trusted_certパラメータを使用します。
      orapki wallet add -wallet wallet_file_directory [-pwd wallet_password] -trusted_cert -cert root_and/or_intermediate_certificate_file
    • Oracleウォレットにユーザーが作成した証明書を追加するには、-user_certパラメータを使用します。
      orapki wallet add -wallet wallet_file_directory [-pwd wallet_password] -user_cert -cert user_certificate_file
    この指定では、pwdはウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。
B.4.13.2 Oracleウォレットからの証明書および証明書リクエストのエクスポート

orapkiユーティリティを使用して、Oracleウォレットから証明書および証明書リクエストをエクスポートできます。

  • ウォレットからエクスポートする証明書のタイプに応じて、orapki wallet exportコマンドを使用します。
    • -certパラメータで指定したファイルに、証明書をサブジェクトの識別名(-dn)でエクスポートするには:
      orapki wallet export -wallet wallet_file_directory -dn certificate_dn -cert certificate_filename
    • 別名を使用して証明書をエクスポートするには:
      orapki wallet export -wallet wallet_file_directory -alias alias_name -cert certificate_filename
    • -requestパラメータで指定したファイルに、証明書リクエストをサブジェクトの識別名(-dn)でエクスポートするには:
      orapki wallet export -wallet wallet_file_directory -dn certificate_request_dn -request certificate_request_filename
    • 秘密キーをエクスポートするには、次の構文を使用します。
      orapki export_private_key -wallet wallet_file_directory -pvtkeyfile pvt_key_file -alias pvt_key_alias -pvtkeypwd pvt_key_password

B.4.14 orapkiユーティリティを使用した証明書失効リスト(CRL)の管理

証明書失効リスト(CRL)は、orapkiユーティリティを使用して管理する必要があります。

このユーティリティは、CRL発行者名のハッシュ値を作成して、システム内でCRLの場所を特定します。orapkiを使用しないと、Oracleサーバーは、CRLを探してPKIデジタル証明書を検証することができません。

B.5 orapkiを使用したウォレットと証明書の作成例

orapkiコマンドの例には、ウォレットおよびユーザー証明書の作成、自己署名証明書を含むウォレットおよび証明書のエクスポートがあります。

B.5.1 例: 自己署名証明書を含むウォレットおよび証明書のエクスポート

orapki wallet addコマンドで自己署名証明書を含むウォレットを作成し、orapki wallet exportで証明書をエクスポートできます。

次の例では、自己署名証明書を含むウォレットを作成し、そのウォレットを表示して証明書をファイルにエクスポートするステップを示します。

例B-1 自己署名証明書を含むウォレットの作成と証明書のエクスポート

  1. ウォレットを作成します。

    たとえば:

    orapki wallet create -wallet /private/user/orapki_use/root
    Enter password: new_password
    Enter password again: new_password

    ウォレットは、/private/user/orapki_use/rootに作成されます。

  2. 自己署名証明書をウォレットに追加します。

    orapki wallet add -wallet /private/user/orapki_use/root -dn 
    'CN=root_test,C=US' -keysize 2048 -self_signed -validity 3650
    

    この結果、3650日の有効期限を持つ自己署名された証明書が作成されます。サブジェクトの識別名はCN=root_test,C=USです。証明書のキー・サイズは2048ビットです。

  3. ウォレットを表示して、ウォレットに証明書が含まれていることを確認します。

    orapki wallet display -wallet /private/user/orapki_use/root
  4. 証明書をエクスポートします。

    orapki wallet export -wallet /private/user/orapki_use/root -dn 
    'CN=root_test,C=US' -cert /private/user/orapki_use/root/b64certificate.txt

    これにより、自己署名証明書がファイルb64certificate.txtにエクスポートされます。使用される識別名はステップ2と同じであることに注意してください。

B.5.2 例: ウォレットおよびユーザー証明書の作成

orapkiユーティリティで、ウォレットおよびユーザー証明書を作成できます。

次に、ウォレットの作成、証明書リクエストの作成、証明書リクエストのエクスポート、テスト用のリクエストからの署名付き証明書の作成、証明書の表示、ウォレットへの信頼できる証明書の追加、およびウォレットへのユーザー証明書の追加のステップを示します。

例B-2 ウォレットおよびユーザー証明書の作成

  1. 自動ログインが有効なウォレットを作成します。

    たとえば:

    orapki wallet create -wallet /private/user/orapki_use/server -auto_login
    Enter wallet password: password
  2. 証明書リクエストをウォレットに追加します。

    orapki wallet add -wallet /private/user/orapki_use/server/ewallet.p12 -dn 'CN=server_test,C=US' -keysize 2048

    このコマンドにより、作成されたウォレット(ewallet.p12)に証明書リクエストが追加されます。サブジェクトの識別名はCN=server_test,C=USです。指定されたキー・サイズは2048ビットで、そのサイズがセキュアなレベルに設定されます。

  3. 証明書リクエストをファイルにエクスポートします。

    orapki wallet export -wallet /private/user/orapki_use/server -dn 'CN=server_test,C=US' -request /private/user/orapki_use/server/creq.txt
    

    このコマンドにより、指定されたファイル(この場合はcreq.txt)に証明書リクエストがエクスポートされます。

  4. テスト用のリクエストからの署名付き証明書を作成します。

    orapki cert create -wallet /private/user/orapki_use/root -request /private/user/orapki_use/server/creq.txt -cert /private/user/orapki_use/server/cert.txt -validity 3650
    

    このコマンドにより、3650日の有効期限を持つ証明書cert.txtが作成されます。証明書は前のステップで生成された証明書リクエストから作成されます。

  5. 証明書を表示します。

    orapki cert display -cert /private/user/orapki_use/server/cert.txt -complete

    このコマンドにより、前のステップで生成された証明書が表示されます。-completeオプションでは、シリアル番号や公開キーなどの追加的な証明書情報を表示できます。

  6. 信頼できる証明書をウォレットに追加します。

    orapki wallet add -wallet /private/user/orapki_use/server/ewallet.p12 -trusted_cert -cert /private/user/orapki_use/root/b64certificate.txt
    

    このコマンドにより、信頼できる証明書b64certificate.txtewallet.p12ウォレットに追加されます。ユーザー証明書を追加する前に、ユーザー証明書の証明連鎖内のすべての信頼できる証明書を追加する必要があります。

  7. ユーザー証明書をウォレットに追加します。

    orapki wallet add -wallet /private/user/orapki_use/server/ewallet.p12 -user_cert -cert /private/user/orapki_use/server/cert.txt
    

    このコマンドはユーザー証明書cert.txtewallet.p12ウォレットに追加します。

B.6 orapkiユーティリティ・コマンドのサマリー

orapkiコマンドは、ウォレット、証明書失効リスト(CRL)および証明書の様々な管理タスクを実行します。

B.6.1 orapki cert create

orapki cert createコマンドは、テスト用の署名付き証明書を作成します。

構文

orapki cert create [-wallet wallet_file_directory] -request certificate_request_location -cert certificate_file_directory -validity number_of_days
  • walletは、証明書リクエストへの署名に使用されるユーザー証明書と秘密キーを含む、ウォレットの場所を指定します。

  • requestは、作成する証明書の証明書リクエストの場所を指定します。

  • certは、ツールによって新しい署名付き証明書が配置されるディレクトリの場所を指定します。

  • validityは、現在の日付から数えてこの証明書が有効である日数を指定します。

orapki cert create -wallet $ORACLE_HOME/admin/db_unique_name/wallet 
-request $ORACLE_HOME/admin/db_unique_name/wallet/cert_reqs 
-cert $ORACLE_HOME/admin/db_unique_name/wallet/certs 
-validity 365 -summary

B.6.2 orapki cert display

orapki cert displayコマンドは、指定された証明書の詳細を表示します。

構文

orapki cert display -cert certificate_file_directory [-summary|-complete]
  • certは、表示する証明書の場所を指定します。

  • summary|completeは、次の情報を表示します。

    • summaryを使用すると、証明書およびその有効期限が表示されます。

    • completeを使用すると、シリアル番号、公開キーなどの追加の証明書情報が表示されます。

orapki cert display -wallet $ORACLE_HOME/admin/db_unique_name/wallet/certs -summary

B.6.3 orapki crl delete

orapki crl deleteコマンドは、Oracle Internet Directoryに格納されている証明書失効リスト(CRL)を削除します。

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

構文

orapki crl delete -issuer issuer_name -ldap hostname:ssl_port -user user_name [-wallet wallet_file_directory] [-summary]
  • issuerは、CRLを発行した認証局(CA)の名前を指定します。

  • ldapは、CRLを削除するディレクトリのホスト名とSSLポートを指定します。これは、認証なしの(Oracle Internet Directoryにアップロードされた)ディレクトリのSSLポートである必要があります。

  • userは、ディレクトリのCRLサブツリーからCRLを削除する権限のあるディレクトリ・ユーザーのユーザー名を指定します。

  • walletは、CRLを発行した認証局(CA)の証明書を含むウォレットの場所を指定します。これを使用すると、CRLをディレクトリから削除する前に、ツールによってCAの証明書に対するCRLの有効性が検証されます。

  • summaryは、削除されたCRL LDAPエントリを表示します。

orapki crl delete -issuer psmith 
-ldap hr_db:4415
-user psmith
-wallet $ORACLE_HOME/admin/db_unique_name/wallet
-summary

B.6.4 orapki crl display

orapki crl displayコマンドは、Oracle Internet Directoryに格納されている、指定した証明書失効リスト(CRL)を表示します。

構文

orapki crl display -crl crl_location [-wallet wallet_file_directory] [-summary|-complete]
  • crlパラメータは、ディレクトリ内のCRLの場所を指定します。orapki crl listコマンドを使用すると表示されるリストからCRLの位置を貼り付けると便利です。

  • wallet (オプション)は、CRLを発行した認証局(CA)の証明書を含むウォレットの場所を指定します。これを使用すると、CRLを表示する前に、ツールによってCAの証明書に対するCRLの有効性が確認されます。

  • summaryおよびcompleteは、次の情報を表示します。

    • summaryは、CRL発行者の名前とCRLの有効期間を含むリストを表示します。

    • completeを選択すると、そのCRLに含まれるすべての失効した証明書のリストが表示されます。CRLのサイズによっては、このオプションの出力の表示に時間がかかる場合があります。

orapki  crl display -crl $ORACLE_HOME/admin/db_unique_name/wallet/crls
-wallet $ORACLE_HOME/admin/db_unique_name/wallet
-summary

関連トピック

B.6.5 orapki crl hash

orapki crl hashコマンドは、証明書失効リスト(CRL)発行者のハッシュ値を生成して、証明書検証用にCRLファイル・システムの場所を特定します。

構文

orapki crl hash -crl crl_filename|URL [-wallet wallet_file_directory] [-symlink|-copy] crl_directory [-summary]
  • crlは、CRLまたはCRLがあるURLを含むファイル名を指定します。

  • wallet (オプション)は、CRLを発行した認証局(CA)の証明書を含むウォレットの場所を指定します。これを使用すると、CRLをディレクトリにアップロードする前に、ツールによってCAの証明書に対するCRLの有効性が確認されます。

  • オペレーティング・システムに応じて、-symlinkパラメータまたは-copyパラメータのいずれかを使用します。

    • (UNIX) symlinkは、crl_directoryの場所にCRLへのシンボリック・リンクを作成します。

    • (Windows) copyは、crl_directoryの場所にCRLのコピーを作成します。

  • summaryは、CRL発行者の名前を表示します。

orapki crl hash -crl db_cert_rev 
-wallet $ORACLE_HOME/admin/db_unique_name/wallet
-copy
-$ORACLE_HOME/admin/db_unique_name/wallet/crls
-summary

B.6.6 orapki crl list

orapki crl listコマンドは、Oracle Internet Directoryに格納されている証明書失効リスト(CRL)のリストを表示します。

構文

このコマンドは、特定のCRLを検出してローカル・ファイル・システムで表示またはダウンロードする際に便利です。

orapki crl list -ldap hostname:ssl_port

ldapは、CRLリストの作成対象のディレクトリ・サーバーのホスト名およびSSLポートを指定します。このポートは、認証を使用しないディレクトリのSSLポートであることが必要です。

orapki crl list -ldap hr_db:4415

B.6.7 orapki crl upload

orapki crl uploadコマンドは、証明書失効リスト(CRL)をOracle Internet DirectoryのCRLサブツリーにアップロードします。

CRLをディレクトリにアップロードするには、ディレクトリ管理グループCRLAdmins (cn=CRLAdmins,cn=groups,%s_OracleContextDN%)のメンバーである必要があることに注意してください。

構文

orapki crl upload -crl crl_location -ldap hostname:ssl_port -user username [-wallet wallet_file_directory] [-summary]
  • crlは、ディレクトリの場所またはディレクトリにアップロードするCRLが配置されているURLを指定します。

  • ldapは、CRLのアップロード先のディレクトリのホスト名およびSSLポートを指定します。このポートは、認証を使用しないディレクトリのSSLポートであることが必要です。

  • userは、ディレクトリのCRLサブツリーにCRLを追加する権限のあるディレクトリ・ユーザーのユーザー名を指定します。

  • walletは、CRLを発行した認証局(CA)の証明書を含むウォレットの場所を指定します。これはオプションのパラメータです。これを使用すると、CRLをディレクトリにアップロードする前に、ツールによってCAの証明書に対するCRLの有効性が確認されます。

  • summaryを使用すると、CRL発行者名、およびCRLがディレクトリに格納されているLDAPエントリが表示されます。

orapki  crl upload -crl $ORACLE_HOME/admin/db_unique_name/wallet/crls
-ldap hr_db:4415 
-user psmith 
-wallet $ORACLE_HOME/admin/db_unique_name/wallet

B.6.8 orapki wallet add

orapki wallet addコマンドは、証明書リクエストおよび証明書をOracleウォレットに追加します。

構文

orapki add [-wallet [wallet_file_directory]] [-dn [user_dn]] -asym_alg [RSA|ECC] 
[-keysize [512|768|1024|2048|4096|8192|16384]] | [-eccurve [p192|p224|p256|p384|p521|k163|k233|k283|k409|k571|b163|b233|b283|b409|b571]]  
-self_signed [-validity [number_of_days]] | [-valid_from [mm/dd/yyyy] -valid_until [mm/dd/yyyy]] 
[-serial_file file_path] | [-serial_num serial_num]> -addext_ski  
-addext_ku digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyAgreement,keyCertSign,cRLSign,encipherOnly,decipherOnly 
-addext_basic_cons [CA] | [-pathLen [pathlen]]]  -addext_san [DNS:value] [-cert [file_name]] 
[-trusted_cert|-user_cert] [-pwd password] | [-auto_login_only] 
[-sign_alg md5|sha1|sha256|sha384|sha512|ecdsasha1|ecdsasha256|ecdsasha384|ecdsasha512] [SERVER_AUTH,CLIENT_AUTH|VALID_PEER|NULL]
  • walletは、証明書リクエストの追加先のウォレットの場所を指定します。

  • dnは、追加する証明書の識別名を指定します。

  • keysizeは、証明書のキー・サイズをビット単位で指定します。入力するサイズは、証明書のセキュリティ強度を示します。値は次のとおりです。

    • 512: 下位互換性のために含まれていて、FIPS以外のモードでサポートされます
    • 768: FIPS以外のモードでサポートされます
    • 1024: FIPS以外の証明書キーの現在のデフォルトであり、FIPS以外のモードでサポートされます
    • 2048: FIPS証明書キーの現在のデフォルトです
    • 4096: サイトの要件に従って必要に応じて指定します
    • 8192: サイトの要件に従って必要に応じて指定します
    • 16384: サイトの要件に従って必要に応じて指定します
  • asym_algは、自己署名証明書の場合に証明書の作成に使用するアルゴリズムを指定します(RSAまたはECC)。
  • self_signedは、ルート証明書を作成および追加します。このオプションには、validityオプションを指定するか、valid_fromオプションとvalit_untilオプションを指定します(必須)。
  • serial_fileは、証明書のシリアル・ファイルの場所を指定します。
  • serial_numは、証明書のシリアル番号を指定します。
  • addext_xyzは、異なる制約を指定します
  • addext_sanは、X509証明書の拡張機能であり、サブジェクト代替名の追加や、サブジェクトの識別に使用されます。このオプションでは、カンマで区切られたドメイン名の追加のみが可能になります。たとえば:
    addext_san DNS:value_1,DNS:value_2,DNS:value_3
    -addext_san DNS:ns1.example.com,DNS:ns2.example.com
  • certは、追加する証明書の場所を指定します。
  • trusted_cert | user_certは、追加する証明書のタイプ(信頼できる、またはユーザー)を指定します。
  • sign_algは、証明書の署名に使用する署名アルゴリズムを指定します。この設定は、自己署名証明書にのみ適用されます。

リクエストに署名するには、エクスポート・オプションを使用してそのリクエストをエクスポートします。

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

orapki wallet add -wallet wallet_file_directory -trusted_cert -cert certificate_file_directory
  • trusted_certは、-certで指定された場所にある信頼できる証明書をウォレットに追加します。

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

orapki wallet add -wallet wallet_file_directory -dn certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days
  • self_signedは、ルート証明書を追加します。

  • validityは必須です。これを使用して、現在の日付から数えてこのルート証明書が有効である日数を指定します。

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

orapki wallet add -wallet wallet_file_directory -user_cert -cert certificate_file_directory
  • user_certは、-certパラメータで指定された場所にあるユーザー証明書をウォレットに追加します。ユーザー証明書をウォレットに追加する前に、証明連鎖を構成するすべての信頼できる証明書を追加する必要があります。ユーザー証明書を追加する前に、すべての信頼できる証明書がウォレットに追加されていない場合、ユーザー証明書の追加は失敗します。

orapki  wallet add -wallet $ORACLE_HOME/admin/db_unique_name/wallet -dn "cn=mavis green, o=example, c=us" -keySize 2048

関連トピック

B.6.9 orapki wallet change_pwd

orapki wallet change_pwdコマンドは、ウォレットのパスワードを変更します。

構文

orapki wallet change_pwd [-wallet wallet_file_directory] [-oldpwd old_wallet_password] [-newpwd new_wallet_password]
  • -walletは、パスワードを変更するウォレットの場所を指定します。

  • oldpwdは、変更する現在のパスワードを指定します。

  • newpwdは、新しいパスワードを指定します。次の要件に従ってください。

    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。

orapki wallet change_pwd -wallet wallet_file_directory -oldpwd old_wallet_password -newpwd new_wallet_password
Enter password: wallet_password

B.6.10 orapki wallet convert

orapki wallet convertコマンドは、Oracleウォレットで3DESアルゴリズムを変換してAES256アルゴリズムを使用します。

構文

orapki wallet convert -wallet wallet_file_directory [-pwd wallet_password] -compat_v12
  • walletは、自動ログインを有効にするウォレットの場所を指定します。

  • pwdはウォレット・パスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

  • compat_v12は、3DESからAES256への変換を行います。

orapki  wallet convert -wallet $ORACLE_HOME/admin/db_unique_name/wallet compat_v12
Enter wallet password: password

B.6.11 orapki wallet create

orapki wallet createコマンドは、Oracleウォレットの作成またはOracleウォレットの自動ログインの有効化を行います。

構文

orapki wallet create -wallet wallet_file_directory [-auto_login|-auto_login_only|-auto_login_local] [-pwd password]
  • walletには、新しいウォレットの場所または自動ログインを有効にするウォレットの場所を指定します。

  • auto_loginにより、自動ログイン・ウォレットが作成されるか、または、-walletオプションで指定されたウォレットの自動ログインが有効になります。

  • auto_login_onlyは、パスワードを必要としない自動ログイン・ウォレットのタイプです。

  • auto_login_localにより、ローカル自動ログイン・ウォレットが作成されるか、または、-walletオプションで指定されたウォレットのローカル自動ログインが有効になります。

  • pwdは、ウォレットに割り当てる新しいパスワードです。今後、自動ログイン・ウォレットを作成する場合は、このパスワードが必要になります。pwdパラメータを使用してパスワードを指定していないと、新しいパスワードの入力と再入力を求めるメッセージが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。パスワードの作成時は、次の要件に従います。

    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。

orapki wallet create -wallet $ORACLE_HOME/admin/db_unique_name/wallet
Enter password: password
Enter password again: password

B.6.12 orapki wallet display

orapki wallet displayコマンドは、Oracleウォレット内の証明書リクエスト、ユーザー証明書および信頼できる証明書を表示します。

構文

orapki wallet display -wallet wallet_file_directory
  • walletは、開くウォレットの場所を指定します(そのウォレットが現在の作業ディレクトリにない場合)。

orapki  wallet display -wallet $ORACLE_HOME/admin/db_unique_name/wallet

B.6.13 orapki wallet export

orapki wallet exportコマンドは、証明書リクエストおよび証明書をOracleウォレットからエクスポートします。

構文

orapki wallet export -wallet wallet_file_directory -dn certificate_dn -cert certificate_filename
  • walletは、証明書のエクスポート元のウォレットの場所を指定します。

  • dnは、証明書の識別名を指定します。

  • certは、エクスポートされる証明書を含むファイルの名前を指定します。

証明書リクエストをOracleウォレットからエクスポートするには:

orapki wallet export -wallet ./rsa_server_host_name -dn "O=Example, C=US" -request ./rsa_server_hostname/csr2.pem
Enter wallet password: password
  • requestは、エクスポートされる証明書リクエストを含むファイルの名前を指定します。

orapki  wallet export -wallet $ORACLE_HOME/admin/db_unique_name/wallet
-dn db_cert
-request db_req

B.6.14 orapki wallet export_private_key

orapki wallet export_private_keyコマンドは、ウォレットから秘密キーをエクスポートします。

構文

orapki wallet export_private_key [-wallet wallet_file_directory] [-pwd wallet_password] [-alias pvtkey_alias] 
[-pvtkeyfile filename] [-pvtkeypwd private_key_password] [-salt salt] 
[-cert certificate_filename] [-cacert ca_certificate_filename]
  • walletは、秘密キーのエクスポート元のウォレットの場所を指定します。

  • pvtkeyfileは、秘密キー・ファイルの名前を指定します

  • pvtkeypwdは、秘密キーファイルのパスワードを指定します。省略すると、パスワード・プロンプトが表示されます。

  • saltは、使用するsaltのタイプを指定します。

  • certは、証明書ファイル名を指定します。

  • cacertは、CAファイル名を指定します。

orapki wallet export_private_key -wallet wallet_file_directory -alias pvtkey_alias 
-pvtkeyfile pvt_key_filename -pvtkeypwd pvt_key_password -cert cert_file -cacert cacert_file
Enter password: wallet_password

B.6.15 orapki wallet import_pkcs12

orapki wallet import_pkcs12コマンドは、PKCS #12ファイルをウォレットにインポートします。

構文

orapki wallet import_pkcs12 –wallet wallet_location [-pwd wallet_password] 
[-auto_login_only]] -pkcs12file pkcs12_file_location [-pkcs12pwd pkcs12_file_password]
  • walletは、PKCS#12ファイルのインポート先の場所を指定します。

  • pkcs12fileは、ウォレットにインポートされるPKCS#12ファイルの場所を指定します。

  • pkcs12pwdは、ウォレットにインポートされるPKCS#12ファイルのパスワードを指定します。省略すると、パスワード・プロンプトが表示されます。

orapki wallet import_pkcs12 -wallet wallet_location -pkcs12file pkcs12_file_location -pkcs12pwd pkcs12_file_password
Enter password: wallet_password

B.6.16 orapki wallet import_private_key

orapki wallet import_private_keyコマンドは、ウォレットに秘密キーをインポートします。

構文

orapki wallet import_private_key [-wallet wallet_file_directory] [-pwd wallet_password] [-alias pvtkey_alias] 
[-pvtkeyfile filename] [-pvtkeypwd private_key_password] [-salt salt] 
[-cert certificate_filename] [-cacert ca_certificate_filename]
  • walletは、秘密キーのインポート先のウォレットの場所を指定します。

  • pvtkeyfileは、秘密キー・ファイルの名前を指定します

  • pvtkeypwdは、秘密キーファイルのパスワードを指定します。省略すると、パスワード・プロンプトが表示されます。

  • saltは、使用するsaltのタイプを指定します。

  • certは、証明書ファイル名を指定します。

  • cacertは、CAファイル名を指定します。

orapki wallet import_private_key -wallet wallet_file_directory -alias pvtkey_alias 
-pvtkeyfile pvt_key_filename -pvtkeypwd pvt_key_password -cert cert_file -cacert cacert_file
Enter password: wallet_password

B.6.17 orapki wallet jks_to_pkcs12

orapki wallet jks_to_pkcs12コマンドは、証明書情報を格納するためにJavaキーストアをPKCS #12形式に変換します。

PKCS #12形式を使用するウォレットをJavaキーストアに変換するには、orapki wallet pkcs12_to_jksコマンドを使用できます。

構文

orapki wallet jks_to_pkcs12 [-wallet wallet_file_directory] [-pwd wallet_password] 
[-keystore keystore] [-jkspwd jks_password]
  • walletは、PKCS #12形式を使用するように変換するウォレットの場所を指定します。

  • keystoreは、変換するJavaキーストアの名前を指定します。

  • jkspwdは、Javaキーストアのパスワードを指定します。省略すると、パスワード・プロンプトが表示されます。

orapki wallet jks_to_pkcs12 -wallet wallet_file_directory -keystore keystore_name -jkspwd keystore_password
Enter password: wallet_password

B.6.18 orapki wallet pkcs12_to_jks

orapki wallet pkcs12_to_jksコマンドは、証明書情報を格納するためにPKCS #12キーストアをJavaキーストアに変換します。

Javaキーストア・ウォレットをPKCS #12形式に変換してJavaキーストアに変換するには、orapki wallet jks_to_pkcs12コマンドを使用できます。

構文

orapki wallet pkcs12_to_jks [-wallet wallet_file_directory] [-pwd wallet_password] 
[-jksKeyStoreLoc Java_keystore_location -jksKeyStorepwd Java_keystore_password]
[-jksTrustStoreLoc jks_trust_store_location -jksTrustStorepwd jks_trust_store_password]
  • walletは、Javaキーストア形式を使用するように変換するウォレットの場所を指定します。

  • jksKeyStoreLocは、作成されるJavaキーストアの場所を指定します。

  • jksTrustStorepwdは、JKSトラスト・ストアのパスワードを指定します。省略すると、パスワード・プロンプトが表示されます。

orapki wallet pkcs12_to_jks -wallet wallet_file_directory -jksKeyStoreLoc Java_keystore_location -jkspwd Java_keystore_password
Enter password: wallet_password

B.6.19 orapki wallet remove

orapki wallet removeコマンドは、ウォレットを削除します。

構文

orapki wallet remove [-wallet wallet_file_directory] [-dn subject_dn] | -alias alias] 
[-issuer_dn issuer_dn] [-serial_num serial_num]
[-trusted_cert_all|-trusted_cert|-user_cert|-cert_req] [-pwd wallet_password | [-auto_login_only]
  • walletは削除するウォレットの場所を指定します。

  • dnは、ウォレットの識別名を指定します。

  • aliasは、このウォレットの別名を指定します。

  • issuer_dnは、DNの発行者を指定します。

  • issuer_dnは、DNの発行者を指定します。

  • issuer_dnは、DNの発行者を指定します。

  • trusted_cert_all|-trusted_cert|-user_cert|-cert_reqは、このウォレットに関連付けられている証明書のタイプを指定します。

  • issuer_dnは、DNの発行者を指定します。

orapki wallet remove -wallet wallet_file_directory -dn certificate_dn
Enter password: wallet_password

B.7 mkstoreユーティリティ・コマンドのサマリー

Oracle Databaseクライアントとサーバーのインストール時に利用できるmkstoreコマンドライン・ユーティリティを使用すると、ウォレットの作成と、ユーザー名やパスワードなどの資格証明シークレットの追加ができます。Oracle Databaseリリース23c以降、mkstoreは非推奨です。かわりにorapkiを使用します。

B.7.1 mkstore create

mkstore createコマンドは、ウォレット(cwallet.ssoおよびewallet.p12)をコマンドラインで作成します。

構文

mkstore -wrl wallet_file_directory -create
  • wrlは、ウォレットを作成して格納するディレクトリのパスを指定します。

  • このコマンドでは、新しいパスワードを入力または再入力するよう求められます。パスワードの作成時は、次の要件に従います。

    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -create
Enter password: password
Enter password again: password

B.7.2 mkstore createALO

mkstore createALOコマンドは、自動ログイン・ウォレット(cwallet.sso)を作成します。

構文

mkstore -wrl wallet_file_directory -createALO
  • wrlは、自動ログイン・ウォレットを作成して格納するディレクトリのパスを指定します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -createALO

B.7.3 mkstore createCredential

mkstore createCredentialコマンドは、ウォレットにデータベース接続資格証明を作成します。

構文

mkstore -wrl wallet_file_directory -createCredential db_connect_string username password
  • wrlはウォレットを作成したディレクトリへのパスを指定します。

  • db_connect_stringは、tnsnames.oraファイルでデータベースの指定に使用するTNS別名、またはOracle Databaseネットワーク上のデータベースを識別するために使用するサービス名です。

  • usernamepasswordはデータベース・ログインの資格証明です。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -createCredential DBFS dbfs_admin
Enter password: password

B.7.4 mkstore createEntry

mkstore createEntryコマンドは、別名に対してシークレット・テキストを保存します。

構文

mkstore -wrl wallet_file_directory -createEntry alias secret
  • wrlは、エントリを作成する必要があるディレクトリ・ウォレットへのパスを指定します。

  • aliasはシークレット・テキストを格納する別名の名前です。

  • secretは格納する必要があるシークレット・テキストを指定します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -createEntry oracle.security.client.default_username SCOTT

B.7.5 mkstore createUserCredential

mkstore createUserCredentialコマンドは、マップとキー名から構成された別名で参照される資格証明オブジェクトを作成します。

構文

mkstore -wrl wallet_file_directory  -createUserCredential map key username password
  • wrlはウォレットを作成したディレクトリへのパスを指定します。

  • mapは、Oracle Platform Security Services (OPSS)の資格証明ストア・フレームワーク(CSF)で資格証明を参照するために使用されるマップです。これをキーと組み合せることで、資格証明の別名を作成します。

  • keyは、OPSS CSFでの資格証明の参照に使用されるキーです。これをマップと組み合せることで、資格証明の別名を作成します。

  • usernameはシークレット・ストアに格納されるユーザー名です。ユーザー名の指定がない場合、mkstoreは、ユーザー名を資格証明でNO_USERとして設定します。
  • passwordはシークレット・ストアに格納されるパスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -createUserCredential ofss.map cwalletkey ofss
Enter your secret/Password: password
Re-enter your secret/Password: password

B.7.6 mkstore delete

mkstore deleteコマンドは、ウォレットを削除します。

構文

mkstore -wrl wallet_file_directory -delete
  • walletは削除するウォレットの場所を指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -delete
Enter wallet password: password

B.7.7 mkstore deleteCredential

mkstore deleteCredentialコマンドは、データベース・ログイン資格証明をウォレットから削除します。

構文

mkstore -wrl wallet_file_directory -deleteCredential connect_string
  • wrlは、削除する資格証明が含まれるウォレットの場所を指定します。

  • connect_stringは、tnsnames.oraファイルでデータベースの指定に使用するTNS別名、またはOracle Databaseネットワーク上のデータベースを識別するために使用するサービス名です。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -deleteCredential DBFS dbfs_admin
Enter wallet password: password

B.7.8 mkstore deleteEntry

mkstore deleteEntryコマンドは、ウォレット内にある別名のシークレット・エントリを削除します。

構文

mkstore -wrl wallet_file_directory -deleteEntry alias
  • wrlは、指定した別名のシークレット・エントリが含まれるウォレットの場所を指定します。

  • aliasは、シークレット・エントリを削除する必要がある別名の名前を指定します。

  • このコマンドでは、新しいパスワードを入力または再入力するよう求められます。パスワードの作成時は、次の要件に従います。

    • 8文字以上の文字を使用します。最大長は無制限です。
    • 英数字が混在したものを使用します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -deleteEntry db_alias
Enter wallet password: password

B.7.9 mkstore deleteSSO

mkstore deleteSSOコマンドは、自動ログイン・ウォレットを削除します。

構文

mkstore -wrl wallet_file_directory -deleteSSO
  • wrlは削除するSSOウォレットの場所を指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -deleteSSO
Enter wallet password: password

B.7.10 mkstore deleteUserCredential

mkstore deleteUserCredentialコマンドは、マップとキー名から構成された別名で参照される資格証明オブジェクトを削除します。

構文

mkstore -wrl wallet_file_directory -deleteUserCredential map key
  • wrlは、削除する資格証明オブジェクトが含まれるウォレットの場所を指定します。

  • mapは、Oracle Platform Security Services (OPSS)の資格証明ストア・フレームワーク(CSF)で資格証明を参照するために使用されるマップを指定します。これをキーと組み合せることで、資格証明の別名を作成します。

  • keyは、OPSS CSFで資格証明を参照するために使用されるキーを指定します。これをマップと組み合せることで、資格証明の別名を作成します。
  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -deleteUserCredential ofss.map cwalletkey
Enter wallet password: password

B.7.11 mkstore list

mkstore listコマンドは、ウォレット内の識別子をリストします。

構文

mkstore -wrl wallet_file_directory -list 
  • wrlは、識別子をリストする必要があるウォレットの場所を指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -list
Enter wallet password: password

B.7.12 mkstore listCredential

mkstore listCredentialコマンドは、外部パスワード・ストアの内容をリストします。

構文

mkstore -wrl wallet_file_directory -listCredential
  • wrlは、外部パスワード・ストア資格証明を表示する必要があるウォレットの場所を指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -listCredential
Enter wallet password: password

B.7.13 mkstore modifyCredential

mkstore modifyCredentialコマンドは、ウォレット内のデータベース・ログイン資格証明を変更します。

構文

mkstore -wrl wallet_file_directory] -modifyCredential connect_string username password
  • wrlは、ウォレットの場所を指定します

  • db_connect_stringは、tnsnames.oraファイルでデータベースの指定に使用されるTNS別名、またはOracle Databaseネットワーク上のデータベースを識別するために使用されるサービス名です。

  • usernamepasswordはデータベース・ログインの資格証明です。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -modifyCredential DBFS sec_admin
Enter your secret/Password: password
Re-enter your secret/Password: password

B.7.14 mkstore modifyEntry

mkstore modifyEntryコマンドは、ウォレット内にある別名のシークレット・エントリを変更します。

構文

mkstore -wrl wallet_file_directory -modifyEntry alias secret
  • wrlは、変更するシークレット・エントリが含まれるウォレットの場所を指定します。

  • aliasはシークレット・テキストの別名です。

  • secretはシークレット・テキストを指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -modifyEntry oracle.security.client.default_username PSMITH
Enter wallet password: password

B.7.15 mkstore modifyUserCredential

mkstore modifyUserCredentialコマンドは、マップとキー名から構成された別名で参照される資格証明オブジェクトを変更します。

構文

mkstore -wrl wallet_file_directory -modifyUserCredential map key username password
  • walletは、ユーザー資格証明を変更する必要があるウォレットの場所を指定します。

  • mapは、Oracle Platform Security Services (OPSS)の資格証明ストア・フレームワーク(CSF)で資格証明を参照するために使用されるマップです。これをキーと組み合せることで、資格証明の別名を作成します。

  • keyは、OPSS CSFでの資格証明の参照に使用されるキーです。これをマップと組み合せることで、資格証明の別名を作成します。

  • usernameはシークレット・ストアに格納されるユーザー名です。ユーザー名の指定がない場合、mkstoreは、ユーザー名を資格証明でNO_USERとして設定します。
  • passwordはシークレット・ストアに格納されるパスワードです。パスワードが指定されていないと、パスワード・プロンプトが表示されます。セキュリティ向上のために、パスワードはコマンドラインで入力するのではなく、プロンプトで入力します。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -modifyUserCredential connect_string.map cwalletkey sample_user
Enter your secret/Password: password
Re-enter your secret/Password: password
Enter wallet password: password

B.7.16 mkstore viewEntry

mkstore viewEntryコマンドは、ウォレット内にある別名のシークレット・エントリをリストします。

構文

mkstore -wrl wallet_file_directory -viewEntry alias
  • wrlは、表示するシークレット・エントリが含まれるウォレットの場所を指定します。

  • aliasは別名の名前を指定します。

  • このコマンドでは、ウォレット・パスワードを入力するよう求められます。

mkstore -wrl $ORACLE_HOME/admin/db_unique_name/wallet -viewEntry db_alias
Enter wallet password: password