5.4.6. 証明書プロファイルの使用およびカスタマイズ

証明書には、タイプとアプリケーションが異なります。これらは、企業ネットワークのシングルサインオン環境の確立、VPN のセットアップ、電子メールの暗号化、または Web サイトへの認証に使用できます。異なる種類のユーザーに対して同じタイプの証明書に対して異なる要件が存在する可能性があるのと同様に、これらすべての証明書の要件は異なる可能性があります。これらの証明書の特性は、証明書プロファイル で設定されます。Certificate Manager は、ユーザーまたはマシンが証明書を要求するときに登録フォームとして使用する一連の証明書プロファイルを定義します。

証明書プロファイル

証明書プロファイルは、認証方法、証明書の内容 (デフォルト)、内容の値の制約、証明書プロファイルの入力と出力の内容など、特定の種類の証明書の発行に関連するすべてを定義します。登録要求は証明書プロファイルに送信され、その証明書プロファイルで設定されたデフォルトと制約の対象となります。これらの制約は、要求が証明書プロファイルに関連付けられた入力フォームを介して送信されるか、他の手段を介して送信されるかに関係なく適用されます。証明書プロファイル要求から発行される証明書には、デフォルトで必要なコンテンツと、デフォルトのパラメーターで必要な情報が含まれています。制約は、証明書で許可されるコンテンツに対するルールを提供します。
たとえば、ユーザー証明書の証明書プロファイルは、証明書の有効期間を含む、その証明書のすべての側面を定義します。デフォルトの有効期間は 2 年に設定でき、この証明書プロファイルを介して要求された証明書の有効期間が 2 年を超えてはならないという制約をプロファイルに設定できます。ユーザーがこの証明書プロファイルに関連付けられた入力フォームを使用して証明書を要求すると、発行された証明書にはデフォルトで指定された情報が含まれ、2 年間有効です。ユーザーが、有効期間が 4 年の証明書を事前にフォーマットされた要求を提出した場合、制約により、このタイプの証明書の有効期間は最大 2 年となるため、要求は拒否されます。
発行する最も一般的な証明書プロファイルのセットが事前定義されました。これらの証明書プロファイルは、デフォルトと制約を定義し、認証方法を関連付け、証明書プロファイルに必要な入力と出力を定義します。

証明書プロファイルパラメーターの変更

デフォルトの証明書プロファイルのパラメーターは変更できます。これには、認証方法、デフォルト、各プロファイルで使用される制約、プロファイル内の任意のパラメーターに割り当てられた値、入力、および出力が含まれます。他のタイプの証明書用に新しい証明書プロファイルを作成したり、証明書タイプ用に複数の証明書プロファイルを作成したりすることもできます。特定のタイプの証明書に複数の証明書プロファイルがあり、同じタイプの証明書を異なる認証方法またはデフォルトと制約の異なる定義で発行できます。たとえば、SSL/TLS サーバー証明書の登録用に 2 つの証明書プロファイルがあり、1 つの証明書プロファイルは 6 カ月の有効期間の証明書を発行し、もう 1 つの証明書プロファイルは 2 年の有効期間の証明書を発行します。
入力は、登録フォームのテキストフィールドと、エンドエンティティーから収集する必要のある情報の種類を設定します。これには、証明書要求を貼り付けるためのテキスト領域の設定が含まれます。これにより、必要な要求情報を使用して、入力フォームの外部で要求を作成できます。入力値は、証明書の値として設定されます。デフォルトの入力は、Certificate System で設定できません。
出力は、正常な登録に対する応答ページがどのように表示されるかを指定します。通常は、ユーザーが読み取り可能な形式で証明書を表示します。デフォルトの出力には、結果の証明書の印刷可能なバージョンが表示されます。他の出力は、PKCS #7 など、登録の最後に生成される情報のタイプを設定します。
ポリシーセットは、プロファイルを通じて処理されるすべての証明書に付加される制約とデフォルトの拡張機能のセットです。拡張機能は、有効期間やサブジェクト名の要件などの証明書の内容を定義します。プロファイルは 1 つの証明書要求を処理しますが、1 つの要求に複数の証明書の情報を含めることができます。PKCS#10 リクエストには、公開鍵が 1 つ含まれています。CRMF 要求には複数の公開鍵 (つまり、複数の証明書要求) を含めることができます。プロファイルには複数のポリシーセットが含まれる場合があり、各セットは CRMF 要求内で 1 つの証明書要求を処理する方法を指定します。

証明書プロファイルの管理

管理者は、既存の認証プラグインまたはメソッドを証明書プロファイルに関連付けることにより、証明書プロファイルを設定します。デフォルトと制約を有効にして構成し、入力と出力を定義します。管理者は、既存の証明書プロファイルを使用したり、既存の証明書プロファイルを変更したり、新しい証明書プロファイルを作成したり、この PKI で使用されない証明書プロファイルを削除したりできます。
証明書プロファイルが設定されると、エージェントサービスページの Manage Certificate Profiles ページに表示され、エージェントは証明書プロファイルを承認して有効にすることができます。証明書プロファイルを有効にすると、エンドエンティティーページの Certificate Profile タブに表示され、エンドエンティティーは証明書プロファイルを使用して証明書を登録できます。
エンドエンティティーインターフェイスの証明書プロファイル登録ページには、エージェントによって有効にされた各証明書プロファイルへのリンクが含まれています。エンドエンティティーがこれらのリンクの 1 つを選択すると、その証明書プロファイルに固有の登録フォームを含む登録ページが表示されます。登録ページは、プロファイルに定義された入力から動的に生成されます。認証プラグインが構成されている場合、ユーザーを認証するために追加のフィールドが追加される場合があります。
エンドエンティティーが、エージェントが承認した (手動) 登録 (認証プラグインが設定されていない登録) に関連付けられた証明書プロファイル要求を送信すると、証明書要求はエージェントサービスインターフェースのキューに入れられます。エージェントは、登録のいくつかの側面を変更、要求、検証、キャンセル、拒否、更新、または承認することができます。エージェントは、リクエストを送信せずに更新したり、リクエストがプロファイルのデフォルトと制約に準拠していることを検証したりできます。この検証手順は検証のみを目的としており、リクエストが送信されることはありません。エージェントは、設定された制約に拘束されます。制約に違反するような方法でリクエストを変更することはできません。署名付き承認は即座に処理され、証明書が発行されます。
証明書プロファイルが認証方法に関連付けられている場合は、要求がすぐに承認され、ユーザーが認証に成功し、必要なすべての情報が提供され、要求が証明書プロファイルに設定された制約に違反しない場合は、証明書が自動的に生成されます。サブジェクト名や有効期間など、ユーザーが指定した設定を許可するプロファイルポリシーがあります。証明書プロファイルフレームワークは、発行した証明書の元の証明書要求に設定されたユーザー定義のコンテンツを保持することもできます。
発行された証明書には、証明書の延長や有効期間など、この証明書プロファイルのデフォルトで定義されたコンテンツが含まれています。証明書の内容は、デフォルトごとに設定された制約によって制限されます。1 つのプロファイルに複数のポリシー (デフォルトと制約) を設定し、ポリシーセット ID で同じ値を使用して各セットを区別できます。これは、暗号鍵と署名鍵が同じプロファイルに送信されるデュアルキー登録を処理する場合に特に便利です。サーバーは、受け取る各リクエストで各セットを評価します。1 つの証明書が発行されると、1 つのセットが評価され、その他のセットは無視されます。デュアルキーペアが発行されると、最初のセットは最初の証明書要求で評価され、2 番目のセットは 2 番目の証明書要求で評価されます。単一の証明書を発行するために複数のセット、またはデュアルキーペアを発行するために複数のセットは必要ありません。

証明書プロファイルのカスタマイズガイドライン

組織のプロファイルを、組織が使用する実際のニーズと予想される証明書の種類に合わせて調整します。
  • PKI で必要となる証明書プロファイルを決定します。発行される証明書のタイプごとに、少なくとも 1 つのプロファイルが必要です。証明書の種類ごとに複数の証明書プロファイルを用意して、特定の種類の証明書に対して異なる認証方法や異なるデフォルトや制約を設定することができます。管理インターフェイスで使用可能な証明書プロファイルはすべて、エージェントによって承認され、エンドエンティティーによって登録に使用されます。
  • 使用されていない証明書プロファイルを削除します。
  • 会社の証明書の特定の特性について、既存の証明書プロファイルを変更します。
    • 証明書プロファイルに設定されているデフォルト、デフォルトに設定されているパラメーターの値、または証明書の内容を制御する制約を変更します。
    • パラメーターの値を変更して、設定された制約を変更します。
    • 認証方法を変更します。
    • 入力ページのフィールドを制御する証明書プロファイルの入力を追加または削除して、入力を変更します。
    • 出力を追加または削除します。

5.4.6.1. SSL サーバー証明書への SAN 拡張機能の追加

Certificate System を使用すると、ルート以外の CA またはその他の Certificate System インスタンスのインストール時に、SSL サーバー証明書にサブジェクト代替名 (SAN) 拡張機能を追加できます。これを行うには、/usr/share/pki/ca/profiles/ca/caInternalAuthServerCert.cfg ファイルの指示に従い、pkispawn ユーティリティーに提供されている構成ファイルに次のパラメーターを追加します。
pki_san_inject
このパラメーターの値を True に設定します。
pki_san_for_server_cert
必要な SAN 拡張機能の一覧をコンマで区切って指定します。
以下に例を示します。
pki_san_inject=True
pki_san_for_server_cert=intca01.example.com,intca02.example.com,intca.example.com