web-dev-qa-db-ja.com

ルートCAを信頼せずに、Windowsの証明書を信頼することはできますか?

信頼されたルートCAとしてルートCAを信頼せずに、Windowsに証明書を信頼させることはできますか?

次の証明書チェーンがあるとしましょう。

Dept-Root-CA
Dept-Intermediate-1
Server-Certificate

Server-Certificateを信頼したいが、Dept-Root-CAは信頼したくありません。証明書に署名でき、サーバーがそれを信頼するためです。特定の操作のためにServer-Certificateの証明書を信頼してもよいと言っていても、Dept-Root-CAが適切に保護されていると信頼しても構わないというわけではありません。

ありがとう

14
bkr

いいえ。証明書に「Issued by:xxx」と記載されている限り、チェーン全体にわたってxxxも信頼する必要があります。自己署名証明書の場合は、信頼されたルートCAストアに置くことができます。同じエンティティに発行され、同じエンティティによって発行されるため、そのときに信頼されます。

しかし、証明書ベースのセキュリティの目的全体を完全に回避することは、一般的に実行可能でもあり、知覚的でもありません。

5
Ryan Ries

ええと...あなたは別の方法でその信頼情報をキャプチャできました

残念ながら少し複雑です。

独自のCAを作成し、CAで証明書に署名することにより、Dept-Intermediate-1(またはDept-Root-CA)の独自の相互署名発行者を作成します。ドメインの制限を追加することもできます。 「実際の」Dep-Intermediate-1が非アクティブ化されているか(できれば)、不明である場合、Windowsは代わりに信頼チェーンを使用します。

私の他の答えをここで参照してください: ルート証明書をドメインに制限する

これは、デジタル署名を使用してキーの所有権の表明を表す、証明書の動作方法です。証明書と鍵がサーバーに属していることを表明したいので、自分の権限の下で自分で署名し、システムに信頼するように伝えます。

証明書には、SSHキーが提供するものより上に、CA階層のないなしのユーティリティがまだたくさんあります。その一部はそれらに対する制限です。鍵の使用法、有効期限、失効情報、ドメイン制限など。その他の部分は、識別情報です。キーを所有するサーバー、発行者のID、適用されるCAポリシー、キーストレージ情報など。

5
davenpcj