orapki
ユーティリティを使用すると、ウォレットや証明書失効リストなどの公開鍵インフラストラクチャ(PKI)の要素をコマンドラインで管理できるため、実行するタスクをスクリプトに取り込むことができます。PKI要素の管理をスクリプトに取り込むことにより、PKIを管理するための数多くのルーチン・タスクを自動化することが可能になります。
項目は次のとおりです。
このコマンドライン・ユーティリティを使用すると、次のタスクを実行できます。
テスト用の署名された証明書の作成および表示
Oracleウォレットの管理:
Oracleウォレットの作成および表示
証明書要求の追加および削除
証明書の追加および削除
信頼できる証明書の追加および削除
証明書失効リスト(CRL)の管理:
証明書の検証に使用するハッシュ値が含まれたCRL名の変更
Oracle Internet Directory内のCRLのアップロード、リストの表示、表示および削除
orapki
コマンドライン・ユーティリティの基本構文は、次のとおりです。
orapki module command -parameter value
module
には、wallet
(Oracleウォレット)、crl
(証明書失効リスト)またはcert
(PKIデジタル証明書)を指定できます。使用可能なコマンドは、使用するmodule
によって異なります。たとえば、wallet
を使用すると、add
コマンドで証明書または鍵をウォレットに追加できます。次の例では、/private/lhale/cert.txt
にあるユーザー証明書を$ORACLE_HOME/wallet/ewallet.p12にあるウォレットに追加しています。
orapki wallet add -wallet $ORACLE_HOME/wallet/ewallet.p12 -user_cert -cert /private/lhale/cert.txt
このコマンドライン・ユーティリティを使用すると、テスト用の署名された証明書を容易に作成できます。次の構文を使用して、署名された証明書の作成および証明書の表示を行うことができます。
テスト用の署名された証明書を作成する構文は、次のとおりです。
orapki cert create [-wallet wallet_location] -request certificate_request_location -cert certificate_location -validity number_of_days [-summary]
このコマンドによって、証明書要求から署名された証明書が作成されます。-wallet
パラメータは、ユーザー証明書と証明書要求の署名に使用する秘密鍵を含むウォレットを指定します。-validity
パラメータは、現在の日付から起算したこの証明書の有効日数を指定します。証明書および証明書要求の指定は、このコマンドでは必須です。
orapki cert display -cert certificate_location [-summary | -complete]
このコマンドによって、orapki
で作成したテスト証明書を表示できます。-summary
または-complete
を指定することによって、内容をどの程度詳細に表示するかを決定できます。-summary
を選択した場合、証明書とその有効期限が表示されます。-complete
を選択した場合は、シリアル番号や公開鍵など証明書に関する追加情報が表示されます。
次の項では、orapki
コマンドライン・ユーティリティでOracleウォレットを作成および管理する際に使用する構文について説明します。orapki
ユーティリティのwallet
モジュール・コマンドをスクリプトで使用することによって、ウォレット作成プロセスを自動化できます。
注意: -wallet パラメータは、すべてのwallet モジュール・コマンドで必須です。 |
orapki wallet create -wallet wallet_location [-pwd password]
コマンド・ラインにパスワードを指定しなかった場合、このコマンドによって、ウォレットのパスワードを2回入力するよう求められます。ウォレットは、-wallet
に指定されている位置に作成されます。
注意: セキュリティ上の理由から、コマンド・ラインではパスワードを指定しないことをお薦めします。パスワードの入力を求められた場合は、パスワードを入力する必要があります。 |
自動ログインを使用可能にしたOracleウォレットを作成する構文は、次のとおりです。
orapki wallet create -wallet wallet_location -auto_login [-pwd password]
このコマンドによって、自動ログインを使用可能にしたウォレットが作成されます。また、このコマンドを使用して、既存のウォレットで自動ログインを使用可能にすることもできます。wallet_location
がウォレットにすでに含まれている場合は、そのウォレットの自動ログインが使用可能になります。自動ログイン機能をオフにするには、Oracle Wallet Managerを使用します。
注意: セキュリティ上の理由から、コマンド・ラインではパスワードを指定しないことをお薦めします。パスワードの入力を求められた場合は、パスワードを入力する必要があります。 |
注意: ウォレットの自動ログイン機能を使用可能にしている場合、 add などのウォレットを変更する操作に対してのみ、パスワードを要求するプロンプトが表示されます。 |
orapki wallet display -wallet wallet_location
ウォレットに含まれる証明書要求、ユーザー証明書および信頼できる証明書が表示されます。これらは、拡張子.p12
のバイナリのPKCS12
ファイルであることが必要です。他のファイルの場合は失敗します。
次の項では、orapkiユーティリティを使用して、Oracleウォレットに証明書と証明書要求を追加する方法について説明します。
Oracleウォレットに証明書要求を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048
このコマンドによって、指定された識別名(user_dn
)を持つユーザーのウォレットに、証明書要求が追加されます。また、要求は要求する証明書の鍵サイズ(512、1024または2048ビット)も指定します。要求に署名するには、エクスポート・オプションを使用して要求をエクスポートします。
Oracleウォレットに信頼できる証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -trusted_cert -cert certificate_location
このコマンドによって、指定された位置(-cert certificate_location
)にある信頼できる証明書がウォレットに追加されます。ユーザー証明書を追加する前に、ユーザー証明書の証明連鎖にあるすべての信頼できる証明書を追加しておく必要があります。そうしないと、ユーザー証明書を追加するコマンドは失敗します。
Oracleウォレットにルート証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -dn certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days
このコマンドによって、新規のセルフサイン(ルート)証明書が作成され、ウォレットに追加されます。-validity
パラメータ(必須)は、現在の日付から起算したこの証明書の有効日数を指定します。このルート証明書の鍵サイズ(-keySize
)には、512、1024または2048ビットを指定できます。
Oracleウォレットにユーザー証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -user_cert -cert certificate_location
このコマンドによって、-cert
パラメータで指定された位置にあるユーザー証明書がwallet_location
にあるOracleウォレットに追加されます。ユーザー証明書をウォレットに追加する前に、証明連鎖を構成するすべての信頼できる証明書を追加しておく必要があります。ユーザー証明書を追加する前に、すべての信頼できる証明書がウォレットにインストールされていないと、ユーザー証明書の追加は失敗します。
ウォレットにPKCS#11情報を追加する手順は、次のとおりです。
すべてのOracleウォレットと同様に、PKCS#11情報を含むウォレットを使用できます。秘密鍵はハードウェア・デバイスに格納されます。暗号化処理もそのデバイス上で実行されます。
ウォレットにPKCS#11情報を追加するには、次のコマンドを使用します。
orapki wallet p11_add -wallet wallet_location -p11_lib pkcs11Lib [-p11_tokenlabel tokenLabel] [-p11_tokenpw tokenPassphrase] [-p11_certlabel certLabel] [-pwd password]
各パラメータの意味は次のとおりです。
-wallet
は、ウォレット・ロケーションを指定します。
-p11_lib
は、PKCS#11ライブラリへのパスを指定します。これにはライブラリ・ファイル名も含めます。
-p11_tokenlabel
は、デバイスで使用するトークンまたはスマートカードを指定します。このパラメータは、デバイスに複数のトークンがある場合に使用します。トークン・ラベルは、ベンダー・ツールを使用して設定されます。
-p11_tokenpw
は、トークンへのアクセスに使用するパスワードを指定します。トークンのパスワードは、ベンダー・ツールを使用して設定されます。
-p11_certlabel
は、トークン上の証明書ラベルの指定に使用します。このパラメータは、トークンに複数の証明書がある場合に使用します。証明書ラベルは、ベンダー・ツールを使用して設定されます。
-pwd
は、ウォレットのパスワードの指定に使用します。
注意: セキュリティ上の理由から、コマンド・ラインではパスワードを指定しないことをお薦めします。パスワードの入力を求められた場合は、パスワードを入力する必要があります。 |
ハードウェア・デバイス上の証明書は、PKCS#11ウォレットを使用して検証できます。これには、次のコマンドを使用します。
orapki wallet p11_verify -wallet wallet_location [-pwd password]
注意: セキュリティ上の理由から、コマンド・ラインではパスワードを指定しないことをお薦めします。パスワードの入力を求められた場合は、パスワードを入力する必要があります。 |
次の手順では、orapkiユーティリティを使用して、Oracleウォレットから証明書と証明書要求をエクスポートする方法について説明します。
Oracleウォレットから証明書をエクスポートする構文は、次のとおりです。
orapki wallet export -wallet wallet_location -dn certificate_dn -cert certificate_filename
このコマンドによって、サブジェクトの識別名(-dn
)を持つ証明書が、ウォレットから-cert
で指定されたファイルにエクスポートされます。
Oracleウォレットから証明書要求をエクスポートする構文は、次のとおりです。
orapki wallet export -wallet wallet_location -dn certificate_request_dn -request certificate_request_filename
このコマンドによって、サブジェクトの識別名(-dn
)を持つ証明書要求が、ウォレットから-request
で指定されたファイルにエクスポートされます。
CRLは、orapki
を使用して管理する必要があります。このユーティリティによって、CRL発行者名のハッシュ化された値が作成され、システム内のCRLの位置が特定されます。orapki
を使用しないと、OracleサーバーはCRLの位置を特定して、PKIデジタル証明書を検証することができません。orapki
を使用したCRLの管理方法の詳細は、「証明書失効リストの管理」を参照してください。
この項では、前の項で説明したorapki
コマンドの例をいくつか紹介します。
例F-1では、セルフサイン証明書を含むウォレットを作成し、その証明書をファイルにエクスポートする手順を示します。
例F-1 セルフサイン証明書を含むウォレットの作成と証明書のエクスポート
次の手順は、ウォレットの作成、ウォレットへのセルフサイン証明書の追加、ウォレットの表示および証明書のエクスポートの方法を示しています。
ウォレットの作成
orapki wallet create -wallet /private/user/orapki_use/root
ウォレットは、/private/user/orapki_use/root
に作成されます。
ウォレットへのセルフサイン証明書の追加
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ビットです。
ウォレットの表示
orapki wallet display -wallet /private/user/orapki_use/root
このコマンドは、ウォレットに含まれる証明書を表示する場合に使用します。
証明書のエクスポート
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と同じ識別名が使用されていることに注意してください。
例F-2では、ユーザー証明書の作成に関連する様々な作業について説明します。
例F-2 ウォレットおよびユーザー証明書の作成
次の手順は、ウォレットの作成、証明書要求の作成、証明書要求のエクスポート、テスト要求からの署名された証明書の作成、証明書の表示、信頼できる証明書のウォレットへの追加およびユーザー証明書のウォレットへの追加を示しています。
自動ログインを使用可能にしたウォレットの作成
orapki wallet create -wallet /private/user/orapki_use/server -auto_login
このコマンドは、自動ログインが使用可能なウォレットを/private/user/orapki_use/server
に作成します。
ウォレットへの証明書要求の追加
orapki wallet add -wallet /private/user/orapki_use/server -dn 'CN=server_test,C=US' -keysize 2048
このコマンドは、作成されたウォレットに証明書要求を追加します。サブジェクトの識別名は、CN=server_test,C=US
です。指定されている鍵サイズは2048ビットです。
ファイルへの証明書要求のエクスポート
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
)に証明書要求をエクスポートします。
テスト目的の要求からの署名された証明書の作成
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
を作成します。この証明書は、前の手順で生成された証明書要求から作成されます。
証明書の表示
orapki cert display -cert /private/user/orapki_use/server/cert.txt -complete
このコマンドは、前の手順で生成された証明書を表示します。-complete
オプションを使用すると、シリアル番号や公開鍵など、証明書に関する追加情報を表示できます。
ウォレットへの信頼できる証明書の追加
orapki wallet add -wallet /private/user/orapki_use/server -trusted_cert -cert /private/user/orapki_use/root/b64certificate.txt
このコマンドは、信頼できる証明書b64certificate.txt
をウォレットに追加します。ユーザー証明書を追加する前に、信頼できるすべての証明書をユーザー証明書の証明連鎖に追加する必要があります。
ウォレットへのユーザー証明書の追加
orapki wallet add -wallet /private/user/orapki_use/server -user_cert -cert /private/user/orapki_use/server/cert.txt
このコマンドは、ユーザー証明書cert.txt
をウォレットに追加します。
この項では、次のorapki
コマンドについて説明します。
ここでは、このコマンドについて説明します。
orapki cert create [-wallet wallet_location] -request certificate_request_location -cert certificate_location -validity number_of_days [-summary]
-wallet
パラメータは、ユーザー証明書と証明書要求の署名に使用する秘密鍵を含むウォレットを指定します。
-request
パラメータ(必須)は、作成する証明書の証明書要求の位置を指定します。
-cert
パラメータ(必須)は、新規の署名された証明書がツールによって配置されるディレクトリ位置を指定します。
-validity
パラメータ(必須)は、現在の日付から起算したこの証明書の有効日数を指定します。
ここでは、このコマンドについて説明します。
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 username [-wallet wallet_location] [-summary]
-issuer
パラメータは、CRLを発行した認証局(CA)の名前を指定します。
-ldap
パラメータは、CRLを削除するディレクトリのホスト名とSSLポートを指定します。これは認証なしのディレクトリのSSLポートである必要があることに注意してください。
-user
パラメータは、ディレクトリ内のCRLサブツリーからCRLを削除する権限を持つディレクトリ・ユーザーのユーザー名を指定します。
-wallet
パラメータ(オプション)は、CRLを発行した認証局(CA)の証明書を含むウォレットの位置を指定します。このパラメータを使用すると、ディレクトリからCRLを削除する前に、CAの証明書に対してCRLの妥当性を検証するツールが起動します。
-summary
パラメータはオプションです。このパラメータを使用すると、削除されたCRL LDAPエントリを出力するツールを起動します。
ここでは、このコマンドについて説明します。
orapki crl display -crl crl_location [-wallet wallet_location] [-summary|-complete]
-crl
パラメータは、ディレクトリ内のCRLの位置を指定します。orapki crl list
コマンドを使用する場合に表示されるリストからCRLの位置を貼り付けると便利です。「orapki crl list」を参照してください。
-wallet
パラメータ(オプション)は、CRLを発行した認証局(CA)の証明書を含むウォレットの位置を指定します。このパラメータを使用すると、CRLを表示する前にCAの証明書に対してCRLの妥当性を検証するツールを起動します。
-summary
パラメータまたは-complete
パラメータを選択すると、次の情報が表示されます。
-summary
を選択すると、CRL発行者の名前とCRLの有効期間が含まれたリストが表示されます。
-complete
を選択すると、CRLに含まれる取り消されたすべての証明書のリストが表示されます。このオプションは、CRLのサイズによっては表示に時間がかかる場合があります。
ここでは、このコマンドについて説明します。
orapki crl hash
コマンドは、証明書の検証に使用するCRLのファイル・システム内での位置を特定するために、証明書失効リスト(CRL)発行者のハッシュ値を生成する場合に使用します。
orapki crl hash -crl crl_filename|URL [-wallet wallet_location] [-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 list
コマンドは、Oracle Internet Directoryに格納されているCRLのリストを表示する場合に使用します。このコマンドは、表示する特定のCRLを検索したり、ローカル・ファイル・システムにダウンロードするために、ブラウズするのに役立ちます。
ここでは、このコマンドについて説明します。
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_location] [-summary]
-crl
パラメータは、ディレクトリ位置またはディレクトリにアップロードするCRLが配置されているURLを指定します。
-ldap
パラメータは、CRLをアップロードするディレクトリのホスト名とSSLポートを指定します。これは認証なしのディレクトリのSSLポートである必要があることに注意してください。
-user
パラメータは、CRLをディレクトリ内のCRLサブツリーに追加する権限を持つディレクトリ・ユーザーのユーザー名を指定します。
-wallet
パラメータは、CRLを発行した認証局(CA)の証明書を含むウォレットの位置を指定します。このパラメータはオプションです。このパラメータを使用すると、CRLをディレクトリにアップロードする前に、CAの証明書に対してCRLの妥当性を検証するツールを起動します。
-summary
パラメータもオプションです。このパラメータを使用すると、CRL発行者の名前とCRLがディレクトリに格納されているLDAPエントリを表示するツールを起動します。
ここでは、このコマンドについて説明します。
証明書要求を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -dn user_dn -keySize 512|1024|2048
-wallet
パラメータは、証明書要求の追加先となるウォレットの位置を指定します。
-dn
パラメータは、証明書所有者の識別名を指定します。
-keySize
パラメータは、証明書の鍵サイズを指定します。
要求に署名するには、エクスポート・オプションを使用して要求をエクスポートします。「orapki wallet export」を参照してください。
信頼できる証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -trusted_cert -cert certificate_location
-trusted_cert
パラメータは、-cert
で指定された位置にある信頼できる証明書をウォレットに追加するツールを起動します。
ルート証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -dn certificate_dn -keySize 512|1024|2048 -self_signed -validity number_of_days
-self_signed
パラメータは、ルート証明書を作成するツールを起動します。
-validity
パラメータは必須です。このパラメータを使用して、現在の日付から起算したこのルート証明書の有効日数を指定します。
ユーザー証明書を追加する構文は、次のとおりです。
orapki wallet add -wallet wallet_location -user_cert -cert certificate_location
-user_cert
パラメータは、-cert
で指定された位置にあるユーザー証明書をウォレットに追加するツールを起動します。ユーザー証明書をウォレットに追加する前に、証明連鎖を構成するすべての信頼できる証明書を追加しておく必要があります。ユーザー証明書を追加する前に、すべての信頼できる証明書がウォレットにインストールされていないと、ユーザー証明書の追加は失敗します。
ここでは、このコマンドについて説明します。
orapki wallet create -wallet wallet_location [-auto_login]
-wallet
パラメータは、新規ウォレットの位置または自動ログインをオンにするウォレットの位置を指定します。
-auto_login
パラメータは、自動ログイン・ウォレットを作成するか、または-wallet
オプションで指定されたウォレットの自動ログインをオンにします。
ここでは、このコマンドについて説明します。
Oracleウォレットから証明書をエクスポートする構文は、次のとおりです。
orapki wallet export -wallet wallet_location -dn certificate_dn -cert certificate_filename
-wallet
パラメータは、証明書のエクスポート元であるウォレットの位置を指定します。
-dn
パラメータは、証明書の識別名を指定します。
-cert
パラメータは、エクスポートする証明書が含まれるファイルの名前を指定します。
Oracleウォレットから証明書要求をエクスポートする構文は、次のとおりです。
orapki wallet export -wallet wallet_location -dn certificate_request_dn -request certificate_request_filename
-request
パラメータは、エクスポートする証明書要求が含まれるファイルの名前を指定します。