12.2. certmonger での自己署名証明書のリクエスト

certmonger で証明書をリクエストするには、getcert request ユーティリティーを使用します。
証明書と鍵は .pem 拡張子を付けてプレーンテキストファイル内でローカルに保存されるか NSS データベースで保存され、証明書のニックネームで識別されます。証明書をリクエストする際には、リクエストで証明書の保存場所とニックネームを特定します。例を示します。
[root@server ~]# selfsign-getcert request -d /etc/pki/nssdb -n Server-Cert
/etc/pki/nssdb ファイルはグローバルの NSS データベースで、Server-Cert はこの証明書のニックネームになります。証明書のニックネームはこのデータベース内で一意のものである必要があります。
証明書を生成するこのコマンドで使用可能なオプションは、他の設定に加えて、リクエストしている証明書の種類や最終的な証明書で必要な設定によって異なります。
  • -r は、鍵のペアがすでに存在している場合で、証明書の有効期限が切れそうになると、自動的に証明書を更新します。このオプションはデフォルトで使用されます。
  • -f は、証明書を特定ファイルに保存します。
  • -k は、鍵を特定ファイルに保存するか、鍵のファイルが存在する場合は、ファイル内の鍵を使用します。
  • -K は、証明書を使用するサービスの Kerberos プリンシパル名を提供します。IdM サーバーからの証明書をリクエストしている場合は -K は必須となり、自己署名またはローカル署名の証明書をリクエストしている場合は任意となります。
  • -N は、サブジェクト名を提供します。
  • -D は、subjectAltName 値として DNS ドメイン名が証明書に含まれるようリクエストします。
  • -U は、拡張鍵使用フラグを設定します。
  • -A は、subjectAltName 値として IP アドレスが証明書に含まれるようリクエストします。
  • -I はタスクの名前を設定します。certmonger はこの名前を使ってストレージの場所とリクエストオプションの組み合わせを参照します。この名前は、getcert list コマンドの出力にも表示されます。このオプションを指定しないと、certmonger は自動生成の名前を割り当てます。
IdM にあるような実際の CA は、CA 自体のポリシーにしたがって、署名リクエストで指定した -K-N-D-U-A などのオプションを無視することができます。たとえば、IdM では -K-N がローカルホスト名と一致している必要があります。一方で、selfsign-getcert および local-getcert コマンドを使用して生成した証明書は、これらのコマンドがポリシーを強制しないので、指定したオプションに一致したものになります。

例12.1 サービスにおける certmonger の使用

[root@server ~]# selfsign-getcert request -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