web-dev-qa-db-ja.com

中間CAをクライアント証明書のみに署名するように制限できますか?

[〜#〜] scep [〜#〜] を使用して、おそらく [〜#〜] adcs [〜#〜] を使用してクライアント証明書を配布したいと思います。すでに内部オフラインルートCAが配置されており(安全に安全に保管され、中間認証局の署名と取り消しにのみ使用されます)、このルートはすべての内部クライアントとサーバーによって信頼されています。

クライアント証明書に署名するために、それだけができる中間体、つまりクライアント証明書に署名することを作成したいと思います。具体的には、この中間体でサーバー証明書に署名できないようにしたい(中間体は必然的にオンラインシステム上にある必要があるため、侵害された場合の被害を制限したい)。

これも可能ですか?

4
Roel Harbers

クライアント認証証明書EKU(1.3.6.1.5.5.7.3.2)のみを使用して中間CAを作成する場合、サーバー認証証明書を承認できるようにテンプレートが変更されたとしても、チェーンウォークは失敗します。

Windowsでは、これはステータスがCERT_TRUST_IS_NOT_VALID_FOR_USAGE(または、.NETではX509ChainStatusFlags.NotValidForUsage)のリーフ/ EE証明書でエラーを報告します。

5
bartonjs

AD統合CAを使用すると、CAが発行できる証明書テンプレートを指定できます。だから、はいできます。

ただし、注意:証明書テンプレートはフォレストルートに保存されます。したがって、フォレストルート管理者は利用可能な証明書テンプレートを変更できます。サブCAのドメイン管理者またはローカル管理者は、サブCAによって提供されるテンプレートを変更できます。したがって、それに応じてテンプレートのアクセス権を追加で設定する必要があります。

1
cornelinux