うーん...私が考えているのは、ユーザーごとに証明書を発行し、アプリケーションごとに異なる証明書を作成することを計画しているということです。したがって、10 人のユーザーがそれぞれ 3 つのアプリケーションを使用している場合、30 の証明書を作成することになります。
また、証明書には、アプリケーション内でのユーザーの役割と、ユーザーの電子メールも記述されています。
実を言うと、私はこのすべての情報を証明書に入れるつもりはありません。PKI のプロビジョニングは困難です。一般に、ユーザーは証明書の設定に苦労し、証明書の再発行は面倒です。一般に、PKI 展開戦略では、発行する必要がある証明書の数を最小限に抑え、リスクとのバランスを取ろうとします。
私が見た最も典型的なシナリオは、ユーザーが自分自身を識別するために使用する単一の証明書を与えられるというものです。証明書には、ユーザーの名前と電子メールが含まれています。ただし、通常、ユーザーの役割や特定のアプリケーションは含まれません。代わりに、この情報はアクセス制御サーバーで管理され、ユーザーがシステムにアクセスするときに照会されます。これにより、証明書を再発行することなく、ユーザーが使用できる役割とアプリケーションを変更できます。Active Directory や Select Access などの製品は、この種のことを行います。
用途ごとに個別の証明書に分ける理由は、特定の種類のリスクを具体的に制御するためです。たとえば、1 人のユーザーが 1 つのマシンで高リスクの操作を実行し、別の潜在的に危険なマシンで低リスクの操作を実行している場合、2 つの証明書 (各マシンに 1 つ) を持っている場合があるため、証明書を取り消すことができます。リスクの高い機能を無効にすることなく、リスクの低い証明書を削除します。すべての証明書を同じマシンに保存する場合は、ユーザーごとに証明書を 1 つだけ配布する方が簡単です。
とはいえ、ロールごとにアプリケーションごとにユーザーごとに1つの証明書を発行する必要がある場合は、アプリケーションのGUID、ロール、および電子メールを識別名に詰め込む方法を見つけることをお勧めします.
キー使用法または拡張キー使用法から多くのマイレージを取得することはできません-これらには非常に具体的な価値があり、説明したい情報を伝えるとは思えません. また、それらは他のさまざまなアプリケーションによって特定の方法で使用されるため、他のものと統合する必要がある場合は、注意が必要です.