付録B certmonger を使った作業
マシンの認証管理には、マシン証明書の管理が含まれます。クライアントでは、IdM は certmonger サービスで証明書ライフサイクルを管理します。これは、IdM が提供する認証局 (CA) と連携します。
certmonger
デーモンとそのコマンドラインクライアントを使用すると、公開鍵と秘密鍵のペア生成や証明書リクエストの作成、CA に対する署名のリクエスト提出といった処理を簡素化することができます。証明書の管理の一環として、certmonger
デーモンは証明書の有効期限を監視し、期限が切れそうになった証明書を更新することができます。certmonger
が監視する証明書はファイルで追跡しており、このファイルは設定可能なディレクトリー内に保存します。デフォルトの場所は /var/lib/certmonger/requests
です。
certmonger は IdM getcert コマンドを使用して、すべての証明書を管理します。「例: 異なる CA 設定を使用したインストール」で説明しているように、IdM サーバーは、さまざまな種類の認証局を使用するように設定できます。最も一般的な (および推奨) 設定は、完全な CA サーバーを使用することにありますが、より限定的な自己署名 CA を使用することもできます。IdM バックエンドと通信するために certmonger で使用される getcert コマンドは、使用する CA の種別によって異なります。この ipa-getcert コマンドは完全な CA で使用されますが、selfsign-getcert コマンドは自己署名の CA で使用されます。
注記
一般的なセキュリティー上の問題により、自己署名証明書は通常実稼働環境で使用されませんが、開発およびテストに使用することができます。
B.1. certmonger で証明書の要求
IdM CA で、certmonger は ipa-getcert コマンドを 使用します。
証明書および鍵は、プレーンテキストファイル (
.pem
) または NSS データベース (証明書のニックネームで識別される) でローカルに保存されます。証明書をリクエストする際には、リクエストで証明書の保存場所とニックネームを特定します。たとえば、以下のようになります。
# ipa-getcert request -d /etc/pki/nssdb -n Server-Cert
この
/etc/pki/nssdb
ファイルはグローバル NSS データベースで、Server-Cert
はこの証明書のニックネームです。証明書のニックネームはこのデータベース内で一意のものである必要があります。
IdM サービスと使用するように証明書を要求する場合は、サービスプリンシパルの指定に
-K
オプションが必要になります。そうでない場合、certmonger は証明書がホスト用であると仮定します。この -N
オプションは、証明書サブジェクト DN を指定し、サブジェクトベース DN が IdM サーバーのベース DN と一致するか、要求が拒否される必要があります。
$ ipa-getcert request -d /etc/httpd/alias -n Server-Cert -K HTTP/client1.example.com -N 'CN=client1.example.com,O=EXAMPLE.COM'
例B.1 サービスにおける certmonger の使用
$ ipa-getcert request -r -f /etc/httpd/conf/ssl.crt/server.crt -k /etc/httpd/conf/ssl.key/server.key -N CN=`hostname --fqdn` -D `hostname` -U id-kp-serverAuth
このオプションは、自己署名証明書 (selfsign-getcert) と最終証明書の希望の設定を使用しているかどうかや、その他の設定によって異なります。例B.1「サービスにおける certmonger の使用」で、これらは一般的なオプションです。
- この
-r
オプションは、鍵ペアがすでに存在する場合に証明書を自動的に更新します。これは、デフォルトで使用されます。 -f
オプションは、指定したファイルに証明書を保存します。-k
は、鍵を特定ファイルに保存するか、鍵のファイルが存在する場合は、ファイル内の鍵を使用します。-N
オプションはサブジェクト名を指定します。- この
-D
オプションは、DNS ドメイン名を指定します。 - この
-U
オプションは、拡張キー使用フラグを設定します。