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
ユーティリティは、テスト用の署名付き証明書を作成する便利で手軽な方法を提供します。
テスト用の署名付き証明書を作成するには、次のコマンドを使用します。
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 モジュール・コマンドで必須です。 |
この項の内容は次のとおりです。
Oracle PKCS#12ウォレット(ewallet.p12
)を作成するには、次のコマンドを使用します。
orapki wallet create -wallet wallet_location [-pwd password]
コマンドラインでパスワードを指定していない場合、このコマンドではウォレットのパスワードの入力と再入力を求められます。-wallet
で指定された場所にウォレットが作成されます。
注意: セキュリティ上の理由から、コマンドラインにパスワードを指定しないことをお薦めします。パスワードの入力は、求められたときに行ってください。 |
パスワードを必要としない自動ログイン・ウォレット(cwallet.sso
)を作成するには、次のコマンドを使用します。
orapki wallet create -wallet wallet_location -auto_login_only
このコマンドでは、開くためにパスワードを必要としない自動ログイン・ウォレット(cwallet.sso
)が作成されます。パスワードを使用しないでウォレットを変更または削除することもできます。ファイル・システム権限によって、このような自動ログイン・ウォレットに必要なセキュリティが提供されます。
PKCS#12ウォレットに関連付けられた自動ログイン・ウォレットを作成することもできます。自動ログイン・ウォレットを開くのにパスワードは必要ありません。ただし、ウォレットを変更または削除するには、関連付けられたPKCS#12ウォレットのパスワードを入力する必要があります。PKCS#12ウォレットを更新した場合、関連付けられた自動ログイン・ウォレットも更新されます。
PKCS#12ウォレット(ewallet.p12
)に関連付けられた自動ログイン・ウォレット(cwallet.sso
)を作成するには、次のコマンドを使用します。
orapki wallet create -wallet wallet_location -auto_login [-pwd password]
このコマンドでは、自動ログインが有効なウォレット(cwallet.sso
)が作成され、PKCS#12ウォレット(ewallet.p12
)に関連付けられます。コマンドラインでパスワードを指定していない場合、このコマンドではPKCS#12ウォレットのパスワードの入力を求められます。
注意: セキュリティ上の理由から、コマンドラインにパスワードを指定しないことをお薦めします。パスワードの入力は、求められたときに行ってください。 |
wallet_location
がPKCS#12ウォレットにすでに含まれている場合は、その自動ログインが有効になります。既存のPKCS#12ウォレットの自動ログインを有効にするには、そのパスワードを入力する必要があります。
wallet_location
がPKCS#12ウォレットに含まれていない場合は、新しいPKCS#12ウォレットが作成されます。新しいPKCS#12ウォレットのパスワードを指定する必要があります。
PKCS#12ウォレットの自動ログイン機能をオフにする場合は、Oracle Wallet Managerを使用します。
ローカルの自動ログイン・ウォレットを作成することもできます。ローカルの自動ログイン・ウォレットを別のコンピュータに移動することはできません。それらは作成されたホストで使用する必要があります。
ローカルの自動ログイン・ウォレットを開くのにパスワードは必要ありません。ただし、ウォレットを変更または削除するには、関連付けられたPKCS#12ウォレットのパスワードを入力する必要があります。PKCS#12ウォレットを更新した場合、関連付けられた自動ログイン・ウォレットも更新されます。
ローカルの自動ログイン・ウォレットを作成するには、次のコマンドを使用します。
orapki wallet create -wallet wallet_location -auto_login_local [-pwd password]
このコマンドでは、自動ログイン・ウォレット(cwallet.sso
)が作成されます(自動ログイン・ウォレットが作成されるコンピュータおよび自動ログイン・ウォレットを作成したユーザーの両方にローカル)。これは、PKCS#12ウォレット(ewallet.p12
)に関連付けられます。コマンドラインでパスワードを指定していない場合、このコマンドではPKCS#12ウォレットのパスワードの入力を求められます。
注意: セキュリティ上の理由から、コマンドラインにパスワードを指定しないことをお薦めします。パスワードの入力は、求められたときに行ってください。 |
Oracleウォレットを表示するには、次のコマンドを使用します。
orapki wallet display -wallet wallet_location
このコマンドを使用すると、ウォレットに含まれている証明書リクエスト、ユーザー証明書および信頼できる証明書が表示されます(これらは拡張子.p12
のバイナリPKCS12
ファイルであることが必要です)。他のファイルでは失敗します。
ウォレットのパスワードを変更するには、次のコマンドを使用します。
orapki wallet change_pwd -wallet wallet_location [-oldpwd password ] [-newpwd password]
このコマンドでは、現在のウォレットのパスワードが新しいパスワードに変更されます。コマンドラインでパスワードを指定していない場合、このコマンドでは新旧のパスワードを求められます。
注意: セキュリティ上の理由から、コマンドラインでパスワード・オプションを指定しないことをお薦めします。パスワードの入力は、求められたときに行ってください。 |
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]
注意: セキュリティ上の理由から、コマンドラインにパスワードを指定しないことをお薦めします。パスワードの入力は、求められたときに行ってください。 |
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
コマンドの例を示します。
例E-1では、自己署名証明書を含むウォレットを作成し、証明書をファイルにエクスポートする手順を示します。
例E-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と同じであることに注意してください。
例E-2では、ユーザー証明書の作成に関連する様々な作業について説明します。
例E-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_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|-auto_login_local]
-wallet
パラメータは、新しいウォレットの場所または自動ログインを有効にするウォレットの場所を指定します。
-auto_login
パラメータにより、自動ログイン・ウォレットが作成されます。または、-wallet
オプションで指定されたウォレットの自動ログインが有効になります。
-auto_login_local
パラメータにより、ローカル自動ログイン・ウォレットが作成されます。または、-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
パラメータは、エクスポートされる証明書リクエストを含むファイルの名前を指定します。