Demo CA は、最新の CA のベスト プラクティスに従っています。これには、2 レベルの CA 証明書の使用が含まれます。自己署名されたルート証明書があります。ルート証明書を使用して中間証明書が署名され、CA が発行したエンティティ (クライアントおよびサーバー) 証明書が中間証明書によって署名されます。
Demo CA でのこの構造の使用は、公開 CA および多くの内部組織 CA を模倣しており、Enterprise Server 管理者は証明書チェーンがどのように構成されているかを確認できます。証明書チェーンは、エンティティからルートまでの証明書の完全なコレクションです。TLS 会話の参加者 (クライアントまたはサーバー) が相手側から証明書を受け取る際には、証明書を検証するために使用するプロセスの一環として、エンティティ証明書から信頼済みルート証明書までのチェーン全体が再構築されます。送信者はエンティティ証明書のみを送信する場合もありますが、推奨される方法は中間証明書をチェーンに含め、問題解決を支援するためにルート証明書自体もできる限り含めることです。受信側では、信頼済み証明書
(トラスト アンカーとも呼ばれる) のコレクションにルート証明書だけでなく中間証明書も含めることで、相互運用性を改善できます。
各証明書はプライベート キーに関連付けられており、プライベート キーは別のファイルに含まれることも、PKCS#12 (.p12) などのファイル形式のように証明書と同じファイルに含まれることもあります。プライベート キーは、証明書を使用してメッセージに署名したり ID を証明したりするために必要です。ID を検証するために受信者が必要とするものではありません。たとえば、サーバー証明書を使用するようにエンタープライズ サーバー リスナーを構成する場合、その証明書のプライベート キーも必要になります。ただし、Demo CA のルート証明書および中間証明書を信頼済みとして構成する際には、それらのキーは必要ありません。
プライベート キーは、通常、パスフレーズを使用して保護されます。Demo CA スクリプトでは、プライベート キーを作成して使用する際にパスフレーズの入力を求められます。セキュリティのために Demo CA 証明書を使用する場合は、開発システムまたはテスト
システムでエンタープライズ サーバー インスタンスを保護するためであっても、これらのパスフレーズを安全に保管する必要があります。
要確認: ネットワークに侵入した攻撃者は、開発システムおよびテスト システムを利用して攻撃を拡大する可能性があります。
Demo CA スクリプトが実行されると、証明書、およびエンティティ証明書のプライベート キーがエンティティ ディレクトリ ツリー内に配置されます。これには次のものがあります。
- CAs という名前のディレクトリ。これには、次の項目が含まれます。
- CARootECCert.pem:PEM 形式の Demo CA ルート証明書。証明書の内容のテキスト表現が含まれます。「EC」は、ECC (楕円曲線暗号) 証明書であることを示します。
- CARootECCert.p7b:PKCS#7 形式のルート証明書。証明書をインポートするために一部のソフトウェアで使用されます。
- EC_CAint.pem:中間 CA 証明書。
- EC_CAcollection.pem:単一ファイル内のルート証明書および中間証明書。通常は、クライアント証明書を受け入れるようにエンタープライズ サーバー リスナーを構成する場合など、Demo CA 証明書を検証するために信頼ストアを指定する必要がある際に使用するファイルです。
- EC_CAcollection.p7b:上記の PKCS#7 形式のもの。Windows 証明書マネージャーへのインポートなどに適しています。
- 通常は Demo CA を実行したシステムの名前が付けられたディレクトリ。CreateNewUserCerts スクリプトを複数回実行する場合は、スクリプトに指定した共通名 (CN) ごとに 1 つのディレクトリがここに存在することになります。通常、このディレクトリには次の項目が含まれます。
- 証明書署名要求ファイル (拡張子 .csr):CA に証明書を要求するために使用します。
- clientcert_*.:さまざまな種類の「マシン」クライアント証明書およびそのプライベート キーであり、Demo CA が実行されたシステムのホスト名によってクライアント プログラムがサーバーに対して自身を識別するために使用できます。上記の .pem および .p7b 形式に加えて、.p12 (PKCS#12) ファイルがあります。PKCS#12 には証明書チェーンとキーの両方が含まれているため、Windows 証明書マネージャーなどの証明書インポート機能を持つシステムにインポートする場合に便利です。証明書とキー ファイルの両方に
.p12 ファイルを指定すると、Enterprise Server で PKCS#12 ファイルを使用することもできます。
- clientusercert_*.:clientcert ファイルに似ていますが、クライアントをマシンではなくユーザーとして識別します。具体的には、Demo CA スクリプトを実行したユーザーのオペレーティング システム ユーザー名を使用します。クライアント証明書を許可または要求するアプリケーションでは、クライアント
マシンを識別するクライアント証明書が必要となる場合もあれば、クライアント ユーザーを識別する証明書が必要となる場合もあります。そのため、Demo CA では両方が生成されます。
- srvcert_*.:Demo CA によって生成されたサーバー証明書およびプライベート キーです。これは、Demo CA が実行されたマシンを、その完全修飾ドメイン名によって、またスクリプトで入力を求められた際に Demo CA ユーザーが指定した代替名または
IP アドレスによって識別します。
Demo CA によって作成されたその他のディレクトリは、CA に必要なファイルを保持します。ルート CA 証明書用に 1 つ、および中間証明書用に 1 つのディレクトリがあります。これらのディレクトリの内容については、必要に応じて確認できますが、Enterprise Server を TLS 用に構成する際には必要ありません。
短期間の試験以外の目的で Demo CA を使用する場合は、中断を回避できるように、そのコンテンツをバックアップすることをお勧めします。