第14章 証明書/キー暗号トークンの管理


この章では、さまざまなシナリオの証明書のインポートおよび検証方法など、暗号化トークンで証明書/鍵のデータベースを管理する方法を説明します。

14.1. certutil および PKICertImport

certutil コマンドは、Network Security Services (NSS) によって提供されます。certutil は、証明書の検証およびインポートに使用されます。ただし、certutil の使用方法に関する基本的な概要を以下に示します。ただし、PKICertImport は、証明書を安全に検証およびインポートするために選択するためのラッパースクリプトです。これには、certutil を使用して、複数のコマンドの呼び出しが必要で、正しい使用方法はこのドキュメントの範囲外です。

14.1.1. certutil の基本的な使用方法

certutil [command] [opt][options]

certutil 呼び出しでは、通常は大文字で表されるコマンドフラグと、コマンドの動作を制御する一連のオプションを使用します。オプションで値を指定する場合、その値の名前は "<" と ">" で囲みます。

14.1.2. PKICertImport の基本的な使用方法

PKICertImport [opt][options]

PKICertImport 呼び出しでは、指定された証明書を検証およびインポートする一連のオプションを使用します。certutil の広範なユースケースとは異なり、PKICertImport は、証明書を安全にインポートおよび検証することのみに重点を置いています。利用可能なオプションの詳細は、「一般的な certutil および PKICertImport オプション」 を参照してください。

注記

PKICertImport は、実行中に NSS DB または HSM のパスワードを複数回要求します。これは、PKICertImport と NSS DB との対話を複数回使用する必要があるためです。NSS DB パスワードを繰り返し入力しなくてもよいように、-f <filename> でパスワードファイルを指定します。完了したら、パスワードファイルを必ず削除してください。

14.1.3. certutil の一般的なコマンド

以下のコマンドは certutil 固有のもので、いくつかの一般的なコマンドの概要を示します。PKICertImport は、これらのコマンドフラグと互換性がなく、これらのコマンドフラグも必要ありません。

certutil -A

-A コマンドは、証明書の "追加" を示しています。インポートする証明書 (-i)、その証明書のニックネーム (-n) および一連の信頼フラグ (-t) が必要です。

certutil -V

-V コマンドは、証明書の "検証" を示しています。検証には、証明書のニックネーム (-n) と、実行する検証 (-u) のタイプが必要です。

certutil -D

-D コマンドは、証明書の "削除" を示しています。削除する証明書のニックネーム (-n) が必要です。

証明書の公開鍵部分のみが削除され、秘密鍵が存在する場合は削除されないことに注意してください。

certutil -M

-M コマンドは、証明書の "変更" を示しています。変更する証明書ニックネーム (-n) と、証明書を提供する一連の信頼フラグ (-t) が必要です。

certutil -L

-L コマンドは、証明書またはすべての証明書の "リスト表示" を示しています。ニックネームオプション (-n) を指定すると、その証明書に関する詳細情報が表示されます。それ以外の場合は、存在するすべての証明書に関する一般的な情報がリスト表示されます。

certutil -L の結果として、各証明書のニックネームとその信頼情報が表示されます。以下に例を示します。

表14.1 証明書のニックネームと信頼情報
証明書のニックネーム信頼属性 (SSL、S/MIME、JAR/XPI)

caSigningCert pki-ca1

CT、C、C

注記

certutil -L で表示される信頼属性は、-t オプションで指定した内容に対応します。

certutil -L はデータベースを変更しないため、必要な回数だけ安全に実行できます。

14.1.4. 一般的な certutil および PKICertImport オプション

以下の手順に従って、値は特定のデプロイメントシナリオに適し、正しい値であることを確認します。これらのオプションは PKICertImport でも利用できます。

-n <nickname>

-n <nickname> オプションは、証明書のニックネームを指定します。これは任意のテキストを指定でき、証明書への参照としてのみ使用されます。一意である必要があります。

設定に応じて、この値を更新してください。

-d <directory>

-d <directory> オプションは、使用中の NSS DB ディレクトリーへのパスを指定します。通常、このディレクトリーはすでに存在し、"." を使用して現在のディレクトリーを参照します。

設定に応じて、この値を更新してください。

-t <trust>

-t <trust> オプションは、証明書の信頼レベルを指定します。

信頼には、以下の 3 つのカテゴリーがあります。

  • TLS の信頼
  • メールの信頼
  • オブジェクト署名の信頼

各信頼の位置には、信頼のレベルを指定する信頼文字を 1 つまたは複数追加できます。使用する信頼文字は、cC および T です。

  • c は、この証明書が認証局 (CA) である必要があることを示しています。
  • C は、サーバー証明書に署名するための信頼できる認証局であることを示しています (C は小文字の c であるため、両方を指定する必要はありません)。
  • T は、この証明書が、クライアント証明書に署名するための信頼できる機関であることを示しています (T は小文字の c であるため、Tc の両方を指定する必要はありません)。

各位置の信頼フラグを指定するには、文字をコンマで区切ります。たとえば、オプション -t CT,C,c は、クライアントとサーバーの TLS 証明書への署名、サーバーの電子メール証明書 (S/MIME) への署名に信頼されており、オブジェクトの署名に有効な CA (信頼されていませんが) であることを意味します。

  • これにより、この証明書が別の証明書に署名し、それがオブジェクト署名に使用されると、その証明書が無効になります。

信頼なし (または信頼の欠如) は、-t ,, を使用して指定できます。

データベース内のすべての証明書のトラストレベルを表示するには、以下を実行します。

  • certutil -L -d
  • 各証明書のニックネームがリスト表示され、行の最後に信頼フラグが指定されます。

-h オプションの HSM に関する注記を参照してください。

信頼レベルは、certutil の man ページで指定されていることに注意してください。このドキュメントを参照するには、certutil が正しくインストールされているシステムで man certutil コマンドを実行します。

-h <HSM>

-h <HSM> オプションは、操作を実行する HSM の名前を指定します。

HSM は信頼を保管できないため、-h オプションは、-t オプションと互換性がありません。信頼を保存できるのは NSS DB だけなので、-h <HSM> と一緒に certutil -A コマンドや certutil -M コマンドを使用しても失敗します。代わりに、-h オプションなしで、別の certutil -M コマンドで必要な信頼レベルを指定します。

設定に応じて、この値を更新してください。

-e

-e オプションを指定すると、certutil -V コマンドと組み合わせて使用する場合に署名の有効性もチェックされます。PKICertImport は、必ず証明書署名の検証を実行し、-e オプションを認識しません。

-a

-a オプションは、対象となるキーが PEM (ASCII) 形式であることを指定します。

-i <certificate>

-i <certificate> オプションは、証明書へのパスを指定します。これは、インポートする証明書へのパスを指定するために certutil -A コマンドで使用されます。

設定に応じて、この値を更新してください。

-u <usage>

-u <usage> オプションは、certutil -V コマンドと併用する際に、検証する証明書の使用を指定します。

次のセクションで参照されるいくつかの使用法の文字があります。

  • -u C は、クライアントの TLS 証明書検証を表します。これは証明書を許可しますが、有効期限と署名を確認することに注意してください。
  • -u V は、サーバーの TLS 証明書検証を表します。これにより CA 証明書が拒否され、有効期限と署名を確認することに注意してください。
  • -u L は、CA TLS 証明書の検証に使用します。これにより信頼フラグが検証され (c が存在するか確認)、鍵の使用方法を確認して、キーが CA キーであることを確認します。これは、有効期限および署名も確認します。
  • -u O は、OCSP ステータスレスポンダー証明書を検証することを表します。これにより、期限切れと署名を確認することに注意してください。
  • -u J オブジェクト署名証明書の検証を表します。これにより、期限切れと署名を確認することに注意してください。

誤った使用方法オプションが指定されているり、証明書の信頼フラグが正しくない場合 (CA TLS 証明書の c フラグがないなど)、certutil -V は誤った結果となります。

注記

使用方法の詳細情報は、certutil の man ページに記載されています。このドキュメントを参照するには、certutil が正しくインストールされているシステムで man certutil コマンドを実行します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat